From: Brian Date: Tue, 18 Mar 2008 23:16:23 +0000 (-0600) Subject: gallium: plug in and init GL_EXT_framebuffer_blit function/extension X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0df877a0ee68359d106ba84e3dd3b7c42ae20d5a;p=mesa.git gallium: plug in and init GL_EXT_framebuffer_blit function/extension --- diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 5458ab420e4..e1fc885e0e7 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -36,6 +36,7 @@ #include "st_context.h" #include "st_cb_accum.h" #include "st_cb_bufferobjects.h" +#include "st_cb_blit.h" #include "st_cb_clear.h" #include "st_cb_drawpixels.h" #include "st_cb_fbo.h" @@ -100,6 +101,7 @@ st_create_context_priv( GLcontext *ctx, struct pipe_context *pipe ) st_init_atoms( st ); st_init_draw( st ); st_init_generate_mipmap(st); + st_init_blit(st); for (i = 0; i < PIPE_MAX_SAMPLERS; i++) st->state.sampler_list[i] = &st->state.samplers[i]; @@ -151,6 +153,8 @@ static void st_destroy_context_priv( struct st_context *st ) draw_destroy(st->draw); st_destroy_atoms( st ); st_destroy_draw( st ); + st_destroy_generate_mipmap(st); + st_destroy_blit(st); _vbo_DestroyContext(st->ctx); @@ -217,6 +221,7 @@ void st_init_driver_functions(struct dd_function_table *functions) st_init_accum_functions(functions); st_init_bufferobject_functions(functions); + st_init_blit_functions(functions); st_init_clear_functions(functions); st_init_drawpixels_functions(functions); st_init_fbo_functions(functions); diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index 09bab7bfb1b..63150dbeaf6 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -40,6 +40,9 @@ struct draw_context; struct draw_stage; struct cso_cache; struct cso_blend; +struct gen_mipmap_state; +struct blit_state; + #define ST_NEW_MESA 0x1 /* Mesa state has changed */ #define ST_NEW_FRAGMENT_PROGRAM 0x2 @@ -147,6 +150,7 @@ struct st_context } bitmap; struct gen_mipmap_state *gen_mipmap; + struct blit_state *blit; struct cso_context *cso_context; }; diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 99d2a5fb9e9..0962b5f74c5 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -143,6 +143,7 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.EXT_blend_logic_op = GL_TRUE; ctx->Extensions.EXT_blend_minmax = GL_TRUE; ctx->Extensions.EXT_blend_subtract = GL_TRUE; + ctx->Extensions.EXT_framebuffer_blit = GL_TRUE; ctx->Extensions.EXT_framebuffer_object = GL_TRUE; ctx->Extensions.EXT_fog_coord = GL_TRUE; ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;