summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/vulkan_common/vulkan_device.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 09b95cc3f..bd67e27ed 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -525,6 +525,13 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
525 dynamic_state3_enables = false; 525 dynamic_state3_enables = false;
526 } 526 }
527 } 527 }
528 if (extensions.extended_dynamic_state3 && is_amd_driver) {
529 LOG_WARNING(Render_Vulkan,
530 "AMD drivers have broken extendedDynamicState3ColorBlendEquation");
531 features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
532 features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
533 dynamic_state3_blending = false;
534 }
528 if (extensions.vertex_input_dynamic_state && is_radv) { 535 if (extensions.vertex_input_dynamic_state && is_radv) {
529 // TODO(ameerj): Blacklist only offending driver versions 536 // TODO(ameerj): Blacklist only offending driver versions
530 // TODO(ameerj): Confirm if RDNA1 is affected 537 // TODO(ameerj): Confirm if RDNA1 is affected
@@ -553,14 +560,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
553 } 560 }
554 561
555 sets_per_pool = 64; 562 sets_per_pool = 64;
556 if (extensions.extended_dynamic_state3 && is_amd_driver &&
557 !features.shader_float16_int8.shaderFloat16 &&
558 properties.properties.driverVersion >= VK_MAKE_API_VERSION(0, 2, 0, 258)) {
559 LOG_WARNING(Render_Vulkan, "AMD GCN4 has broken extendedDynamicState3ColorBlendEquation");
560 features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
561 features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
562 dynamic_state3_blending = false;
563 }
564 if (is_amd_driver) { 563 if (is_amd_driver) {
565 // AMD drivers need a higher amount of Sets per Pool in certain circumstances like in XC2. 564 // AMD drivers need a higher amount of Sets per Pool in certain circumstances like in XC2.
566 sets_per_pool = 96; 565 sets_per_pool = 96;