aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_hw_context.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2013-09-19 15:07:41 +0200
committerMarek Olšák <[email protected]>2013-09-25 20:45:22 +0200
commitf7d004b9ad0deec99d465600ed7df683146b6cd7 (patch)
treeb034150688265b30253493078af5239e1c703c00 /src/gallium/drivers/r600/r600_hw_context.c
parent6317a3fb31014d89edff2993f3cf403f651a07f6 (diff)
r600g: fix texture buffer object cache flushing
Cc: "9.2" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_hw_context.c')
-rw-r--r--src/gallium/drivers/r600/r600_hw_context.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index 18e17bb0723..eba09a4f71d 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.