From ab9254f21a58e86e02b10c7f65d33f030c063828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Miko=C5=82ajczyk?= Date: Tue, 27 May 2025 00:06:56 +0100 Subject: [PATCH] Fix Vulkan validation errors with using queries --- src/video_core/renderer_vulkan/vk_rasterizer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index a9920e310..73022f639 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -1283,6 +1283,7 @@ void Rasterizer::EndPredication() { void Rasterizer::StartOcclusionQuery(VAddr addr) { LOG_DEBUG(Render_Vulkan, "addr = {:#x}, index = {}", addr, occlusion_current_index); + scheduler.EndRendering(); const auto cmdbuf = scheduler.CommandBuffer(); cmdbuf.resetQueryPool(occlusion_query_pool, occlusion_current_index, 1); ScopeMarkerBegin("gfx:{}:occlusionQuery", fmt::ptr(reinterpret_cast(addr))); @@ -1302,6 +1303,7 @@ void Rasterizer::EndOcclusionQuery(VAddr addr) { auto index = occlusion_index_mapping[addr]; LOG_DEBUG(Render_Vulkan, "addr = {:#x}, index = {}", addr, index); + scheduler.EndRendering(); const auto cmdbuf = scheduler.CommandBuffer(); cmdbuf.endQuery(occlusion_query_pool, index); ScopeMarkerEnd();