nv50: force cache flush when binding a new ubo
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 21 Jul 2015 19:35:43 +0000 (21:35 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 21 Jul 2015 19:39:36 +0000 (21:39 +0200)
This fixes the following piglit test:
  ext_transform_feedback-immediate-reuse-uniform-buffer

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

index 1ec5642ccfc670fde38a9d55428844e0e2f068a9..9369093614dad604b63e5bcfa0d1ff002444ff03 100644 (file)
@@ -99,6 +99,8 @@ nv50_constbufs_validate(struct nv50_context *nv50)
                PUSH_DATA (push, (b << 12) | (i << 8) | p | 1);
 
                BCTX_REFN(nv50->bufctx_3d, CB(s, i), res, RD);
+
+               nv50->cb_dirty = 1; /* Force cache flush for UBO. */
             } else {
                BEGIN_NV04(push, NV50_3D(SET_PROGRAM_CB), 1);
                PUSH_DATA (push, (i << 8) | p | 0);