From: Marek Olšák <marek.ol...@amd.com>

This fixes broken rendering in DOTA 2.

Cc: 10.0 10.1 mesa-sta...@lists.freedesktop.org
---
 src/gallium/drivers/r600/r600_blit.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/r600/r600_blit.c 
b/src/gallium/drivers/r600/r600_blit.c
index 98c07b5..1a2a911 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -500,6 +500,12 @@ static void r600_copy_buffer(struct pipe_context *ctx, 
struct pipe_resource *dst
        } else {
                util_resource_copy_region(ctx, dst, 0, dstx, 0, 0, src, 0, 
src_box);
        }
+
+       /* The index buffer (VGT) doesn't seem to see the result of the copying.
+        * Can we somehow flush the index buffer cache? Starting a new IB seems
+        * to do the trick. */
+       if (rctx->b.chip_class <= R700)
+               rctx->b.rings.gfx.flush(ctx, RADEON_FLUSH_ASYNC, NULL);
 }
 
 /**
-- 
1.8.3.2

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to