[Mesa-dev] [PATCH 3/4] r600g: set additional cp_coher_cntl bits for 6xx/7xx flush (v2)
alexdeucher at gmail.com
alexdeucher at gmail.com
Fri Feb 22 11:38:12 PST 2013
From: Alex Deucher <alexander.deucher at amd.com>
I don't see why we shouldn't be setting these bits on 6xx/7xx
as well. They shouldn't hurt anything and we may be missing
synchronizations with certain blocks by not setting them.
The ddx already sets cp_coher_cntl in a similar manner.
v2: adjust selected bits.
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
src/gallium/drivers/r600/r600_hw_context.c | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c
index cf72549..735fdf2 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -669,12 +669,22 @@ void r600_flush_emit(struct r600_context *rctx)
S_0085F0_SH_ACTION_ENA(1) |
S_0085F0_SMX_ACTION_ENA(1) |
S_0085F0_FULL_CACHE_ENA(1);
- } else {
+ } else if (rctx->chip_class == R700) {
cp_coher_cntl = S_0085F0_SMX_ACTION_ENA(1) |
S_0085F0_SH_ACTION_ENA(1) |
S_0085F0_VC_ACTION_ENA(1) |
S_0085F0_TC_ACTION_ENA(1) |
S_0085F0_FULL_CACHE_ENA(1);
+ } else if (rctx->chip_class == R600) {
+ cp_coher_cntl = S_0085F0_SMX_ACTION_ENA(1) |
+ S_0085F0_SH_ACTION_ENA(1) |
+ S_0085F0_VC_ACTION_ENA(1) |
+ S_0085F0_TC_ACTION_ENA(1) |
+ S_0085F0_FULL_CACHE_ENA(1) |
+ S_0085F0_CB0_DEST_BASE_ENA(1) |
+ S_0085F0_CB1_DEST_BASE_ENA(1) |
+ S_0085F0_CB_ACTION_ENA(1) |
+ S_0085F0_DEST_BASE_0_ENA(1);
}
emit_flush = 1;
}
--
1.7.7.5
More information about the mesa-dev
mailing list