From f7d004b9ad0deec99d465600ed7df683146b6cd7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Thu, 19 Sep 2013 15:07:41 +0200 Subject: [PATCH] r600g: fix texture buffer object cache flushing Cc: "9.2" --- 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 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. -- 2.30.2