Evas GL: Fix list of extensions with GLESv1
authorJean-Philippe Andre <jp.andre@samsung.com>
Thu, 5 Mar 2015 09:16:05 +0000 (18:16 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Thu, 5 Mar 2015 11:59:50 +0000 (20:59 +0900)
EGL/EvasGL extensions are also valid with GLESv1.
This means evasglCreateImage could be used.

@fix

src/modules/evas/engines/gl_common/evas_gl_api_ext.c

index 5f1e045..3ae0786 100644 (file)
@@ -540,7 +540,7 @@ _evgl_api_gles1_ext_init(void)
 #ifdef GL_GLES
    int _curext_supported = 0;
    Evas_GL_API *gles1_funcs;
-   const char *gles1_exts;
+   const char *gles1_exts, *eglexts;
    EVGL_Resource *rsc;
    EGLint context_version;
    EGLDisplay dpy = EGLDISPLAY_GET();
@@ -588,6 +588,13 @@ _evgl_api_gles1_ext_init(void)
         return EINA_FALSE;
      }
 
+   eglexts = eglQueryString(dpy, EGL_EXTENSIONS);
+   if (!eglexts)
+     {
+        ERR("eglQueryString(EGL_EXTENSIONS) returned NULL!");
+        eglexts = "";
+     }
+
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    // Scanning supported extensions, sets the variables
    /////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -605,7 +612,7 @@ _evgl_api_gles1_ext_init(void)
    }
 
 #define _EVASGL_EXT_CHECK_SUPPORT(name) \
-   (strstr(gles1_exts, name) != NULL)
+   ((strstr(gles1_exts, name) != NULL) || (strstr(eglexts, name) != NULL))
 
 #define _EVASGL_EXT_DISCARD_SUPPORT() \
    *ext_support = 0;