pvr: fix pvr_CmdResetQueryPool barriers

It was not waiting for previous frag/geom to complete, overwriting their results
midway. Subsequent frag/geom were not waiting for the reset-program to complete,
so it was resetting the transform-feedback write-index and primitives_written
counts midway or after the frag/geom complete. This resulted in incorrect XFB
data and query-results.

Signed-off-by: Iliyan Dinev <iliyan.dinev@imgtec.com>
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36412>
This commit is contained in:
Iliyan Dinev
2024-07-11 17:05:58 +01:00
committed by Marge Bot
parent 829703e560
commit 94ae9ab083
2 changed files with 36 additions and 2 deletions
+1 -1
View File
@@ -605,7 +605,7 @@ pvr_process_event_cmd_wait(struct pvr_device *device,
uint32_t wait_count = 0;
for (uint32_t i = 0; i < sub_cmd->count; i++) {
if (sub_cmd->wait_at_stage_masks[i] & stage) {
if (sub_cmd->wait_at_stage_masks[i] & BITFIELD_BIT(stage)) {
waits[wait_count++] = (struct vk_sync_wait){
.sync = sub_cmd->events[i]->sync,
.stage_mask = ~(VkPipelineStageFlags2)0,