vk_query_cache: Fix prefix sum max_accumulation_limit logic

This commit is contained in:
Ameer J 2023-12-18 12:37:55 -05:00
parent a093f3d47a
commit a2b567dfd6

View File

@ -289,12 +289,15 @@ public:
} }
if (has_multi_queries) { if (has_multi_queries) {
size_t intermediary_buffer_index = ObtainBuffer<false>(num_slots_used); const size_t min_accumulation_limit =
std::min(first_accumulation_checkpoint, num_slots_used);
const size_t max_accumulation_limit =
std::max(last_accumulation_checkpoint, num_slots_used);
const size_t intermediary_buffer_index = ObtainBuffer<false>(num_slots_used);
resolve_buffers.push_back(intermediary_buffer_index); resolve_buffers.push_back(intermediary_buffer_index);
queries_prefix_scan_pass->Run(*accumulation_buffer, *buffers[intermediary_buffer_index], queries_prefix_scan_pass->Run(*accumulation_buffer, *buffers[intermediary_buffer_index],
*buffers[resolve_buffer_index], num_slots_used, *buffers[resolve_buffer_index], num_slots_used,
std::min(first_accumulation_checkpoint, num_slots_used), min_accumulation_limit, max_accumulation_limit);
last_accumulation_checkpoint);
} else { } else {
scheduler.RequestOutsideRenderPassOperationContext(); scheduler.RequestOutsideRenderPassOperationContext();