aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/libui_sdl/libui/unix/gl.c13
2 files changed, 10 insertions, 5 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d096c02..a1110f1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,5 +29,5 @@ add_library(core STATIC
if (WIN32)
target_link_libraries(core ole32 comctl32 ws2_32 opengl32)
else()
- target_link_libraries(core GL)
+ target_link_libraries(core GL EGL)
endif()
diff --git a/src/libui_sdl/libui/unix/gl.c b/src/libui_sdl/libui/unix/gl.c
index 6965969..4a180ef 100644
--- a/src/libui_sdl/libui/unix/gl.c
+++ b/src/libui_sdl/libui/unix/gl.c
@@ -2,8 +2,8 @@
#include "uipriv_unix.h"
#include <GL/gl.h>
-
-void* glXGetProcAddressARB(const GLubyte* name);
+#include <GL/glx.h>
+#include <EGL/egl.h>
extern GThread* gtkthread;
extern GMutex glmutex;
@@ -220,10 +220,15 @@ void *uiGLGetProcAddress(const char* proc)
{
// TODO: consider using epoxy or something funny
- void* ptr = dlsym(NULL /* RTLD_DEFAULT */, proc);
+ void* ptr;
+
+ ptr = glXGetProcAddressARB((const GLubyte*)proc);
+ if (ptr) return ptr;
+
+ ptr = eglGetProcAddress(proc);
if (ptr) return ptr;
- ptr = glXGetProcAddressARB((const GLubyte*)proc);
+ ptr = dlsym(NULL /* RTLD_DEFAULT */, proc);
if (ptr) return ptr;
return NULL;