From aeebeed0f2be74690f922777180815ee6e91c55c Mon Sep 17 00:00:00 2001 From: kd-11 Date: Mon, 19 Mar 2018 12:14:43 +0300 Subject: [PATCH] vk: Fix AMD primitive restart emulation when strict mode is active The restart emulation is there to keep the proprietary drivers from randomly crashing when using primitive restart --- rpcs3/Emu/RSX/VK/VKGSRender.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index da41ae1ff..cc9025dc5 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -1416,7 +1416,7 @@ void VKGSRender::end() vk::get_appropriate_topology(rsx::method_registers.current_draw_clause.primitive, primitive_emulated); const bool is_emulated_restart = (!primitive_emulated && rsx::method_registers.restart_index_enabled() && vk::emulate_primitive_restart() && rsx::method_registers.current_draw_clause.command == rsx::draw_command::indexed); - const bool single_draw = !supports_multidraw || (!is_emulated_restart && (rsx::method_registers.current_draw_clause.first_count_commands.size() <= 1 || rsx::method_registers.current_draw_clause.is_disjoint_primitive)); + const bool single_draw = (!is_emulated_restart && (!supports_multidraw || rsx::method_registers.current_draw_clause.first_count_commands.size() <= 1 || rsx::method_registers.current_draw_clause.is_disjoint_primitive)); if (m_occlusion_query_active && (occlusion_id != UINT32_MAX)) {