Merge pull request #12400 from ameerj/vk-query-prefix-fix

vk_query_cache: Fix prefix sum max_accumulation_limit logic
This commit is contained in:
liamwhite 2023-12-20 12:46:41 -05:00 committed by GitHub
commit 76701185ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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();