Browse Source

[vulkan] Reset query pool in Reset() method + removed bank reset

vkexperiments1
CamilleLaVey 2 months ago
parent
commit
58bff28b04
  1. 6
      src/video_core/renderer_vulkan/vk_query_cache.cpp

6
src/video_core/renderer_vulkan/vk_query_cache.cpp

@ -60,6 +60,8 @@ public:
void Reset() override { void Reset() override {
ASSERT(references == 0); ASSERT(references == 0);
VideoCommon::BankBase::Reset(); VideoCommon::BankBase::Reset();
const auto& dev = device.GetLogical();
dev.ResetQueryPool(*query_pool, 0, BANK_SIZE);
host_results.fill(0ULL); host_results.fill(0ULL);
next_bank = 0; next_bank = 0;
} }
@ -440,10 +442,6 @@ private:
} }
current_bank = &bank_pool.GetBank(current_bank_id); current_bank = &bank_pool.GetBank(current_bank_id);
current_query_pool = current_bank->GetInnerPool(); current_query_pool = current_bank->GetInnerPool();
scheduler.RequestOutsideRenderPassOperationContext();
scheduler.Record([query_pool = current_query_pool](vk::CommandBuffer cmdbuf) {
cmdbuf.ResetQueryPool(query_pool, 0, SamplesQueryBank::BANK_SIZE);
});
} }
size_t ReserveBankSlot() { size_t ReserveBankSlot() {

Loading…
Cancel
Save