From dd28d100d61b79bd317484f4fd7edc1998df907f Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 22 Jun 2025 16:19:48 +0300 Subject: [PATCH] vk: Fix crash when running attachment clear pass --- rpcs3/Emu/RSX/VK/VKOverlays.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rpcs3/Emu/RSX/VK/VKOverlays.cpp b/rpcs3/Emu/RSX/VK/VKOverlays.cpp index 6a74f8e646..743339e26c 100644 --- a/rpcs3/Emu/RSX/VK/VKOverlays.cpp +++ b/rpcs3/Emu/RSX/VK/VKOverlays.cpp @@ -43,6 +43,10 @@ namespace vk if (!m_vao.heap) { m_vao.create(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, 1 * 0x100000, "overlays VAO", 128); + } + + if (!m_ubo.heap && m_num_uniform_buffers > 0) + { m_ubo.create(VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, 8 * 0x100000, "overlays UBO", 128); } } @@ -704,6 +708,9 @@ namespace vk // Disable samplers m_num_usable_samplers = 0; + // Disable UBOs + m_num_uniform_buffers = 0; + renderpass_config.set_depth_mask(false); renderpass_config.set_color_mask(0, true, true, true, true); renderpass_config.set_attachment_count(1); @@ -711,6 +718,7 @@ namespace vk std::vector attachment_clear_pass::get_vertex_inputs() { + check_heap(); return { vk::glsl::program_input::make(