diff options
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp index 66d2e6a70..74ca77216 100644 --- a/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp +++ b/src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp | |||
| @@ -94,7 +94,8 @@ StagingBufferPool::StagingBufferPool(const Device& device_, MemoryAllocator& mem | |||
| 94 | .flags = 0, | 94 | .flags = 0, |
| 95 | .size = STREAM_BUFFER_SIZE, | 95 | .size = STREAM_BUFFER_SIZE, |
| 96 | .usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | | 96 | .usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | |
| 97 | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT , | 97 | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | |
| 98 | VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, | ||
| 98 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, | 99 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, |
| 99 | .queueFamilyIndexCount = 0, | 100 | .queueFamilyIndexCount = 0, |
| 100 | .pQueueFamilyIndices = nullptr, | 101 | .pQueueFamilyIndices = nullptr, |
| @@ -253,7 +254,8 @@ StagingBufferRef StagingBufferPool::CreateStagingBuffer(size_t size, MemoryUsage | |||
| 253 | .size = 1ULL << log2, | 254 | .size = 1ULL << log2, |
| 254 | .usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | | 255 | .usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | |
| 255 | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | | 256 | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | |
| 256 | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT , | 257 | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | |
| 258 | VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, | ||
| 257 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, | 259 | .sharingMode = VK_SHARING_MODE_EXCLUSIVE, |
| 258 | .queueFamilyIndexCount = 0, | 260 | .queueFamilyIndexCount = 0, |
| 259 | .pQueueFamilyIndices = nullptr, | 261 | .pQueueFamilyIndices = nullptr, |
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 13d953772..d82782f1c 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -796,6 +796,16 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 796 | ext_vertex_input_dynamic_state = false; | 796 | ext_vertex_input_dynamic_state = false; |
| 797 | } | 797 | } |
| 798 | } | 798 | } |
| 799 | if (ext_extended_dynamic_state_2 && is_radv) { | ||
| 800 | const u32 version = (properties.driverVersion << 3) >> 3; | ||
| 801 | if (version < VK_MAKE_API_VERSION(0, 22, 3, 1)) { | ||
| 802 | LOG_WARNING( | ||
| 803 | Render_Vulkan, | ||
| 804 | "RADV versions older than 22.3.1 have broken VK_EXT_extended_dynamic_state2"); | ||
| 805 | ext_extended_dynamic_state_2 = false; | ||
| 806 | ext_extended_dynamic_state_2_extra = false; | ||
| 807 | } | ||
| 808 | } | ||
| 799 | sets_per_pool = 64; | 809 | sets_per_pool = 64; |
| 800 | 810 | ||
| 801 | const bool is_amd = | 811 | const bool is_amd = |