diff options
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 6ffca2af2..7132bae99 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -406,6 +406,14 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR | |||
| 406 | features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false; | 406 | features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false; |
| 407 | features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false; | 407 | features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false; |
| 408 | dynamic_state3_blending = false; | 408 | dynamic_state3_blending = false; |
| 409 | |||
| 410 | const u32 version = (properties.properties.driverVersion << 3) >> 3; | ||
| 411 | if (version < VK_MAKE_API_VERSION(0, 23, 1, 0)) { | ||
| 412 | LOG_WARNING(Render_Vulkan, | ||
| 413 | "RADV versions older than 23.1.0 have broken depth clamp dynamic state"); | ||
| 414 | features.extended_dynamic_state3.extendedDynamicState3DepthClampEnable = false; | ||
| 415 | dynamic_state3_enables = false; | ||
| 416 | } | ||
| 409 | } | 417 | } |
| 410 | if (extensions.vertex_input_dynamic_state && is_radv) { | 418 | if (extensions.vertex_input_dynamic_state && is_radv) { |
| 411 | // TODO(ameerj): Blacklist only offending driver versions | 419 | // TODO(ameerj): Blacklist only offending driver versions |