panfrost: add earlyzs FPK condition for v6-

While v7+ checks this on HW, older architectures depend on SW to do it.

Fixes: c43882ad54 ("panfrost: Allow pixels using discard to be killed")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
(cherry picked from commit 5c63446b94)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39003>
This commit is contained in:
Utku Iseri 2025-12-04 21:28:29 +01:00 committed by Dylan Baker
parent d929c83df9
commit f9b14ec2d1
2 changed files with 6 additions and 2 deletions

View file

@ -354,7 +354,7 @@
"description": "panfrost: add earlyzs FPK condition for v6-",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "c43882ad544af3cddd55278212f11cbd4686da63",
"notes": null

View file

@ -587,7 +587,11 @@ jm_emit_tiler_draw(struct mali_draw_packed *out, struct panfrost_batch *batch,
cfg.flags_0.allow_forward_pixel_to_kill =
pan_allow_forward_pixel_to_kill(ctx, fs);
cfg.flags_0.allow_forward_pixel_to_be_killed = !fs->info.writes_global;
/* early ZS check for FPK is performed by HW on v7+ */
cfg.flags_0.allow_forward_pixel_to_be_killed =
!fs->info.writes_global &&
((PAN_ARCH > 6) || earlyzs.kill != MALI_PIXEL_KILL_FORCE_LATE);
/* Mask of render targets that may be written. A render
* target may be written if the fragment shader writes