Pārlūkot izejas kodu

AMD still has broken extendedDynamicState3ColorBlendEquation on RDNA3.

Alessio 2 gadi atpakaļ
vecāks
revīzija
cc7a70cb6d
1 mainītis faili ar 9 papildinājumiem un 10 dzēšanām
  1. 9 10
      src/video_core/vulkan_common/vulkan_device.cpp

+ 9 - 10
src/video_core/vulkan_common/vulkan_device.cpp

@@ -595,16 +595,15 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
             dynamic_state3_enables = false;
         }
     }
-    // In the past, AMD proprietary drivers had broken extendedDynamicState3ColorBlendEquation
-    // support. It should work now, even with MSAA surfaces. Uncomment the following code any new
-    // drivers by AMD bring back the issue as a regression.
-    // if (extensions.extended_dynamic_state3 && is_amd_driver) {
-    //    LOG_WARNING(Render_Vulkan,
-    //                "AMD drivers have broken extendedDynamicState3ColorBlendEquation");
-    //    features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
-    //    features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
-    //    dynamic_state3_blending = false;
-    //}
+    // AMD still has broken extendedDynamicState3ColorBlendEquation on RDNA3.
+    // TODO: distinguis RDNA3 from other uArchs.
+     if (extensions.extended_dynamic_state3 && is_amd_driver) {
+        LOG_WARNING(Render_Vulkan,
+                    "AMD drivers have broken extendedDynamicState3ColorBlendEquation");
+        features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
+        features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
+        dynamic_state3_blending = false;
+    }
     if (extensions.vertex_input_dynamic_state && is_radv) {
         // TODO(ameerj): Blacklist only offending driver versions
         // TODO(ameerj): Confirm if RDNA1 is affected