diff options
author | Brian <[email protected]> | 2007-11-02 13:22:22 -0600 |
---|---|---|
committer | Brian <[email protected]> | 2007-11-05 08:04:48 -0700 |
commit | 794e03d3926614036d285f2033d8708c7667814a (patch) | |
tree | e6b4a3e8958c4ce844c32101a25effb4c5a2e33e /src | |
parent | 7edf6304687a05f34e3f1e471451f54e7c8a5d47 (diff) |
Introduce st_framebuffer type and st_create_framebuffer(), st_make_current()
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/state_tracker/st_context.c | 23 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_context.h | 10 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_public.h | 8 |
3 files changed, 41 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 1d129ad077d..db933b86e41 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -155,6 +155,29 @@ void st_destroy_context( struct st_context *st ) } +struct st_framebuffer *st_create_framebuffer( const __GLcontextModes *visual ) +{ + struct st_framebuffer *stfb + = CALLOC_STRUCT(st_framebuffer); + if (stfb) { + } + return stfb; +} + + +void st_make_current(struct st_context *st, + struct st_framebuffer *draw, + struct st_framebuffer *read) +{ + if (st) { + _mesa_make_current(st->ctx, &draw->Base, &read->Base); + } + else { + _mesa_make_current(NULL, NULL, NULL); + } +} + + void st_init_driver_functions(struct dd_function_table *functions) { diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index 7ab69df7c7b..9b232827f4a 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -167,6 +167,16 @@ static INLINE struct st_context *st_context(GLcontext *ctx) } +/** + * Wrapper for GLframebuffer, nothing extra for now. + * This is an opaque type to the outside world. + */ +struct st_framebuffer +{ + GLframebuffer Base; +}; + + extern void st_init_driver_functions(struct dd_function_table *functions); diff --git a/src/mesa/state_tracker/st_public.h b/src/mesa/state_tracker/st_public.h index 1cc6e6e40e2..94d1cdfde45 100644 --- a/src/mesa/state_tracker/st_public.h +++ b/src/mesa/state_tracker/st_public.h @@ -31,6 +31,8 @@ #include "mtypes.h" struct st_context; +struct st_framebuffer; + struct pipe_context; struct st_context *st_create_context( GLcontext *ctx, @@ -44,6 +46,12 @@ void st_destroy_context( struct st_context *st ); void st_destroy_context2( struct st_context *st ); +struct st_framebuffer *st_create_framebuffer( const __GLcontextModes *visual ); + +void st_make_current(struct st_context *st, + struct st_framebuffer *draw, + struct st_framebuffer *read); + void st_invalidate_state(GLcontext * ctx, GLuint new_state); void st_flush( struct st_context *st ); |