freedreno: a2xx: don't write 4th vertex in mem2gmem
authorJonathan Marek <jonathan@marek.ca>
Fri, 22 Feb 2019 18:21:27 +0000 (19:21 +0100)
committerRob Clark <robdclark@gmail.com>
Wed, 27 Feb 2019 18:46:28 +0000 (18:46 +0000)
There is only room for 3 vertices now (RECT has 3 vertices).

Fixes: 6ef7700a
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c

index 1c073e31739c6a41af04e019b276e994b22a269d..41636c29648f6e88edba2f89f54d3c21744a0dfb 100644 (file)
@@ -272,7 +272,7 @@ fd2_emit_tile_mem2gmem(struct fd_batch *batch, struct fd_tile *tile)
        x1 = ((float)tile->xoff + bin_w) / ((float)pfb->width);
        y0 = ((float)tile->yoff) / ((float)pfb->height);
        y1 = ((float)tile->yoff + bin_h) / ((float)pfb->height);
-       OUT_PKT3(ring, CP_MEM_WRITE, 9);
+       OUT_PKT3(ring, CP_MEM_WRITE, 7);
        OUT_RELOC(ring, fd_resource(fd2_ctx->solid_vertexbuf)->bo, 36, 0, 0);
        OUT_RING(ring, fui(x0));
        OUT_RING(ring, fui(y0));
@@ -280,8 +280,6 @@ fd2_emit_tile_mem2gmem(struct fd_batch *batch, struct fd_tile *tile)
        OUT_RING(ring, fui(y0));
        OUT_RING(ring, fui(x0));
        OUT_RING(ring, fui(y1));
-       OUT_RING(ring, fui(x1));
-       OUT_RING(ring, fui(y1));
 
        OUT_PKT3(ring, CP_SET_CONSTANT, 2);
        OUT_RING(ring, CP_REG(REG_A2XX_VGT_INDX_OFFSET));