Ask glXGetProcAddress for ES symbols when we're on a GLX context.

Fixes #24
macos/v1.5.9
Eric Anholt 12 years ago
parent b251e3ae33
commit db5b939f98
  1. 12
      src/dispatch_common.c
  2. 1
      test/Makefile.am

@ -439,14 +439,22 @@ epoxy_gl_dlsym(const char *name)
void * void *
epoxy_gles1_dlsym(const char *name) epoxy_gles1_dlsym(const char *name)
{ {
if (epoxy_current_context_is_glx()) {
return epoxy_get_proc_address(name);
} else {
return do_dlsym(&api.gles1_handle, "libGLESv1_CM.so.1", name, true); return do_dlsym(&api.gles1_handle, "libGLESv1_CM.so.1", name, true);
} }
}
void * void *
epoxy_gles2_dlsym(const char *name) epoxy_gles2_dlsym(const char *name)
{ {
if (epoxy_current_context_is_glx()) {
return epoxy_get_proc_address(name);
} else {
return do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, true); return do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, true);
} }
}
/** /**
* Does the appropriate dlsym() or eglGetProcAddress() for GLES3 * Does the appropriate dlsym() or eglGetProcAddress() for GLES3
@ -461,6 +469,9 @@ epoxy_gles2_dlsym(const char *name)
void * void *
epoxy_gles3_dlsym(const char *name) epoxy_gles3_dlsym(const char *name)
{ {
if (epoxy_current_context_is_glx()) {
return epoxy_get_proc_address(name);
} else {
void *func = do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, false); void *func = do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, false);
if (func) if (func)
@ -468,6 +479,7 @@ epoxy_gles3_dlsym(const char *name)
return epoxy_get_proc_address(name); return epoxy_get_proc_address(name);
} }
}
/** /**
* Performs either the dlsym or glXGetProcAddress()-equivalent for * Performs either the dlsym or glXGetProcAddress()-equivalent for

@ -64,7 +64,6 @@ check_BINARIES = $(EGL_AND_GLX_BIN)
XFAIL_TESTS = \ XFAIL_TESTS = \
egl_and_glx_different_pointers_egl_glx \ egl_and_glx_different_pointers_egl_glx \
glx_gles2 \
$() $()
check_PROGRAMS = $(TESTS) check_PROGRAMS = $(TESTS)

Loading…
Cancel
Save