diff options
author | Eric Anholt <[email protected]> | 2018-03-23 16:18:02 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2018-03-26 17:46:19 -0700 |
commit | 1bf466270d416643e8fcacd6b790e53660303059 (patch) | |
tree | 3ae25f7ebdd170df7afd3aa1ac4d2e82022673ce /src/gallium/drivers/vc5/vc5_emit.c | |
parent | 262208eb3c2c53a1fd807bc76b12088f6ce2c56d (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.c | 9 |
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 { |