From a27914f0f405c0a988ae292cddb6de41309ed34d Mon Sep 17 00:00:00 2001 From: lizzie Date: Sat, 15 Nov 2025 08:15:12 +0100 Subject: [PATCH] [vk] quick fix for EDS1,2 with VIDS (#3022) Here: src/video_core/renderer_vulkan/vk_pipeline_cache.cpp --> .has_dynamic_vertex_input = device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 0 And Here: src/video_core/renderer_vulkan/vk_rasterizer.cpp --> if (device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 0) { Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3022 Co-authored-by: lizzie Co-committed-by: lizzie --- src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 2 +- src/video_core/renderer_vulkan/vk_rasterizer.cpp | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 0532df05d8..14a4fee69b 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -414,7 +414,7 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, .has_extended_dynamic_state_2_extra = device.IsExtExtendedDynamicState2ExtrasSupported() && dynamic_state > 1, .has_extended_dynamic_state_3_blend = device.IsExtExtendedDynamicState3BlendingSupported() && dynamic_state > 2, .has_extended_dynamic_state_3_enables = device.IsExtExtendedDynamicState3EnablesSupported() && dynamic_state > 2, - .has_dynamic_vertex_input = device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 2, + .has_dynamic_vertex_input = device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 0, }; } diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 44fe42ce9e..1d67601ab4 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -999,11 +999,9 @@ void RasterizerVulkan::UpdateDynamicStates() { UpdateBlending(regs); } } - if (device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 2) { - if (auto* gp = pipeline_cache.CurrentGraphicsPipeline(); gp && gp->HasDynamicVertexInput()) { + if (device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 0) + if (auto* gp = pipeline_cache.CurrentGraphicsPipeline(); gp && gp->HasDynamicVertexInput()) UpdateVertexInput(regs); - } - } } void RasterizerVulkan::HandleTransformFeedback() {