diff options
Diffstat (limited to 'src/gallium/drivers/softpipe')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_context.c | 4 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/sp_context.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/sp_screen.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/sp_video_context.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/softpipe/sp_winsys.h | 1 |
5 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index b1cfe59bc18..480b269e7f5 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -194,7 +194,8 @@ softpipe_render_condition( struct pipe_context *pipe, struct pipe_context * -softpipe_create( struct pipe_screen *screen ) +softpipe_create_context( struct pipe_screen *screen, + void *priv ) { struct softpipe_context *softpipe = CALLOC_STRUCT(softpipe_context); uint i; @@ -213,6 +214,7 @@ softpipe_create( struct pipe_screen *screen ) softpipe->pipe.winsys = screen->winsys; softpipe->pipe.screen = screen; softpipe->pipe.destroy = softpipe_destroy; + softpipe->pipe.priv = priv; /* state setters */ softpipe->pipe.create_blend_state = softpipe_create_blend_state; diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index be4613b6228..62f9e7aad3d 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -166,5 +166,8 @@ softpipe_context( struct pipe_context *pipe ) void softpipe_reset_sampler_varients(struct softpipe_context *softpipe); +struct pipe_context * +softpipe_create_context( struct pipe_screen *, void *priv ); + #endif /* SP_CONTEXT_H */ diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index ee6969e60fb..87415f43404 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -35,6 +35,7 @@ #include "sp_texture.h" #include "sp_winsys.h" #include "sp_screen.h" +#include "sp_context.h" static const char * @@ -204,6 +205,7 @@ softpipe_create_screen(struct pipe_winsys *winsys) screen->base.get_param = softpipe_get_param; screen->base.get_paramf = softpipe_get_paramf; screen->base.is_format_supported = softpipe_is_format_supported; + screen->base.context_create = softpipe_create_context; softpipe_init_screen_texture_funcs(&screen->base); u_simple_screen_init(&screen->base); diff --git a/src/gallium/drivers/softpipe/sp_video_context.c b/src/gallium/drivers/softpipe/sp_video_context.c index 7a8b132ddcd..f3dab83fa61 100644 --- a/src/gallium/drivers/softpipe/sp_video_context.c +++ b/src/gallium/drivers/softpipe/sp_video_context.c @@ -250,7 +250,7 @@ sp_mpeg12_create(struct pipe_screen *screen, enum pipe_video_profile profile, ctx->base.set_decode_target = sp_mpeg12_set_decode_target; ctx->base.set_csc_matrix = sp_mpeg12_set_csc_matrix; - ctx->pipe = softpipe_create(screen); + ctx->pipe = screen->context_create(screen, NULL); if (!ctx->pipe) { FREE(ctx); return NULL; diff --git a/src/gallium/drivers/softpipe/sp_winsys.h b/src/gallium/drivers/softpipe/sp_winsys.h index 3042e01a05c..6e3920c49b2 100644 --- a/src/gallium/drivers/softpipe/sp_winsys.h +++ b/src/gallium/drivers/softpipe/sp_winsys.h @@ -47,7 +47,6 @@ struct pipe_texture; struct pipe_buffer; -struct pipe_context *softpipe_create( struct pipe_screen * ); /** * Create a softpipe screen that uses the |