From c9309370679f46360810c77c0cd4e9d835e14fa7 Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Thu, 6 Nov 2025 22:32:45 -0300 Subject: [PATCH] vulkan: it cant be that simple Signed-off-by: Caio Oliveira --- .../vulkan_common/vulkan_device.cpp | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 39ecc56bfb..99c1a97e46 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -620,18 +620,20 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR const bool is_rdna2 = supported_extensions.contains(VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME); - // Always disable VIDS when EDS=0 to prevent black screen - if (Settings::values.dyna_state.GetValue() == 0) { - LOG_WARNING(Render_Vulkan, - "Disabling VK_EXT_vertex_input_dynamic_state due to black screen with EDS=0"); + // Always disable VIDS when EDS=0 to prevent black screen or RNDA2 + // RDNA1 status unknown + // Also Warn about glitches on RDNA2 + if (Settings::values.dyna_state.GetValue() == 0 || is_rdna2) { + if (is_rdna2) + LOG_WARNING(Render_Vulkan, + "RADV glitchy VK_EXT_vertex_input_dynamic_state may cause glitches on some driver versions"); + else + LOG_WARNING(Render_Vulkan, + "Disabling VK_EXT_vertex_input_dynamic_state due to black screen with EDS=0"); + RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME); - } else if (is_rdna2) { - // RDNA1 status unknown - // Warn about glitches on RDNA2 - LOG_WARNING(Render_Vulkan, - "RADV glitchy VK_EXT_vertex_input_dynamic_state may cause glitches on some driver versions"); } } if (extensions.extended_dynamic_state3 &&