From bb9c8071eaea276658a631c47c0bedd371a7ddfc Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 26 Feb 2014 11:29:18 +0800 Subject: [PATCH] ilo: create u_upload_mgr last Similar to u_blitter, u_upload_mgr is now a client of the pipe context. Its creation needs to be delayed until the context has been (almost) initialized. --- src/gallium/drivers/ilo/ilo_context.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/ilo/ilo_context.c b/src/gallium/drivers/ilo/ilo_context.c index 1f8aa232a46..faf29c22778 100644 --- a/src/gallium/drivers/ilo/ilo_context.c +++ b/src/gallium/drivers/ilo/ilo_context.c @@ -145,13 +145,6 @@ ilo_context_create(struct pipe_screen *screen, void *priv) return NULL; } - ilo->uploader = u_upload_create(&ilo->base, 1024 * 1024, 16, - PIPE_BIND_CONSTANT_BUFFER | PIPE_BIND_INDEX_BUFFER); - if (!ilo->uploader) { - ilo_context_destroy(&ilo->base); - return NULL; - } - ilo_cp_set_flush_callback(ilo->cp, ilo_context_cp_flushed, (void *) ilo); @@ -171,7 +164,17 @@ ilo_context_create(struct pipe_screen *screen, void *priv) ilo_init_states(ilo); - /* this must be called last as u_blitter is a client of the pipe context */ + /* + * These must be called last as u_upload/u_blitter are clients of the pipe + * context. + */ + ilo->uploader = u_upload_create(&ilo->base, 1024 * 1024, 16, + PIPE_BIND_CONSTANT_BUFFER | PIPE_BIND_INDEX_BUFFER); + if (!ilo->uploader) { + ilo_context_destroy(&ilo->base); + return NULL; + } + ilo->blitter = ilo_blitter_create(ilo); if (!ilo->blitter) { ilo_context_destroy(&ilo->base); -- 2.30.2