diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-02-05 22:38:59 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-02-05 22:38:59 +0100 |
| commit | 9b1f6801a58ca09b6bf83e6b326d0823af5bdd24 (patch) | |
| tree | 50aa40f6eec5634f6a9023875cda8107b0fee15f /src/video_core/vulkan_common/vulkan_device.cpp | |
| parent | ff03ef657a7abda4d3401a3380fe3f2675f48822 (diff) | |
[vk] blacklist on NVIDIA drivers older than 580.119.02 the VK_EXT_vertex_input_dynamic_state (#3379)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3379
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_device.cpp')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index ab4e5b1b65..f06551b91e 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -1168,7 +1168,6 @@ bool Device::GetSuitability(bool requires_swapchain) { // Driver detection variables for workarounds in GetSuitability const VkDriverId driver_id = properties.driver.driverID; - const bool is_intel_windows = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS; // VK_EXT_extended_dynamic_state2 below this will appear drivers that need workarounds. @@ -1185,15 +1184,14 @@ bool Device::GetSuitability(bool requires_swapchain) { } // Intel Windows < 27.20.100.0: Broken VertexInputDynamicState + // Same for NVIDIA Proprietary < 580.119.02, unknown when VIDS was first NOT broken // Disable VertexInputDynamicState on old Intel Windows drivers - if (extensions.vertex_input_dynamic_state && is_intel_windows) { + if (extensions.vertex_input_dynamic_state) { const u32 version = (properties.properties.driverVersion << 3) >> 3; - if (version < VK_MAKE_API_VERSION(27, 20, 100, 0)) { - LOG_WARNING(Render_Vulkan, - "Intel Windows < 27.20.100.0: Disabling broken VK_EXT_vertex_input_dynamic_state"); - RemoveExtensionFeature(extensions.vertex_input_dynamic_state, - features.vertex_input_dynamic_state, - VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME); + if ((driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS && version < VK_MAKE_API_VERSION(27, 20, 100, 0)) + || (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY && version < VK_MAKE_API_VERSION(580, 119, 02, 0))) { + LOG_WARNING(Render_Vulkan, "Disabling broken VK_EXT_vertex_input_dynamic_state"); + RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME); } } |
