diff options
author | Emma Anholt <emma@anholt.net> | 2021-09-20 14:55:56 -0700 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-09-21 17:11:42 +0000 |
commit | 590ac4789db02e742f78aab4793f96619724d1e2 (patch) | |
tree | 3aa6ac610f0995aa57e2ab664344326358744ab3 /src/gallium/drivers/freedreno/a5xx/fd5_program.c | |
parent | 3f9991643367cf18fc683059e49271e7469fb838 (diff) |
freedreno/a5xx+: Set the IJ_LINEAR_* request bits if we need the regs.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12949>
Diffstat (limited to 'src/gallium/drivers/freedreno/a5xx/fd5_program.c')
-rw-r--r-- | src/gallium/drivers/freedreno/a5xx/fd5_program.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_program.c b/src/gallium/drivers/freedreno/a5xx/fd5_program.c index 531c4e288fd..2236420cdf1 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_program.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_program.c @@ -542,15 +542,18 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring, OUT_PKT4(ring, REG_A5XX_SP_SP_CNTL, 1); OUT_RING(ring, 0x00000010); /* XXX */ - /* XXX: missing enable bits for per-sample bary linear centroid and - * IJ_PERSP_SIZE (should be identical to a6xx) - */ - OUT_PKT4(ring, REG_A5XX_GRAS_CNTL, 1); OUT_RING(ring, CONDREG(ij_regid[IJ_PERSP_PIXEL], A5XX_GRAS_CNTL_IJ_PERSP_PIXEL) | CONDREG(ij_regid[IJ_PERSP_CENTROID], A5XX_GRAS_CNTL_IJ_PERSP_CENTROID) | + CONDREG(ij_regid[IJ_PERSP_SAMPLE], + A5XX_GRAS_CNTL_IJ_PERSP_SAMPLE) | + CONDREG(ij_regid[IJ_LINEAR_PIXEL], A5XX_GRAS_CNTL_IJ_LINEAR_PIXEL) | + CONDREG(ij_regid[IJ_LINEAR_CENTROID], + A5XX_GRAS_CNTL_IJ_LINEAR_CENTROID) | + CONDREG(ij_regid[IJ_LINEAR_SAMPLE], + A5XX_GRAS_CNTL_IJ_LINEAR_SAMPLE) | COND(s[FS].v->fragcoord_compmask != 0, A5XX_GRAS_CNTL_COORD_MASK(s[FS].v->fragcoord_compmask) | A5XX_GRAS_CNTL_IJ_LINEAR_PIXEL) | @@ -564,6 +567,14 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring, A5XX_RB_RENDER_CONTROL0_IJ_PERSP_PIXEL) | CONDREG(ij_regid[IJ_PERSP_CENTROID], A5XX_RB_RENDER_CONTROL0_IJ_PERSP_CENTROID) | + CONDREG(ij_regid[IJ_PERSP_SAMPLE], + A5XX_RB_RENDER_CONTROL0_IJ_PERSP_SAMPLE) | + CONDREG(ij_regid[IJ_LINEAR_PIXEL], + A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_PIXEL) | + CONDREG(ij_regid[IJ_LINEAR_CENTROID], + A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_CENTROID) | + CONDREG(ij_regid[IJ_LINEAR_SAMPLE], + A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_SAMPLE) | COND(s[FS].v->fragcoord_compmask != 0, A5XX_RB_RENDER_CONTROL0_COORD_MASK(s[FS].v->fragcoord_compmask) | A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_PIXEL) | |