From ad3e740c0921c18a832fd4b0401f965a28a58c97 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Thu, 23 Mar 2023 17:22:46 +0300 Subject: [PATCH] vk: Separate vertex and fragment stage push constant updates for overlays --- rpcs3/Emu/RSX/VK/VKOverlays.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/RSX/VK/VKOverlays.cpp b/rpcs3/Emu/RSX/VK/VKOverlays.cpp index d46a4c6b513b..87f856020ec1 100644 --- a/rpcs3/Emu/RSX/VK/VKOverlays.cpp +++ b/rpcs3/Emu/RSX/VK/VKOverlays.cpp @@ -585,6 +585,8 @@ namespace vk .get(); push_buf[16] = std::bit_cast(vert_config); + vkCmdPushConstants(cmd, m_pipeline_layout, VK_SHADER_STAGE_VERTEX_BIT, 0, 68, push_buf); + // 2. Fragment stuff rsx::overlays::fragment_options frag_opts; const auto frag_config = frag_opts @@ -593,11 +595,11 @@ namespace vk .pulse_glow(m_pulse_glow) .get(); - push_buf[17] = std::bit_cast(frag_config); - push_buf[18] = m_time; - push_buf[19] = m_blur_strength; + push_buf[0] = std::bit_cast(frag_config); + push_buf[1] = m_time; + push_buf[2] = m_blur_strength; - vkCmdPushConstants(cmd, m_pipeline_layout, VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, 0, 80, push_buf); + vkCmdPushConstants(cmd, m_pipeline_layout, VK_SHADER_STAGE_FRAGMENT_BIT, 68, 12, push_buf); } void ui_overlay_renderer::set_primitive_type(rsx::overlays::primitive_type type)