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

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

@ -439,13 +439,21 @@ epoxy_gl_dlsym(const char *name)
void * void *
epoxy_gles1_dlsym(const char *name) epoxy_gles1_dlsym(const char *name)
{ {
return do_dlsym(&api.gles1_handle, "libGLESv1_CM.so.1", name, true); 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);
}
} }
void * void *
epoxy_gles2_dlsym(const char *name) epoxy_gles2_dlsym(const char *name)
{ {
return do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, true); if (epoxy_current_context_is_glx()) {
return epoxy_get_proc_address(name);
} else {
return do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, true);
}
} }
/** /**
@ -461,12 +469,16 @@ epoxy_gles2_dlsym(const char *name)
void * void *
epoxy_gles3_dlsym(const char *name) epoxy_gles3_dlsym(const char *name)
{ {
void *func = do_dlsym(&api.gles2_handle, "libGLESv2.so.2", name, false); 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);
if (func) if (func)
return func; return func;
return epoxy_get_proc_address(name); return epoxy_get_proc_address(name);
}
} }
/** /**

@ -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