Module: Mesa
Branch: 9.2
Commit: 563c488453ec7dd11ba1d074215a2fa2b414769a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=563c488453ec7dd11ba1d074215a2fa2b414769a

Author: Marek Olšák <[email protected]>
Date:   Wed Sep 18 22:46:25 2013 +0200

r600g: fix constant buffer cache flushing

Cc: "9.2" <[email protected]>
(cherry picked from commit 6317a3fb31014d89edff2993f3cf403f651a07f6)

Conflicts:
        src/gallium/drivers/r600/r600_hw_context.c

---

 src/gallium/drivers/r600/r600_hw_context.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_hw_context.c 
b/src/gallium/drivers/r600/r600_hw_context.c
index 97b0f9c..266d5f5 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -236,7 +236,11 @@ void r600_flush_emit(struct r600_context *rctx)
        }
 
        if (rctx->flags & R600_CONTEXT_INV_CONST_CACHE) {
-               cp_coher_cntl |= S_0085F0_SH_ACTION_ENA(1);
+               /* Direct constant addressing uses the shader cache.
+                * Indirect contant addressing uses the vertex cache. */
+               cp_coher_cntl |= S_0085F0_SH_ACTION_ENA(1) |
+                                (rctx->has_vertex_cache ? 
S_0085F0_VC_ACTION_ENA(1)
+                                                        : 
S_0085F0_TC_ACTION_ENA(1));
        }
        if (rctx->flags & R600_CONTEXT_INV_VERTEX_CACHE) {
                cp_coher_cntl |= rctx->has_vertex_cache ? 
S_0085F0_VC_ACTION_ENA(1)

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to