panvk: Enable scissor_mode for draws

With some of the AFBC-fixes that went along with: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37771>,
we now set frame bounding boxes to the renderPass::renderArea instead
of the full frame size. By enabling scissor_mode, we can therefore
benefit from issuing less fragment jobs in certain cases.

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41357>
This commit is contained in:
Jakob Sinclair 2026-05-05 11:47:10 +02:00 committed by Marge Bot
parent c50210ba7c
commit 20cb81d389
2 changed files with 7 additions and 1 deletions

View file

@ -2012,7 +2012,10 @@ prepare_dcd(struct panvk_cmd_buffer *cmdbuf,
cfg.multisample_enable = msaa;
cfg.occlusion_query = cmdbuf->state.gfx.occlusion_query.mode;
cfg.alpha_to_coverage = alpha_to_coverage;
#if PAN_ARCH >= 11
#if PAN_ARCH == 10
cfg.scissor_to_bounding_box = true;
#elif PAN_ARCH >= 11
cfg.scissor_mode = true;
cfg.conservative_rast_mode =
rs->conservative_mode == VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT
? MALI_CONSERVATIVE_RAST_MODE_OVER_ESTIMATE

View file

@ -1043,6 +1043,9 @@ panvk_emit_tiler_dcd(struct panvk_cmd_buffer *cmdbuf,
cfg.occlusion_query = cmdbuf->state.gfx.occlusion_query.mode;
cfg.occlusion = cmdbuf->state.gfx.occlusion_query.ptr;
#if PAN_ARCH == 9
cfg.scissor_to_bounding_box = true;
#endif
}
}