Mesa (master): nv50: only flush texture caches on st request

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Sun Jan 24 14:20:02 UTC 2010


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

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Sat Jan 23 18:35:27 2010 +0100

nv50: only flush texture caches on st request

---

 src/gallium/drivers/nv50/nv50_context.c |    5 +++++
 src/gallium/drivers/nv50/nv50_tex.c     |    3 ---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c
index 1e69746..e2198b1 100644
--- a/src/gallium/drivers/nv50/nv50_context.c
+++ b/src/gallium/drivers/nv50/nv50_context.c
@@ -34,6 +34,11 @@ nv50_flush(struct pipe_context *pipe, unsigned flags,
 	struct nv50_context *nv50 = nv50_context(pipe);
 	struct nouveau_channel *chan = nv50->screen->base.channel;
 
+	if (flags & PIPE_FLUSH_TEXTURE_CACHE) {
+		BEGIN_RING(chan, nv50->screen->tesla, 0x1338, 1);
+		OUT_RING  (chan, 0x20);
+	}
+
 	if (flags & PIPE_FLUSH_FRAME)
 		FIRE_RING(chan);
 }
diff --git a/src/gallium/drivers/nv50/nv50_tex.c b/src/gallium/drivers/nv50/nv50_tex.c
index 871536d..9f1a171 100644
--- a/src/gallium/drivers/nv50/nv50_tex.c
+++ b/src/gallium/drivers/nv50/nv50_tex.c
@@ -220,11 +220,8 @@ nv50_tex_validate(struct nv50_context *nv50)
 		return;
 	}
 
-	/* not sure if the following really do what I think: */
 	so_method(so, tesla, 0x1330, 1); /* flush TIC */
 	so_data  (so, 0);
-	so_method(so, tesla, 0x1338, 1); /* flush texture caches */
-	so_data  (so, 0x20);
 
 	so_ref(so, &nv50->state.tic_upload);
 	so_ref(NULL, &so);




More information about the mesa-commit mailing list