summaryrefslogtreecommitdiff
path: root/src/video_core/vulkan_common
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-01-24 20:21:11 -0300
committerGravatar ReinUsesLisp2021-01-24 20:21:11 -0300
commit6a0143400fe427012baed198a88946de73ab63c6 (patch)
tree87b8a9b9e183367f4e23850cd0b083da88210361 /src/video_core/vulkan_common
parentMerge pull request #5796 from ReinUsesLisp/vertex-a-bypass-vk (diff)
downloadyuzu-6a0143400fe427012baed198a88946de73ab63c6.tar.gz
yuzu-6a0143400fe427012baed198a88946de73ab63c6.tar.xz
yuzu-6a0143400fe427012baed198a88946de73ab63c6.zip
vulkan_device: Lift VK_EXT_extended_dynamic_state blacklist on RDNA
It seems to be safe to use this on new drivers.
Diffstat (limited to 'src/video_core/vulkan_common')
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp23
1 files changed, 0 insertions, 23 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 37d7b45a3..5b4209c72 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -84,21 +84,6 @@ VkFormatFeatureFlags GetFormatFeatures(VkFormatProperties properties, FormatType
84 } 84 }
85} 85}
86 86
87[[nodiscard]] bool IsRDNA(std::string_view device_name, VkDriverIdKHR driver_id) {
88 static constexpr std::array RDNA_DEVICES{
89 "5700",
90 "5600",
91 "5500",
92 "5300",
93 };
94 if (driver_id != VK_DRIVER_ID_AMD_PROPRIETARY_KHR) {
95 return false;
96 }
97 return std::any_of(RDNA_DEVICES.begin(), RDNA_DEVICES.end(), [device_name](const char* name) {
98 return device_name.find(name) != std::string_view::npos;
99 });
100}
101
102std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::PhysicalDevice physical) { 87std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::PhysicalDevice physical) {
103 static constexpr std::array formats{ 88 static constexpr std::array formats{
104 VK_FORMAT_A8B8G8R8_UNORM_PACK32, 89 VK_FORMAT_A8B8G8R8_UNORM_PACK32,
@@ -436,14 +421,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
436 "Blacklisting RADV for VK_EXT_extended_dynamic state, likely due to a bug in yuzu"); 421 "Blacklisting RADV for VK_EXT_extended_dynamic state, likely due to a bug in yuzu");
437 ext_extended_dynamic_state = false; 422 ext_extended_dynamic_state = false;
438 } 423 }
439 if (ext_extended_dynamic_state && IsRDNA(properties.deviceName, driver_id)) {
440 // AMD's proprietary driver supports VK_EXT_extended_dynamic_state but on RDNA devices it
441 // seems to cause stability issues
442 LOG_WARNING(
443 Render_Vulkan,
444 "Blacklisting AMD proprietary on RDNA devices from VK_EXT_extended_dynamic_state");
445 ext_extended_dynamic_state = false;
446 }
447 424
448 graphics_queue = logical.GetQueue(graphics_family); 425 graphics_queue = logical.GetQueue(graphics_family);
449 present_queue = logical.GetQueue(present_family); 426 present_queue = logical.GetQueue(present_family);