Mesa (master): nv50: force cache flush when binding a new ubo

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Tue Jul 21 19:45:59 UTC 2015


Module: Mesa
Branch: master
Commit: a62ccdec622ea43a7cdbf572a32dfae19ba9c904
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a62ccdec622ea43a7cdbf572a32dfae19ba9c904

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Tue Jul 21 21:35:43 2015 +0200

nv50: force cache flush when binding a new ubo

This fixes the following piglit test:
  ext_transform_feedback-immediate-reuse-uniform-buffer

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

---

 src/gallium/drivers/nouveau/nv50/nv50_shader_state.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c b/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
index 1ec5642..9369093 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c
@@ -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);




More information about the mesa-commit mailing list