FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressEXT", glsym_func_eng_fn);
FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddressARB", glsym_func_eng_fn);
FINDSYM(glsym_eglGetProcAddress, "eglGetProcAddress", glsym_func_eng_fn);
+#else
+#define FINDSYM(dst, sym, typ) \
+ if (glsym_glXGetProcAddress) { \
+ if (!dst) dst = (typ)glsym_glXGetProcAddress(sym); \
+ } else { \
+ if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \
+ }
+
+ FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressEXT", glsym_func_eng_fn);
+ FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressARB", glsym_func_eng_fn);
+ FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddress", glsym_func_eng_fn);
+#endif
+
+ done = 1;
+}
+
+void
+eng_gl_symbols(void)
+{
+ static int done = 0;
+
+ if (done) return;
+
+#ifdef GL_GLES
+#define FINDSYM(dst, sym, typ) \
+ if (glsym_eglGetProcAddress) { \
+ if (!dst) dst = (typ)glsym_eglGetProcAddress(sym); \
+ } else { \
+ if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \
+ }
glsym_evas_gl_symbols((void*)glsym_eglGetProcAddress);
if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \
}
- FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressEXT", glsym_func_eng_fn);
- FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddressARB", glsym_func_eng_fn);
- FINDSYM(glsym_glXGetProcAddress, "glXGetProcAddress", glsym_func_eng_fn);
-
glsym_evas_gl_symbols((void*)glsym_glXGetProcAddress);
FINDSYM(glsym_glXBindTexImage, "glXBindTexImageEXT", glsym_func_void);