From 868097a732cae3d0c88748347ad2be4b2d9979f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 24 Aug 2012 03:13:08 +0200 Subject: [PATCH] workaround --- src/gallium/drivers/r600/r600_state_common.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 77c3e20..d8daf50 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -1207,6 +1207,11 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *dinfo) r600_context_pipe_state_set(rctx, &rctx->vgt); + /* Workaround for hardware deadlock on R600: write into a CB register. */ + if (rctx->chip_class == R600) { + r600_atom_dirty(rctx, &rctx->cb_misc_state.atom); + } + /* Enable stream out if needed. */ if (rctx->streamout_start) { r600_context_streamout_begin(rctx); -- 1.7.9.5