freedreno/a5xx: drop WFIs in emit_marker5()
authorRob Clark <robdclark@gmail.com>
Tue, 30 May 2017 15:19:12 +0000 (11:19 -0400)
committerRob Clark <robdclark@gmail.com>
Wed, 31 May 2017 00:40:58 +0000 (20:40 -0400)
Results in always having at least one WFI between draws, which was
slowing stk down by ~5% and ~10% in xonotic.

(also drop bogus assert while we're at it.)

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/freedreno_util.h

index 6b0fb700d6a431dfbc0d6ca3539ba2a2ce7e4d52..a0e1334e788e72602f32bc298b738107ad4e142e 100644 (file)
@@ -410,13 +410,8 @@ emit_marker5(struct fd_ringbuffer *ring, int scratch_idx)
        extern unsigned marker_cnt;
 //XXX  unsigned reg = REG_A5XX_CP_SCRATCH_REG(scratch_idx);
        unsigned reg = 0x00000b78 + scratch_idx;
-       assert(reg != HW_QUERY_BASE_REG);
-       if (reg == HW_QUERY_BASE_REG)
-               return;
-       OUT_WFI5(ring);
        OUT_PKT4(ring, reg, 1);
        OUT_RING(ring, ++marker_cnt);
-       OUT_WFI5(ring);
 }
 
 /* helper to get numeric value from environment variable..  mostly