summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_context.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-09-10 11:27:31 +1000
committerDave Airlie <airlied@redhat.com>2010-09-10 11:29:23 +1000
commit42da02743358fd4b212f47d2727340dcd0578b5a (patch)
tree63b10ab1983983fc62d15800c8eb1021902e5a56 /src/gallium/drivers/r600/r600_context.h
parente795ca8f3175fa6fd97b6b2ef2775e3f8803012a (diff)
r600g: align flushing of cb/db with DDX/r600c.
the DDX and r600c both flush cb/db after the draw is emitted, as long as they do that, r600g can't be different, as it races. We end up with r600g flush, set CB, DDX set CB, flush. This was causing misrendering on my evergreen, where sometimes the drawing would go to an old CB.
Diffstat (limited to 'src/gallium/drivers/r600/r600_context.h')
-rw-r--r--src/gallium/drivers/r600/r600_context.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_context.h b/src/gallium/drivers/r600/r600_context.h
index eb370698bb..76a05f81fc 100644
--- a/src/gallium/drivers/r600/r600_context.h
+++ b/src/gallium/drivers/r600/r600_context.h
@@ -119,6 +119,9 @@ struct r600_context_hw_states {
struct radeon_state scissor;
struct radeon_state dsa;
struct radeon_state cb_cntl;
+
+ struct radeon_state db_flush;
+ struct radeon_state cb_flush;
};
#define R600_MAX_CONSTANT 256 /* magic */