python: Simplify st_winsys.

This commit is contained in:
José Fonseca
2008-08-13 12:41:19 +01:00
parent 0ecaa37e49
commit 50c6092355
4 changed files with 9 additions and 44 deletions

View File

@@ -41,7 +41,7 @@ static void
st_device_really_destroy(struct st_device *st_dev)
{
if(st_dev->screen)
st_dev->st_ws->screen_destroy(st_dev->screen);
st_dev->screen->destroy(st_dev->screen);
FREE(st_dev);
}
@@ -61,9 +61,7 @@ st_device_create_from_st_winsys(const struct st_winsys *st_ws)
struct st_device *st_dev;
if(!st_ws->screen_create ||
!st_ws->screen_destroy ||
!st_ws->context_create ||
!st_ws->context_destroy)
!st_ws->context_create)
return NULL;
st_dev = CALLOC_STRUCT(st_device);
@@ -106,7 +104,7 @@ st_context_destroy(struct st_context *st_ctx)
}
if(st_ctx->pipe)
st_ctx->st_dev->st_ws->context_destroy(st_ctx->pipe);
st_ctx->pipe->destroy(st_ctx->pipe);
for(i = 0; i < PIPE_MAX_SAMPLERS; ++i)
pipe_texture_reference(&st_ctx->sampler_textures[i], NULL);

View File

@@ -42,13 +42,6 @@ extern void init_gallium(void);
void (*force_init_gallium_linkage)(void) = &init_gallium;
static void
st_hardpipe_screen_destroy(struct pipe_screen *screen)
{
st_softpipe_winsys.screen_destroy(screen);
}
static struct pipe_screen *
st_hardpipe_screen_create(void)
{
@@ -56,13 +49,6 @@ st_hardpipe_screen_create(void)
}
static void
st_hardpipe_context_destroy(struct pipe_context *pipe)
{
st_softpipe_winsys.context_destroy(pipe);
}
static struct pipe_context *
st_hardpipe_context_create(struct pipe_screen *screen)
{
@@ -72,7 +58,5 @@ st_hardpipe_context_create(struct pipe_screen *screen)
const struct st_winsys st_hardpipe_winsys = {
&st_hardpipe_screen_create,
&st_hardpipe_screen_destroy,
&st_hardpipe_context_create,
&st_hardpipe_context_destroy
&st_hardpipe_context_create
};

View File

@@ -253,13 +253,9 @@ st_softpipe_fence_finish(struct pipe_winsys *winsys,
}
static void
st_softpipe_screen_destroy(struct pipe_screen *screen)
static void
st_softpipe_destroy(struct pipe_winsys *winsys)
{
struct pipe_winsys *winsys = screen->winsys;
screen->destroy(screen);
FREE(winsys);
}
@@ -274,6 +270,8 @@ st_softpipe_screen_create(void)
if(!winsys)
return NULL;
winsys->destroy = st_softpipe_destroy;
winsys->buffer_create = st_softpipe_buffer_create;
winsys->user_buffer_create = st_softpipe_user_buffer_create;
winsys->buffer_map = st_softpipe_buffer_map;
@@ -293,19 +291,12 @@ st_softpipe_screen_create(void)
screen = softpipe_create_screen(winsys);
if(!screen)
FREE(winsys);
st_softpipe_destroy(winsys);
return screen;
}
static void
st_softpipe_context_destroy(struct pipe_context *pipe)
{
pipe->destroy(pipe);
}
static struct pipe_context *
st_softpipe_context_create(struct pipe_screen *screen)
{
@@ -315,7 +306,5 @@ st_softpipe_context_create(struct pipe_screen *screen)
const struct st_winsys st_softpipe_winsys = {
&st_softpipe_screen_create,
&st_softpipe_screen_destroy,
&st_softpipe_context_create,
&st_softpipe_context_destroy
};

View File

@@ -39,14 +39,8 @@ struct st_winsys
struct pipe_screen *
(*screen_create)(void);
void
(*screen_destroy)(struct pipe_screen *screen);
struct pipe_context *
(*context_create)(struct pipe_screen *screen);
void
(*context_destroy)(struct pipe_context *pipe);
};