Skip to content

Commit 113d174

Browse files
cogl/winsys: Remove eglGetProcAddress workaround for EGL < 1.5 (#760)
* cogl/winsys: Remove eglGetProcAddress workaround for EGL < 1.5 * cogl/egl: Restore support for EGL 1.4
1 parent 4743586 commit 113d174

File tree

9 files changed

+17
-41
lines changed

9 files changed

+17
-41
lines changed

cogl/cogl/cogl-feature-private.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ _cogl_feature_check (CoglRenderer *renderer,
5252
const char *suffix = NULL;
5353
int func_num;
5454
CoglExtGlesAvailability gles_availability = 0;
55-
gboolean in_core;
5655

5756
switch (driver)
5857
{
@@ -79,7 +78,6 @@ _cogl_feature_check (CoglRenderer *renderer,
7978
(data->gles_availability & gles_availability))
8079
{
8180
suffix = "";
82-
in_core = TRUE;
8381
}
8482
else
8583
{
@@ -132,8 +130,6 @@ _cogl_feature_check (CoglRenderer *renderer,
132130
break;
133131
}
134132
}
135-
136-
in_core = FALSE;
137133
}
138134

139135
/* If we couldn't find anything that provides the functions then
@@ -150,8 +146,7 @@ _cogl_feature_check (CoglRenderer *renderer,
150146
full_function_name = g_strconcat (data->functions[func_num].name,
151147
suffix, NULL);
152148
func = _cogl_renderer_get_proc_address (renderer,
153-
full_function_name,
154-
in_core);
149+
full_function_name);
155150
g_free (full_function_name);
156151

157152
if (func == NULL)

cogl/cogl/cogl-renderer-private.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ _cogl_renderer_remove_native_filter (CoglRenderer *renderer,
9898

9999
void *
100100
_cogl_renderer_get_proc_address (CoglRenderer *renderer,
101-
const char *name,
102-
gboolean in_core);
101+
const char *name);
103102

104103
#endif /* __COGL_RENDERER_PRIVATE_H */

cogl/cogl/cogl-renderer.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -701,12 +701,11 @@ cogl_renderer_get_winsys_id (CoglRenderer *renderer)
701701

702702
void *
703703
_cogl_renderer_get_proc_address (CoglRenderer *renderer,
704-
const char *name,
705-
gboolean in_core)
704+
const char *name)
706705
{
707706
const CoglWinsysVtable *winsys = _cogl_renderer_get_winsys (renderer);
708707

709-
return winsys->renderer_get_proc_address (renderer, name, in_core);
708+
return winsys->renderer_get_proc_address (renderer, name);
710709
}
711710

712711
void

cogl/cogl/cogl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ cogl_get_proc_address (const char* name)
5858
{
5959
_COGL_GET_CONTEXT (ctx, NULL);
6060

61-
return _cogl_renderer_get_proc_address (ctx->display->renderer, name, FALSE);
61+
return _cogl_renderer_get_proc_address (ctx->display->renderer, name);
6262
}
6363

6464
gboolean

cogl/cogl/driver/gl/gl/cogl-driver-gl.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -383,16 +383,13 @@ _cogl_driver_update_features (CoglContext *ctx,
383383
we can expect */
384384
ctx->glGetString =
385385
(void *) _cogl_renderer_get_proc_address (ctx->display->renderer,
386-
"glGetString",
387-
TRUE);
386+
"glGetString");
388387
ctx->glGetStringi =
389388
(void *) _cogl_renderer_get_proc_address (ctx->display->renderer,
390-
"glGetStringi",
391-
TRUE);
389+
"glGetStringi");
392390
ctx->glGetIntegerv =
393391
(void *) _cogl_renderer_get_proc_address (ctx->display->renderer,
394-
"glGetIntegerv",
395-
TRUE);
392+
"glGetIntegerv");
396393

397394
gl_extensions = _cogl_context_get_gl_extensions (ctx);
398395

cogl/cogl/driver/gl/gles/cogl-driver-gles.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -251,12 +251,10 @@ _cogl_driver_update_features (CoglContext *context,
251251
can expect */
252252
context->glGetString =
253253
(void *) _cogl_renderer_get_proc_address (context->display->renderer,
254-
"glGetString",
255-
TRUE);
254+
"glGetString");
256255
context->glGetStringi =
257256
(void *) _cogl_renderer_get_proc_address (context->display->renderer,
258-
"glGetStringi",
259-
TRUE);
257+
"glGetStringi");
260258

261259
gl_extensions = _cogl_context_get_gl_extensions (context);
262260

cogl/cogl/winsys/cogl-winsys-egl.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -112,20 +112,14 @@ static const CoglFeatureData winsys_feature_data[] =
112112

113113
static GCallback
114114
_cogl_winsys_renderer_get_proc_address (CoglRenderer *renderer,
115-
const char *name,
116-
gboolean in_core)
115+
const char *name)
117116
{
118-
void *ptr = NULL;
117+
GCallback result = eglGetProcAddress (name);
119118

120-
if (!in_core)
121-
ptr = eglGetProcAddress (name);
119+
if (result == NULL)
120+
g_module_symbol (renderer->libgl_module, name, (gpointer *)&result);
122121

123-
/* eglGetProcAddress doesn't support fetching core API so we need to
124-
get that separately with GModule */
125-
if (ptr == NULL)
126-
g_module_symbol (renderer->libgl_module, name, &ptr);
127-
128-
return ptr;
122+
return result;
129123
}
130124

131125
static void

cogl/cogl/winsys/cogl-winsys-glx.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,10 @@ static const CoglFeatureData winsys_feature_data[] =
156156

157157
static GCallback
158158
_cogl_winsys_renderer_get_proc_address (CoglRenderer *renderer,
159-
const char *name,
160-
gboolean in_core)
159+
const char *name)
161160
{
162161
CoglGLXRenderer *glx_renderer = renderer->winsys;
163162

164-
/* The GLX_ARB_get_proc_address extension documents that this should
165-
* work for core functions too so we don't need to do anything
166-
* special with in_core */
167-
168163
return glx_renderer->glXGetProcAddress ((const GLubyte *) name);
169164
}
170165

cogl/cogl/winsys/cogl-winsys-private.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,7 @@ typedef struct _CoglWinsysVtable
7373

7474
GCallback
7575
(*renderer_get_proc_address) (CoglRenderer *renderer,
76-
const char *name,
77-
gboolean in_core);
76+
const char *name);
7877

7978
gboolean
8079
(*renderer_connect) (CoglRenderer *renderer, GError **error);

0 commit comments

Comments
 (0)