Mesa (master): freedreno/a6xx: don't set SP_FS_CTRL_REG0.VARYING for fragcoord

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 30 21:59:14 UTC 2020


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

Author: Rob Clark <robdclark at chromium.org>
Date:   Thu Apr 30 13:54:49 2020 -0700

freedreno/a6xx: don't set SP_FS_CTRL_REG0.VARYING for fragcoord

Similar change to 5785bcc8a0ff9c5072c647337bf73f696c63cbe6.  It appears
on a6xx and in fact this could cause varying corruption before the FS
had a chance to consume the varyings from varying storage.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2838
Signed-off-by: Rob Clark <robdclark at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4838>

---

 src/gallium/drivers/freedreno/a6xx/fd6_program.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_program.c b/src/gallium/drivers/freedreno/a6xx/fd6_program.c
index 454b4c4f9c7..92da43e5c3c 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_program.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_program.c
@@ -624,7 +624,6 @@ setup_stateobj(struct fd_ringbuffer *ring, struct fd_screen *screen,
 	OUT_PKT4(ring, REG_A6XX_SP_FS_CTRL_REG0, 1);
 	OUT_RING(ring, A6XX_SP_FS_CTRL_REG0_THREADSIZE(fssz) |
 			COND(enable_varyings, A6XX_SP_FS_CTRL_REG0_VARYING) |
-			COND(fs->frag_coord, A6XX_SP_FS_CTRL_REG0_VARYING) |
 			0x1000000 |
 			A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(fs->info.max_reg + 1) |
 			A6XX_SP_FS_CTRL_REG0_MERGEDREGS |



More information about the mesa-commit mailing list