From f71e7ef1ccfe8a2a604b53d5ec07797e2f5cbf94 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 10 Jan 2023 16:16:10 +0300 Subject: [PATCH] vk: Switch programs if the primitive type changed - This will change when EXT_dynamic_state is integrated --- rpcs3/Emu/RSX/VK/VKGSRender.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index 346909bf1b..544994662a 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -1754,7 +1754,9 @@ bool VKGSRender::load_program() m_graphics_state &= ~rsx::pipeline_state::invalidate_pipeline_bits; } - else if (!(m_graphics_state & rsx::pipeline_state::pipeline_config_dirty) && m_program) + else if (!(m_graphics_state & rsx::pipeline_state::pipeline_config_dirty) && + m_cached_draw_state.prim == rsx::method_registers.current_draw_clause.primitive && + m_program) { if (!m_shader_interpreter.is_interpreter(m_program)) [[ likely ]] {