diff options
| author | Liam <byteslice@airmail.cc> | 2023-05-13 00:31:31 -0400 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2023-05-13 00:37:17 -0400 |
| commit | 50b42ab98069971aff53fb689ea91f150c3f9b26 (patch) | |
| tree | 82a7b88cdf50f052dc92abaee63f294adcfb6a41 /src/video_core/vulkan_common/vulkan_device.cpp | |
| parent | 789be8368ff1ebef48775193f6f2f6eb4612cbc8 (diff) | |
vulkan_common: disable depth clamp dynamic state for older radv
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.cpp')
| -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 6ffca2af21..7132bae990 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 features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false; features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false; dynamic_state3_blending = false; + + const u32 version = (properties.properties.driverVersion << 3) >> 3; + if (version < VK_MAKE_API_VERSION(0, 23, 1, 0)) { + LOG_WARNING(Render_Vulkan, + "RADV versions older than 23.1.0 have broken depth clamp dynamic state"); + features.extended_dynamic_state3.extendedDynamicState3DepthClampEnable = false; + dynamic_state3_enables = false; + } } if (extensions.vertex_input_dynamic_state && is_radv) { // TODO(ameerj): Blacklist only offending driver versions |
