summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_staging_buffer_pool.cpp6
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp10
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 =