summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-06-14 23:38:48 +0200
committerMarek Olšák <[email protected]>2010-06-14 23:39:56 +0200
commit0452d52ae353f3c6d6e216c7af00a0c369c05622 (patch)
tree87a3a84ea26ad32e4466b9da38e5b0b46fb5fc72
parent7dcba1af9d0139ead8a0288ad272ea1116aaf3b3 (diff)
r300g: initialize US_CODE_BANK on r4xx
-rw-r--r--src/gallium/drivers/r300/r300_state_invariant.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_state_invariant.c b/src/gallium/drivers/r300/r300_state_invariant.c
index 34d3a169d57..b3181a37ea1 100644
--- a/src/gallium/drivers/r300/r300_state_invariant.c
+++ b/src/gallium/drivers/r300/r300_state_invariant.c
@@ -71,7 +71,8 @@ void r300_emit_invariant_state(struct r300_context* r300,
/* XXX unsorted stuff from surface_fill */
BEGIN_CS(38 + (r300->screen->caps.has_tcl ? 7 : 0) +
- (r300->screen->caps.is_rv350 ? 4 : 0));
+ (r300->screen->caps.is_rv350 ? 4 : 0) +
+ (r300->screen->caps.is_r400 ? 2 : 0));
if (r300->screen->caps.has_tcl) {
/*Flushing PVS is required before the VAP_GB registers can be changed*/
@@ -112,5 +113,7 @@ void r300_emit_invariant_state(struct r300_context* r300,
OUT_CS_REG(R300_ZB_DEPTHCLEARVALUE, 0x00000000);
OUT_CS_REG(R300_ZB_HIZ_OFFSET, 0x00000000);
OUT_CS_REG(R300_ZB_HIZ_PITCH, 0x00000000);
+ if (r300->screen->caps.is_r400)
+ OUT_CS_REG(R400_US_CODE_BANK, 0);
END_CS;
}