summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorAlex Deucher <[email protected]>2011-05-11 08:09:35 -0400
committerAlex Deucher <[email protected]>2011-05-11 12:10:01 -0400
commitb9f2750900efb2667bc1dfc428b71d8a08b212be (patch)
treea776d869b1ff0381d156851803297d496e436eeb /src/gallium
parent7a271151a5d6990c8325008f19ab621d730d06c4 (diff)
r600g: fix flushes on rs780/rs880
They need the same hack as rv670. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=35312 Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/winsys/r600/drm/r600_hw_context.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c
index 0514bbeaba3..5eafece3fec 100644
--- a/src/gallium/winsys/r600/drm/r600_hw_context.c
+++ b/src/gallium/winsys/r600/drm/r600_hw_context.c
@@ -810,7 +810,9 @@ void r600_context_bo_flush(struct r600_context *ctx, unsigned flush_flags,
G_0085F0_DB_ACTION_ENA(flush_flags))) {
if (ctx->flags & R600_CONTEXT_CHECK_EVENT_FLUSH) {
/* the rv670 seems to fail fbo-generatemipmap unless we flush the CB1 dest base ena */
- if (ctx->radeon->family == CHIP_RV670) {
+ if ((ctx->radeon->family == CHIP_RV670) ||
+ (ctx->radeon->family == CHIP_RS780) ||
+ (ctx->radeon->family == CHIP_RS880)) {
ctx->pm4[ctx->pm4_cdwords++] = PKT3(PKT3_SURFACE_SYNC, 3, ctx->predicate_drawing);
ctx->pm4[ctx->pm4_cdwords++] = S_0085F0_CB1_DEST_BASE_ENA(1); /* CP_COHER_CNTL */
ctx->pm4[ctx->pm4_cdwords++] = 0xffffffff; /* CP_COHER_SIZE */