From 1b7da4e386efbe29cbda8d7e131e675ca9b71aa2 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Thu, 21 Feb 2013 18:43:46 -0500 Subject: [PATCH 2/5] r600g: synchronize streamout buffers on r6xx too (v2) Streamout buffers need to be synchronized on r6xx as well. v2: Add DEST flush as well. Note: this is a candidate for the 9.1 branch. Signed-off-by: Alex Deucher --- src/gallium/drivers/r600/r600_hw_context.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c index b3899ae..e15084e 100644 --- a/src/gallium/drivers/r600/r600_hw_context.c +++ b/src/gallium/drivers/r600/r600_hw_context.c @@ -686,12 +686,14 @@ void r600_flush_emit(struct r600_context *rctx) emit_flush = 1; } - if (rctx->family >= CHIP_RV770 && rctx->flags & R600_CONTEXT_STREAMOUT_FLUSH) { + if (rctx->flags & R600_CONTEXT_STREAMOUT_FLUSH) { cp_coher_cntl |= S_0085F0_SO0_DEST_BASE_ENA(1) | S_0085F0_SO1_DEST_BASE_ENA(1) | S_0085F0_SO2_DEST_BASE_ENA(1) | S_0085F0_SO3_DEST_BASE_ENA(1) | S_0085F0_SMX_ACTION_ENA(1); + if (rctx->chip_class == R600) + cp_coher_cntl |= S_0085F0_DEST_BASE_0_ENA(1); emit_flush = 1; } -- 1.7.7.5