From 732a3a72cb8b5c78e95eee47572701b3f6055c19 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 28 Sep 2017 10:37:02 -0700 Subject: broadcom/compiler: Set up passthrough Z when doing FS discards. In order to keep early-Z from writing early in a discard shader, you need to set the "modifies Z" bit in the shader state (which the new prog_data.discards will indicate). Then, in the shader we do a TLB write to make Z passthrough happen (the QPU result is ignored, so we use a NULL source). --- src/broadcom/compiler/v3d_compiler.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/broadcom/compiler/v3d_compiler.h') diff --git a/src/broadcom/compiler/v3d_compiler.h b/src/broadcom/compiler/v3d_compiler.h index e0eeefe245a..84957b75124 100644 --- a/src/broadcom/compiler/v3d_compiler.h +++ b/src/broadcom/compiler/v3d_compiler.h @@ -579,6 +579,7 @@ struct v3d_fs_prog_data { BITSET_WORD flat_shade_flags[BITSET_WORDS(V3D_MAX_FS_INPUTS)]; bool writes_z; + bool discard; }; /* Special nir_load_input intrinsic index for loading the current TLB -- cgit v1.2.3