summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_context.c
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2010-01-10 11:49:25 -0800
committerCorbin Simpson <[email protected]>2010-01-10 11:49:25 -0800
commit8a2c961798b4ab1f1095f14d814242422020d4f9 (patch)
treeac6fbae457a9559b7ae30715f7e1cf34725b0719 /src/gallium/drivers/r300/r300_context.c
parent07ea7e6c80ef2bcb69ab12af69d27f7e118bc15a (diff)
r300g: Atomize ZTOP.
Also do state-change checks. ZTOP's too important to not check.
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.c')
-rw-r--r--src/gallium/drivers/r300/r300_context.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index 81a14c02b2d..abd5d268747 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -76,6 +76,7 @@ static void r300_destroy_context(struct pipe_context* context)
FREE(r300->scissor_state);
FREE(r300->vertex_info);
FREE(r300->viewport_state);
+ FREE(r300->ztop_state.state);
FREE(r300);
}
@@ -118,6 +119,7 @@ static void r300_flush_cb(void *data)
static void r300_setup_atoms(struct r300_context* r300)
{
make_empty_list(&r300->atom_list);
+ R300_INIT_ATOM(ztop);
R300_INIT_ATOM(blend);
R300_INIT_ATOM(blend_color);
R300_INIT_ATOM(clip);
@@ -172,20 +174,21 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
r300->shader_hash_table = util_hash_table_create(r300_shader_key_hash,
r300_shader_key_compare);
+ r300_setup_atoms(r300);
+
r300->blend_color_state.state = CALLOC_STRUCT(r300_blend_color_state);
r300->clip_state.state = CALLOC_STRUCT(pipe_clip_state);
r300->rs_block = CALLOC_STRUCT(r300_rs_block);
r300->scissor_state = CALLOC_STRUCT(r300_scissor_state);
r300->vertex_info = CALLOC_STRUCT(r300_vertex_info);
r300->viewport_state = CALLOC_STRUCT(r300_viewport_state);
+ r300->ztop_state.state = CALLOC_STRUCT(r300_ztop_state);
/* Open up the OQ BO. */
r300->oqbo = screen->buffer_create(screen, 4096,
PIPE_BUFFER_USAGE_VERTEX, 4096);
make_empty_list(&r300->query_list);
- r300_setup_atoms(r300);
-
r300_init_flush_functions(r300);
r300_init_query_functions(r300);