diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp index 10a23caa4a..931016975e 100644 --- a/src/video_core/renderer_vulkan/vk_query_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp @@ -155,15 +155,17 @@ public: } ReserveHostQuery(); - - scheduler.RequestOutsideRenderPassOperationContext(); - scheduler.Record([query_pool = current_query_pool, - query_index = current_bank_slot](vk::CommandBuffer cmdbuf) { - const bool use_precise = Settings::IsGPULevelHigh(); - cmdbuf.ResetQueryPool(query_pool, static_cast(query_index), 1); - cmdbuf.BeginQuery(query_pool, static_cast(query_index), - use_precise ? VK_QUERY_CONTROL_PRECISE_BIT : 0); - }); + + { + const VkQueryPool qp = current_query_pool; + const u32 qi = static_cast(current_bank_slot); + device.GetLogical().ResetQueryPool(qp, qi, 1); + scheduler.Record([query_pool = qp, query_index = qi](vk::CommandBuffer cmdbuf) { + const bool use_precise = Settings::IsGPULevelHigh(); + cmdbuf.BeginQuery(query_pool, static_cast(query_index), + use_precise ? VK_QUERY_CONTROL_PRECISE_BIT : 0); + }); + } has_started = true; }