freedreno: a2xx: fix gmem2mem viewport

Fixes cases where previous viewport values might case gmem2mem to fail.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Jonathan Marek 2018-12-09 23:14:41 -05:00 committed by Rob Clark
parent 64b12520a2
commit 0286a11b7e

View file

@ -160,6 +160,13 @@ fd2_emit_tile_gmem2mem(struct fd_batch *batch, struct fd_tile *tile)
OUT_RING(ring, CP_REG(REG_A2XX_PA_CL_CLIP_CNTL));
OUT_RING(ring, 0x00000000);
OUT_PKT3(ring, CP_SET_CONSTANT, 5);
OUT_RING(ring, CP_REG(REG_A2XX_PA_CL_VPORT_XSCALE));
OUT_RING(ring, fui((float) tile->bin_w / 2.0)); /* XSCALE */
OUT_RING(ring, fui((float) tile->bin_w / 2.0)); /* XOFFSET */
OUT_RING(ring, fui((float) tile->bin_h / 2.0)); /* YSCALE */
OUT_RING(ring, fui((float) tile->bin_h / 2.0)); /* YOFFSET */
OUT_PKT3(ring, CP_SET_CONSTANT, 2);
OUT_RING(ring, CP_REG(REG_A2XX_RB_MODECONTROL));
OUT_RING(ring, A2XX_RB_MODECONTROL_EDRAM_MODE(EDRAM_COPY));