freedreno/a3xx: fix const footprint
authorIlia Mirkin <imirkin@alum.mit.edu>
Sun, 17 May 2020 22:05:42 +0000 (18:05 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sun, 17 May 2020 23:51:10 +0000 (19:51 -0400)
In commit 5d8f40a53a5, the change was done incorrectly, switching from
max_const to constlen + 1. Instead it should have been constlen - 1,
which is the analog to the former max_const.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>

src/gallium/drivers/freedreno/a3xx/fd3_program.c

index 93773358d1a184d81698462c59b9452592e76209..ad1861f273dad6db609c03d1626bfb2ac5397d4c 100644 (file)
@@ -231,7 +231,7 @@ fd3_program_emit(struct fd_ringbuffer *ring, struct fd3_emit *emit,
                        A3XX_SP_VS_CTRL_REG0_LENGTH(vpbuffersz));
        OUT_RING(ring, A3XX_SP_VS_CTRL_REG1_CONSTLENGTH(vp->constlen) |
                        A3XX_SP_VS_CTRL_REG1_INITIALOUTSTANDING(vp->total_in) |
-                       A3XX_SP_VS_CTRL_REG1_CONSTFOOTPRINT(MAX2(vp->constlen + 1, 0)));
+                       A3XX_SP_VS_CTRL_REG1_CONSTFOOTPRINT(MAX2(vp->constlen - 1, 0)));
        OUT_RING(ring, A3XX_SP_VS_PARAM_REG_POSREGID(pos_regid) |
                        A3XX_SP_VS_PARAM_REG_PSIZEREGID(psize_regid) |
                        A3XX_SP_VS_PARAM_REG_TOTALVSOUTVAR(fp->varying_in));
@@ -302,7 +302,7 @@ fd3_program_emit(struct fd_ringbuffer *ring, struct fd3_emit *emit,
                                A3XX_SP_FS_CTRL_REG0_LENGTH(fpbuffersz));
                OUT_RING(ring, A3XX_SP_FS_CTRL_REG1_CONSTLENGTH(fp->constlen) |
                                A3XX_SP_FS_CTRL_REG1_INITIALOUTSTANDING(fp->total_in) |
-                               A3XX_SP_FS_CTRL_REG1_CONSTFOOTPRINT(MAX2(fp->constlen + 1, 0)) |
+                               A3XX_SP_FS_CTRL_REG1_CONSTFOOTPRINT(MAX2(fp->constlen - 1, 0)) |
                                A3XX_SP_FS_CTRL_REG1_HALFPRECVAROFFSET(63));
 
                OUT_PKT0(ring, REG_A3XX_SP_FS_OBJ_OFFSET_REG, 2);