Mesa (master): freedreno/a5xx: Don't set the VARYING flag for fragcoord-only programs.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Aug 26 00:15:08 UTC 2020


Module: Mesa
Branch: master
Commit: 15bdbf34c4f3303f4eb7b7de7c1217cbdbfa704f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15bdbf34c4f3303f4eb7b7de7c1217cbdbfa704f

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Aug 25 14:55:22 2020 -0700

freedreno/a5xx: Don't set the VARYING flag for fragcoord-only programs.

As with a6xx (commits beb02a78, 5785bcc8), the blob doesn't set this flag
for a5xx when fragcoords are used but not proper varyings.  See for
example dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_xyz.

The hope was that this would clear up separate_shader fails/flakes like it
helped with a6xx's flakes, but that didn't happen.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6464>

---

 src/gallium/drivers/freedreno/a5xx/fd5_program.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_program.c b/src/gallium/drivers/freedreno/a5xx/fd5_program.c
index 7065cfe59c7..07aecff5a84 100644
--- a/src/gallium/drivers/freedreno/a5xx/fd5_program.c
+++ b/src/gallium/drivers/freedreno/a5xx/fd5_program.c
@@ -489,7 +489,6 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring,
 	OUT_PKT4(ring, REG_A5XX_VPC_CNTL_0, 1);
 	OUT_RING(ring, A5XX_VPC_CNTL_0_STRIDE_IN_VPC(l.max_loc) |
 			COND(s[FS].v->total_in > 0, A5XX_VPC_CNTL_0_VARYING) |
-			COND(s[FS].v->fragcoord_compmask != 0, A5XX_VPC_CNTL_0_VARYING) |
 			0x10000);    // XXX
 
 	fd5_context(ctx)->max_loc = l.max_loc;
@@ -524,7 +523,6 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring,
 
 	OUT_PKT4(ring, REG_A5XX_SP_FS_CTRL_REG0, 1);
 	OUT_RING(ring, COND(s[FS].v->total_in > 0, A5XX_SP_FS_CTRL_REG0_VARYING) |
-			COND(s[FS].v->fragcoord_compmask != 0, A5XX_SP_FS_CTRL_REG0_VARYING) |
 			0x40006 | /* XXX set pretty much everywhere */
 			A5XX_SP_FS_CTRL_REG0_THREADSIZE(fssz) |
 			A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(s[FS].i->max_half_reg + 1) |



More information about the mesa-commit mailing list