summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_context.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-04-03 22:12:35 +0200
committerMarek Olšák <[email protected]>2012-04-04 04:28:40 +0200
commit6bede55241d8f672ba3d845e2ce1c00c7d65837e (patch)
treee6b1bd40e7414e385281225fa3a02cc004549fc6 /src/gallium/drivers/r300/r300_context.c
parentda2123051c3923a2953cdd96f05ad684e7d3c8c3 (diff)
r300g: initialize state & render functions before creating u_vbuf & u_blitter
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.c')
-rw-r--r--src/gallium/drivers/r300/r300_context.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index 505c6ccf99e..bf354724524 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -418,6 +418,8 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
r300_init_query_functions(r300);
r300_init_state_functions(r300);
r300_init_resource_functions(r300);
+ r300_init_render_functions(r300);
+ r300_init_states(&r300->context);
r300->context.create_video_decoder = vl_create_decoder;
r300->context.create_video_buffer = vl_video_buffer_create;
@@ -435,10 +437,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
r300->blitter = util_blitter_create(&r300->context);
if (r300->blitter == NULL)
goto fail;
-
- /* Render functions must be initialized after blitter. */
- r300_init_render_functions(r300);
- r300_init_states(&r300->context);
+ r300->blitter->draw_rectangle = r300_blitter_draw_rectangle;
rws->cs_set_flush_callback(r300->cs, r300_flush_callback, r300);