summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-06-27 13:55:59 +0200
committerMarek Olšák <maraeo@gmail.com>2010-06-27 15:13:14 +0200
commit0a19d57b845b269601c862193ed801b19aa4c2f1 (patch)
tree337506ab9a69fb7a8245763acf08c37cb75284ee /src/gallium/drivers/r300/r300_state.c
parent808ad22592b4937e3c7c17793b2f891fb01c5dfb (diff)
r300g: separate the hyperz state and pipelined FB regs out of the FB state
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r--src/gallium/drivers/r300/r300_state.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index 567774c8be..6177ab3a54 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -708,6 +708,8 @@ static void
r300->gpu_flush.dirty = TRUE;
r300->aa_state.dirty = TRUE;
r300->fb_state.dirty = TRUE;
+ r300->hyperz_state.dirty = TRUE;
+ r300->fb_state_pipelined.dirty = TRUE;
/* If nr_cbufs is changed from zero to non-zero or vice versa... */
if (!!old_state->nr_cbufs != !!state->nr_cbufs) {
@@ -724,10 +726,9 @@ static void
copy_framebuffer_state(r300->fb_state.state, state);
r300->fb_state.size =
- 7 +
+ 2 +
(8 * state->nr_cbufs) +
- (state->zsbuf ? (r300->screen->caps.has_hiz ? 22 : 18) : 0) +
- (r300->rws->get_value(r300->rws, R300_VID_DRM_2_3_0) ? 3 : 0);
+ (state->zsbuf ? (r300->screen->caps.has_hiz ? 18 : 14) : 0);
/* Polygon offset depends on the zbuffer bit depth. */
if (state->zsbuf && r300->polygon_offset_enabled) {