From: Rob Clark Date: Thu, 30 Apr 2020 20:54:49 +0000 (-0700) Subject: freedreno/a6xx: don't set SP_FS_CTRL_REG0.VARYING for fragcoord X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=beb02a781ca9a4918b7ac777aab65cc31338ee87;p=mesa.git 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 Part-of: --- 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 |