diff options
author | Eric Anholt <[email protected]> | 2019-02-12 14:39:40 -0800 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2019-02-19 07:07:38 -0800 |
commit | ba24ca67f6d5532037c6c4a4528cf22a05872109 (patch) | |
tree | 47a49014115bd83398e413e5911fb1cd43434070 /src/gallium | |
parent | 110500cc8ab5dfc2b0d5c464155f85b1bccba779 (diff) |
v3d: Use the early_fragment_tests flag for the shader's disable-EZ field.
Apparently we need disable-EZ flagged, not just "does Z writes".
Fixes
dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth_fbo
on 7278, even though it passed in simulation.
Signed-off-by: Eric Anholt <[email protected]>
Fixes: 051a41d3d56e ("v3d: Add support for the early_fragment_tests flag.")
(cherry picked from commit cd5e0b272919a654079620adecd2abe24ff51233)
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/v3d/v3dx_draw.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c index 2700208e388..fba0c6733ea 100644 --- a/src/gallium/drivers/v3d/v3dx_draw.c +++ b/src/gallium/drivers/v3d/v3dx_draw.c @@ -203,8 +203,13 @@ v3d_emit_gl_shader_state(struct v3d_context *v3d, * shader needs to write the Z value (even just discards). */ shader.fragment_shader_does_z_writes = - (v3d->prog.fs->prog_data.fs->writes_z || - v3d->prog.fs->prog_data.fs->discard); + v3d->prog.fs->prog_data.fs->writes_z; + /* Set if the EZ test must be disabled (due to shader side + * effects and the early_z flag not being present in the + * shader). + */ + shader.turn_off_early_z_test = + v3d->prog.fs->prog_data.fs->disable_ez; shader.fragment_shader_uses_real_pixel_centre_w_in_addition_to_centroid_w2 = v3d->prog.fs->prog_data.fs->uses_center_w; |