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_context.c | |
parent | 6b15a8d2afa1cdf8577d48b1f1644358f1e47b47 (diff) |
r300g: reorder and cleanup register writes everywhere
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_context.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index 16a75aa612..b35c91ac5b 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -117,27 +117,34 @@ static void r300_setup_atoms(struct r300_context* r300) * Some atoms never change size, others change every emit - those have * the size of 0 here. */ make_empty_list(&r300->atom_list); + /* XXX unsorted. */ R300_INIT_ATOM(invariant_state, 71); + /* RB3D (unpipelined), ZB (unpipelined), US, SC. */ + R300_INIT_ATOM(fb_state, 0); R300_INIT_ATOM(ztop_state, 2); - R300_INIT_ATOM(query_start, 4); + R300_INIT_ATOM(dsa_state, is_r500 ? 8 : 6); R300_INIT_ATOM(blend_state, 8); R300_INIT_ATOM(blend_color_state, is_r500 ? 3 : 2); - R300_INIT_ATOM(clip_state, has_tcl ? 5 + (6 * 4) : 2); - R300_INIT_ATOM(dsa_state, is_r500 ? 8 : 6); - R300_INIT_ATOM(fb_state, 0); - R300_INIT_ATOM(rs_state, 0); R300_INIT_ATOM(scissor_state, 3); + /* VAP. */ R300_INIT_ATOM(viewport_state, 9); - R300_INIT_ATOM(rs_block_state, 0); - R300_INIT_ATOM(vertex_stream_state, 0); R300_INIT_ATOM(pvs_flush, 2); + R300_INIT_ATOM(vertex_stream_state, 0); R300_INIT_ATOM(vs_state, 0); R300_INIT_ATOM(vs_constants, 0); - R300_INIT_ATOM(texture_cache_inval, 2); - R300_INIT_ATOM(textures_state, 0); + R300_INIT_ATOM(clip_state, has_tcl ? 5 + (6 * 4) : 2); + /* VAP, RS, GA, GB. */ + R300_INIT_ATOM(rs_block_state, 0); + R300_INIT_ATOM(rs_state, 0); + /* US. */ R300_INIT_ATOM(fs, 0); R300_INIT_ATOM(fs_rc_constant_state, 0); R300_INIT_ATOM(fs_constants, 0); + /* TX. */ + R300_INIT_ATOM(texture_cache_inval, 2); + R300_INIT_ATOM(textures_state, 0); + /* ZB (unpipelined), SU. */ + R300_INIT_ATOM(query_start, 4); /* Replace emission functions for r500. */ if (r300->screen->caps.is_r500) { |