diff --git a/cogl/cogl/cogl-feature-private.c b/cogl/cogl/cogl-feature-private.c index 3b2a9be98..99cff4bb3 100644 --- a/cogl/cogl/cogl-feature-private.c +++ b/cogl/cogl/cogl-feature-private.c @@ -52,7 +52,6 @@ _cogl_feature_check (CoglRenderer *renderer, const char *suffix = NULL; int func_num; CoglExtGlesAvailability gles_availability = 0; - gboolean in_core; switch (driver) { @@ -79,7 +78,6 @@ _cogl_feature_check (CoglRenderer *renderer, (data->gles_availability & gles_availability)) { suffix = ""; - in_core = TRUE; } else { @@ -132,8 +130,6 @@ _cogl_feature_check (CoglRenderer *renderer, break; } } - - in_core = FALSE; } /* If we couldn't find anything that provides the functions then @@ -150,8 +146,7 @@ _cogl_feature_check (CoglRenderer *renderer, full_function_name = g_strconcat (data->functions[func_num].name, suffix, NULL); func = _cogl_renderer_get_proc_address (renderer, - full_function_name, - in_core); + full_function_name); g_free (full_function_name); if (func == NULL) diff --git a/cogl/cogl/cogl-renderer-private.h b/cogl/cogl/cogl-renderer-private.h index 66634c075..62e99fdb0 100644 --- a/cogl/cogl/cogl-renderer-private.h +++ b/cogl/cogl/cogl-renderer-private.h @@ -98,7 +98,6 @@ _cogl_renderer_remove_native_filter (CoglRenderer *renderer, void * _cogl_renderer_get_proc_address (CoglRenderer *renderer, - const char *name, - gboolean in_core); + const char *name); #endif /* __COGL_RENDERER_PRIVATE_H */ diff --git a/cogl/cogl/cogl-renderer.c b/cogl/cogl/cogl-renderer.c index b99662da4..925548a08 100644 --- a/cogl/cogl/cogl-renderer.c +++ b/cogl/cogl/cogl-renderer.c @@ -701,12 +701,11 @@ cogl_renderer_get_winsys_id (CoglRenderer *renderer) void * _cogl_renderer_get_proc_address (CoglRenderer *renderer, - const char *name, - gboolean in_core) + const char *name) { const CoglWinsysVtable *winsys = _cogl_renderer_get_winsys (renderer); - return winsys->renderer_get_proc_address (renderer, name, in_core); + return winsys->renderer_get_proc_address (renderer, name); } void diff --git a/cogl/cogl/cogl.c b/cogl/cogl/cogl.c index 2cf0dbe21..ceac0a466 100644 --- a/cogl/cogl/cogl.c +++ b/cogl/cogl/cogl.c @@ -58,7 +58,7 @@ cogl_get_proc_address (const char* name) { _COGL_GET_CONTEXT (ctx, NULL); - return _cogl_renderer_get_proc_address (ctx->display->renderer, name, FALSE); + return _cogl_renderer_get_proc_address (ctx->display->renderer, name); } gboolean diff --git a/cogl/cogl/driver/gl/gl/cogl-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-driver-gl.c index bb780cec5..e15c172eb 100644 --- a/cogl/cogl/driver/gl/gl/cogl-driver-gl.c +++ b/cogl/cogl/driver/gl/gl/cogl-driver-gl.c @@ -383,16 +383,13 @@ _cogl_driver_update_features (CoglContext *ctx, we can expect */ ctx->glGetString = (void *) _cogl_renderer_get_proc_address (ctx->display->renderer, - "glGetString", - TRUE); + "glGetString"); ctx->glGetStringi = (void *) _cogl_renderer_get_proc_address (ctx->display->renderer, - "glGetStringi", - TRUE); + "glGetStringi"); ctx->glGetIntegerv = (void *) _cogl_renderer_get_proc_address (ctx->display->renderer, - "glGetIntegerv", - TRUE); + "glGetIntegerv"); gl_extensions = _cogl_context_get_gl_extensions (ctx); diff --git a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c index ca98823e8..f0ecc6585 100644 --- a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c +++ b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c @@ -251,12 +251,10 @@ _cogl_driver_update_features (CoglContext *context, can expect */ context->glGetString = (void *) _cogl_renderer_get_proc_address (context->display->renderer, - "glGetString", - TRUE); + "glGetString"); context->glGetStringi = (void *) _cogl_renderer_get_proc_address (context->display->renderer, - "glGetStringi", - TRUE); + "glGetStringi"); gl_extensions = _cogl_context_get_gl_extensions (context); diff --git a/cogl/cogl/winsys/cogl-winsys-egl.c b/cogl/cogl/winsys/cogl-winsys-egl.c index 5dd106d1b..0d24824d8 100644 --- a/cogl/cogl/winsys/cogl-winsys-egl.c +++ b/cogl/cogl/winsys/cogl-winsys-egl.c @@ -112,20 +112,14 @@ static const CoglFeatureData winsys_feature_data[] = static GCallback _cogl_winsys_renderer_get_proc_address (CoglRenderer *renderer, - const char *name, - gboolean in_core) + const char *name) { - void *ptr = NULL; + GCallback result = eglGetProcAddress (name); - if (!in_core) - ptr = eglGetProcAddress (name); + if (result == NULL) + g_module_symbol (renderer->libgl_module, name, (gpointer *)&result); - /* eglGetProcAddress doesn't support fetching core API so we need to - get that separately with GModule */ - if (ptr == NULL) - g_module_symbol (renderer->libgl_module, name, &ptr); - - return ptr; + return result; } static void diff --git a/cogl/cogl/winsys/cogl-winsys-glx.c b/cogl/cogl/winsys/cogl-winsys-glx.c index c2deaeb8b..f5d537f38 100644 --- a/cogl/cogl/winsys/cogl-winsys-glx.c +++ b/cogl/cogl/winsys/cogl-winsys-glx.c @@ -156,15 +156,10 @@ static const CoglFeatureData winsys_feature_data[] = static GCallback _cogl_winsys_renderer_get_proc_address (CoglRenderer *renderer, - const char *name, - gboolean in_core) + const char *name) { CoglGLXRenderer *glx_renderer = renderer->winsys; - /* The GLX_ARB_get_proc_address extension documents that this should - * work for core functions too so we don't need to do anything - * special with in_core */ - return glx_renderer->glXGetProcAddress ((const GLubyte *) name); } diff --git a/cogl/cogl/winsys/cogl-winsys-private.h b/cogl/cogl/winsys/cogl-winsys-private.h index d849ef705..7781f9004 100644 --- a/cogl/cogl/winsys/cogl-winsys-private.h +++ b/cogl/cogl/winsys/cogl-winsys-private.h @@ -73,8 +73,7 @@ typedef struct _CoglWinsysVtable GCallback (*renderer_get_proc_address) (CoglRenderer *renderer, - const char *name, - gboolean in_core); + const char *name); gboolean (*renderer_connect) (CoglRenderer *renderer, GError **error);