nv50: avoid excessive FIRE_RING
authorMaarten Maathuis <madman2003@gmail.com>
Mon, 14 Sep 2009 18:21:56 +0000 (20:21 +0200)
committerMaarten Maathuis <madman2003@gmail.com>
Tue, 15 Sep 2009 16:59:53 +0000 (18:59 +0200)
- And reduce RING_SPACE to 2, instead of 3.

src/gallium/drivers/nv50/nv50_context.c

index 935de8af52172e05f8dcdfecbf049a6c8a7cf66a..fca078b174a4f1d3178bee90e9869a21214ffcb3 100644 (file)
@@ -37,11 +37,12 @@ nv50_flush(struct pipe_context *pipe, unsigned flags,
 
        /* We need this in the ddx for reliable composite, not sure what we're
         * actually flushing. We generate all our own flushes with flags = 0. */
-       WAIT_RING(chan, 3);
+       WAIT_RING(chan, 2);
        BEGIN_RING(chan, eng2d, 0x0110, 1);
        OUT_RING  (chan, 0);
 
-       FIRE_RING(chan);
+       if (flags & PIPE_FLUSH_FRAME)
+               FIRE_RING(chan);
 }
 
 static void