diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-06-24 03:52:45 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-06-24 06:10:47 +0200 |
commit | a2f14153cc2bcf0b2364e035dc788d65ea0fcd35 (patch) | |
tree | 826224e727a0c2ade4669fc0aa57f93c182538f2 /src/gallium/drivers/r300/r300_state.c | |
parent | 6b15a8d2afa1cdf8577d48b1f1644358f1e47b47 (diff) |
r300g: reorder and cleanup register writes everywhere
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_state.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 927e9362fb..247a590da5 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -702,8 +702,10 @@ static void memcpy(r300->fb_state.state, state, sizeof(struct pipe_framebuffer_state)); - r300->fb_state.size = (10 * state->nr_cbufs) + (2 * (4 - state->nr_cbufs)) + - (state->zsbuf ? 10 : 0) + 11; + r300->fb_state.size = + 16 + + (8 * state->nr_cbufs) + + (state->zsbuf ? (r300->screen->caps.has_hiz ? 22 : 18) : 0); /* Polygon offset depends on the zbuffer bit depth. */ if (state->zsbuf && r300->polygon_offset_enabled) { @@ -1575,7 +1577,7 @@ static void r300_bind_vs_state(struct pipe_context* pipe, void* shader) if (r300->screen->caps.has_tcl) { r300->vs_state.dirty = TRUE; r300->vs_state.size = - vs->code.length + 9 + + vs->code.length + 18 + (vs->immediates_count ? vs->immediates_count * 4 + 3 : 0); if (vs->externals_count) { |