nvc0: do not force re-binding of compute constbufs on Fermi
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 11 Jan 2016 23:31:11 +0000 (00:31 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 11 Jan 2016 23:47:20 +0000 (00:47 +0100)
Re-binding compute constant buffers after launching a grid have no effects
because they are not currently validated and because dirty_cp is not updated
accordingly. This might also prevent weird future behaviours when UBOs will
be bound for compute.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nvc0/nvc0_compute.c

index 9d4606fa2ec88d2c6c3c5ace98e51b2a6dd6e338..71804343138f7f4f8c4c5d9b79c7430b81d6acd6 100644 (file)
@@ -248,7 +248,7 @@ nvc0_launch_grid(struct pipe_context *pipe,
    /* rebind all the 3D constant buffers
     * (looks like binding a CB on COMPUTE clobbers 3D state) */
    nvc0->dirty |= NVC0_NEW_CONSTBUF;
-   for (s = 0; s < 6; s++) {
+   for (s = 0; s < 5; s++) {
       for (i = 0; i < NVC0_MAX_PIPE_CONSTBUFS; i++)
          if (nvc0->constbuf[s][i].u.buf)
             nvc0->constbuf_dirty[s] |= 1 << i;