diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index e04852e016..d965e8718d 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -554,10 +554,10 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR } sets_per_pool = 64; - if (extensions.extended_dynamic_state3 && is_amd_driver && - properties.properties.driverVersion >= VK_MAKE_API_VERSION(0, 2, 0, 270)) { + if (extensions.extended_dynamic_state3 && is_amd_driver && !features.shader_float16_int8.shaderFloat16 && + properties.properties.driverVersion >= VK_MAKE_API_VERSION(0, 2, 0, 258)) { LOG_WARNING(Render_Vulkan, - "AMD drivers after 23.5.2 have broken extendedDynamicState3ColorBlendEquation"); + "AMD's GCN4 architecture has broken extendedDynamicState3ColorBlendEquation"); features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false; features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false; dynamic_state3_blending = false;