forked from enlightenment/efl
evas/gl: Don't look for EXT and ARB extensions when on GLES.
At least on recent mesa (since commit 9f07ca11c17), it will find the mentioned symbols but they won't really work, leading to error messages, and possibly some other errors. So far, I just ifdef'ed the glGenFramebuffer and glBindFramebuffer functions, but it may require others to be ifdef'ed too. This is just a workaround, to fix https://phab.enlightenment.org/T246.
This commit is contained in:
parent
86b61b41d1
commit
3a654f795c
|
@ -95,20 +95,32 @@ gl_symbols(void)
|
|||
#endif
|
||||
#define FINDSYM2(dst, sym, typ) if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym)
|
||||
#define FALLBAK(dst, typ) if (!dst) dst = (typ)sym_missing
|
||||
|
||||
|
||||
#ifdef GL_GLES
|
||||
FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
|
||||
FINDSYM2(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
|
||||
FALLBAK(glsym_glGenFramebuffers, glsym_func_void);
|
||||
#else
|
||||
FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersEXT", glsym_func_void);
|
||||
FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffersARB", glsym_func_void);
|
||||
FINDSYM(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
|
||||
// nvidia tegra3 drivers seem to not expose via getprocaddress, but dlsym finds it
|
||||
FINDSYM2(glsym_glGenFramebuffers, "glGenFramebuffers", glsym_func_void);
|
||||
FALLBAK(glsym_glGenFramebuffers, glsym_func_void);
|
||||
#endif
|
||||
|
||||
#ifdef GL_GLES
|
||||
FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
|
||||
FINDSYM2(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
|
||||
FALLBAK(glsym_glBindFramebuffer, glsym_func_void);
|
||||
#else
|
||||
FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferEXT", glsym_func_void);
|
||||
FINDSYM(glsym_glBindFramebuffer, "glBindFramebufferARB", glsym_func_void);
|
||||
FINDSYM(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
|
||||
// nvidia tegra3 drivers seem to not expose via getprocaddress, but dlsym finds it
|
||||
FINDSYM2(glsym_glBindFramebuffer, "glBindFramebuffer", glsym_func_void);
|
||||
FALLBAK(glsym_glBindFramebuffer, glsym_func_void);
|
||||
#endif
|
||||
|
||||
FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DEXT", glsym_func_void);
|
||||
FINDSYM(glsym_glFramebufferTexture2D, "glFramebufferTexture2DARB", glsym_func_void);
|
||||
|
|
Loading…
Reference in New Issue