[Mesa-dev] [PATCH 2/4] r600g: fix texture buffer object cache flushing

Marek Olšák maraeo at gmail.com
Thu Sep 19 06:50:03 PDT 2013


Cc: "9.2" <mesa-stable at lists.freedesktop.org>
---
 src/gallium/drivers/r600/r600_hw_context.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index b7c345a..e055d62 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -247,7 +247,10 @@ void r600_flush_emit(struct r600_context *rctx)
 							: S_0085F0_TC_ACTION_ENA(1);
 	}
 	if (rctx->b.flags & R600_CONTEXT_INV_TEX_CACHE) {
-		cp_coher_cntl |= S_0085F0_TC_ACTION_ENA(1);
+		/* Textures use the texture cache.
+		 * Texture buffer objects use the vertex cache. */
+		cp_coher_cntl |= S_0085F0_TC_ACTION_ENA(1) |
+				 (rctx->has_vertex_cache ? S_0085F0_VC_ACTION_ENA(1) : 0);
 	}
 
 	/* Don't use the DB CP COHER logic on r6xx.
-- 
1.8.1.2



More information about the mesa-dev mailing list