pan/midgard: Turn Z/S stores into zs_output_pan intrinsics

Midgard can't write depth and stencil separately. It has to happen in
a single store operation containing both. Let's add a panfrost specific
intrinsic and turn all depth/stencil stores into a packed depth+stencil
one.

Note that this intrinsic is not yet handled in emit_intrinsic(), but
we'll address that later.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3697>
This commit is contained in:
Boris Brezillon
2020-01-31 09:34:48 +01:00
committed by Marge Bot
parent 59488cbbac
commit f5619f5073
2 changed files with 99 additions and 0 deletions

View File

@@ -858,6 +858,7 @@ intrinsic("load_global_ir3", [2, 1], dest_comp=0, indices=[ACCESS, ALIGN_MUL, AL
# src[] = { value }
store("raw_output_pan", 1, [])
store("zs_output_pan", 1, [COMPONENT])
load("raw_output_pan", 0, [], [CAN_ELIMINATE, CAN_REORDER])
load("output_u8_as_fp16_pan", 0, [], [CAN_ELIMINATE, CAN_REORDER])