pvr: propagate get_vis_results flag from secondary cmdbuf gfx jobs

When recording secondary command buffers with occlusion queries, the
get_vis_results flag could be set for some graphics sub_cmd's job.

Propagate this flag from secondary command buffer graphics sub_cmds to
primary command buffer sub_cmds to ensure occlusion queries in secondary
command buffers being correctly executed.

Fixes: 5c34be4340 ("pvr: Process secondary buffer queries in vkCmdExecuteCommands.")
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
(cherry picked from commit b8c5e47949)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
This commit is contained in:
Icenowy Zheng 2026-04-10 00:18:28 +08:00 committed by Eric Engestrom
parent 38692b3ebf
commit ed452ed664
2 changed files with 4 additions and 1 deletions

View file

@ -5684,7 +5684,7 @@
"description": "pvr: propagate get_vis_results flag from secondary cmdbuf gfx jobs",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "5c34be4340f00ff779b944669baf93448cd0238a",
"notes": null

View file

@ -9061,6 +9061,9 @@ pvr_execute_graphics_cmd_buffer(struct pvr_cmd_buffer *cmd_buffer,
sec_sub_cmd->gfx.job.disable_compute_overlap;
}
primary_sub_cmd->gfx.job.get_vis_results |=
sec_sub_cmd->gfx.job.get_vis_results;
primary_sub_cmd->gfx.max_tiles_in_flight =
MIN2(primary_sub_cmd->gfx.max_tiles_in_flight,
sec_sub_cmd->gfx.max_tiles_in_flight);