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).
This commit is contained in:
Eric Anholt
2017-09-28 10:37:02 -07:00
parent 4c4fbab345
commit 732a3a72cb
3 changed files with 15 additions and 2 deletions

View File

@@ -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