summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc5/vc5_emit.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-03-23 16:18:02 -0700
committerEric Anholt <[email protected]>2018-03-26 17:46:19 -0700
commit1bf466270d416643e8fcacd6b790e53660303059 (patch)
tree3ae25f7ebdd170df7afd3aa1ac4d2e82022673ce /src/gallium/drivers/vc5/vc5_emit.c
parent262208eb3c2c53a1fd807bc76b12088f6ce2c56d (diff)
broadcom/vc5: Fix EZ disabling and allow using GT/GE direction as well.
Once we've disabled EZ for some draws, we need to not use EZ on future draws. Implementing that made implementing the GT/GE direction trivial. Fixes KHR-GLES3.shaders.fragdepth.compare.no_write on V3D 4.1 simulation.
Diffstat (limited to 'src/gallium/drivers/vc5/vc5_emit.c')
-rw-r--r--src/gallium/drivers/vc5/vc5_emit.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gallium/drivers/vc5/vc5_emit.c b/src/gallium/drivers/vc5/vc5_emit.c
index d5bf2824d29..71f508c9ee8 100644
--- a/src/gallium/drivers/vc5/vc5_emit.c
+++ b/src/gallium/drivers/vc5/vc5_emit.c
@@ -382,13 +382,16 @@ v3dX(emit_state)(struct pipe_context *pctx)
config.blend_enable = vc5->blend->rt[0].blend_enable;
- config.early_z_updates_enable = true;
+ /* Note: EZ state may update based on the compiled FS,
+ * along with ZSA
+ */
+ config.early_z_updates_enable =
+ (job->ez_state != VC5_EZ_DISABLED);
if (vc5->zsa->base.depth.enabled) {
config.z_updates_enable =
vc5->zsa->base.depth.writemask;
config.early_z_enable =
- (vc5->zsa->early_z_enable &&
- !vc5->prog.fs->prog_data.fs->writes_z);
+ config.early_z_updates_enable;
config.depth_test_function =
vc5->zsa->base.depth.func;
} else {