From 92b8fe0f22cb7ce1aa30dc99613004e7b6c83cc2 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 10 Dec 2012 10:48:16 -0500 Subject: [PATCH] r600g: workaround for hw bug on r6xx Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=50655 Signed-off-by: Alex Deucher --- src/gallium/drivers/r600/r600_state_common.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 926cb1a..39af102 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -1217,6 +1217,11 @@ static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info info.index_bias = info.start; } + /* Workaround for hardware deadlock on R600: write into a CB_COLORn_ register. */ + if (rctx->chip_class == R600) { + r600_atom_dirty(rctx, &rctx->framebuffer.atom); + } + /* Enable stream out if needed. */ if (rctx->streamout_start) { r600_context_streamout_begin(rctx); -- 1.7.7.5