Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> --- src/mesa/drivers/dri/swrast/swrast.c | 74 +++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 33 deletions(-)
diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index 45ef3c2..b2f2a34 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -632,18 +632,6 @@ static gl_format swrastChooseTextureFormat(struct gl_context * ctx, return _mesa_choose_tex_format(ctx, target, internalFormat, format, type); } -static void -swrast_init_driver_functions(struct dd_function_table *driver) -{ - driver->GetString = get_string; - driver->UpdateState = update_state; - driver->GetBufferSize = NULL; - driver->Viewport = viewport; - driver->ChooseTextureFormat = swrastChooseTextureFormat; - driver->MapRenderbuffer = swrast_map_renderbuffer; - driver->UnmapRenderbuffer = swrast_unmap_renderbuffer; -} - static const char *es2_extensions[] = { /* Used by mesa internally (cf all_mesa_extensions in ../common/utils.c) */ "GL_EXT_blend_func_separate", @@ -679,6 +667,46 @@ InitExtensionsES2(struct gl_context *ctx) _mesa_enable_extension(ctx, es2_extensions[i]); } +static void +initialize_version_features(struct gl_context * ctx) +{ + _mesa_enable_sw_extensions(ctx); + + switch (ctx->API) { + case API_OPENGL_CORE: + /* XXX fix me, fall-through for now */ + case API_OPENGL: + _mesa_enable_1_3_extensions(ctx); + _mesa_enable_1_4_extensions(ctx); + _mesa_enable_1_5_extensions(ctx); + _mesa_enable_2_0_extensions(ctx); + _mesa_enable_2_1_extensions(ctx); + break; + case API_OPENGLES: + _mesa_enable_1_3_extensions(ctx); + _mesa_enable_1_4_extensions(ctx); + _mesa_enable_1_5_extensions(ctx); + + break; + case API_OPENGLES2: + InitExtensionsES2(ctx); + break; + } +} + +static void +swrast_init_driver_functions(struct dd_function_table *driver) +{ + driver->InitializeVersionFeatures = initialize_version_features; + driver->GetString = get_string; + driver->UpdateState = update_state; + driver->GetBufferSize = NULL; + driver->Viewport = viewport; + driver->ChooseTextureFormat = swrastChooseTextureFormat; + driver->MapRenderbuffer = swrast_map_renderbuffer; + driver->UnmapRenderbuffer = swrast_unmap_renderbuffer; +} + /** * Context-related functions. */ @@ -763,28 +791,8 @@ dri_create_context(gl_api api, } _mesa_meta_init(mesaCtx); - _mesa_enable_sw_extensions(mesaCtx); - - switch (api) { - case API_OPENGL_CORE: - /* XXX fix me, fall-through for now */ - case API_OPENGL: - _mesa_enable_1_3_extensions(mesaCtx); - _mesa_enable_1_4_extensions(mesaCtx); - _mesa_enable_1_5_extensions(mesaCtx); - _mesa_enable_2_0_extensions(mesaCtx); - _mesa_enable_2_1_extensions(mesaCtx); - break; - case API_OPENGLES: - _mesa_enable_1_3_extensions(mesaCtx); - _mesa_enable_1_4_extensions(mesaCtx); - _mesa_enable_1_5_extensions(mesaCtx); - break; - case API_OPENGLES2: - InitExtensionsES2( mesaCtx); - break; - } + mesaCtx->Driver.InitializeVersionFeatures(mesaCtx); *error = __DRI_CTX_ERROR_SUCCESS; return GL_TRUE; -- 1.7.9.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev