forked from enlightenment/efl
gl_common: Prefer unextended eglCreateImage
eglCreateImage is objectively better than eglCreateImageKHR - it allows attributes large enough to hold pointer values. We should use it when available and only use the older extension version as fallback. Also, eglCreateImage is core EGL functionality so don't depend on extensions to be present to use it. Theoretically we should be testing for EGL version >= 1.5 but it's probably safe not to.
This commit is contained in:
parent
d31f5038e2
commit
0255f14dc2
|
@ -322,19 +322,14 @@ evas_gl_symbols(void *(*GetProcAddress)(const char *name), const char *extsn EIN
|
||||||
// wrong as this is not x11 (output) layer specific like the native surface
|
// wrong as this is not x11 (output) layer specific like the native surface
|
||||||
// stuff. this is generic zero-copy textures for gl
|
// stuff. this is generic zero-copy textures for gl
|
||||||
|
|
||||||
FINDSYMN(eglsym_eglCreateImageKHR, "eglCreateImageKHR", "EGL_KHR_image_base", secsym_func_void_ptr);
|
FINDSYMN(eglsym_eglCreateImage, "eglCreateImage", NULL, secsym_func_void_ptr);
|
||||||
FINDSYMN(eglsym_eglCreateImageKHR, "eglCreateImageKHR", "EGL_KHR_image", secsym_func_void_ptr);
|
FINDSYMN(secsym_eglDestroyImage, "eglDestroyImage", NULL, secsym_func_uint);
|
||||||
if (eglsym_eglCreateImageKHR)
|
if (!eglsym_eglCreateImage || !secsym_eglDestroyImage)
|
||||||
{
|
{
|
||||||
|
eglsym_eglCreateImage = NULL;
|
||||||
|
secsym_eglDestroyImage = NULL;
|
||||||
|
FINDSYMN(eglsym_eglCreateImageKHR, "eglCreateImageKHR", "EGL_KHR_image_base", secsym_func_void_ptr);
|
||||||
FINDSYMN(secsym_eglDestroyImage, "eglDestroyImageKHR", "EGL_KHR_image_base", secsym_func_uint);
|
FINDSYMN(secsym_eglDestroyImage, "eglDestroyImageKHR", "EGL_KHR_image_base", secsym_func_uint);
|
||||||
FINDSYMN(secsym_eglDestroyImage, "eglDestroyImageKHR", "EGL_KHR_image", secsym_func_uint);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
FINDSYMN(eglsym_eglCreateImage, "eglCreateImage", "EGL_KHR_get_all_proc_addresses", secsym_func_void_ptr);
|
|
||||||
FINDSYMN(eglsym_eglCreateImage, "eglCreateImage", "EGL_KHR_client_get_all_proc_addresses", secsym_func_void_ptr);
|
|
||||||
FINDSYMN(secsym_eglDestroyImage, "eglDestroyImage", "EGL_KHR_get_all_proc_addresses", secsym_func_uint);
|
|
||||||
FINDSYMN(secsym_eglDestroyImage, "eglDestroyImage", "EGL_KHR_client_get_all_proc_addresses", secsym_func_uint);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FINDSYM(glsym_glProgramParameteri, "glProgramParameteri", NULL, glsym_func_void);
|
FINDSYM(glsym_glProgramParameteri, "glProgramParameteri", NULL, glsym_func_void);
|
||||||
|
|
Loading…
Reference in New Issue