summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-10-27 17:28:17 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-11-14 10:43:00 +0900
commit198a508f9d36c6d1c0708589378dd702f4efdab6 (patch)
treef755c75ac58bb5ddbff039544b00c05972c0e27a
parentcd63cb0215cc859685b90a895af6a29b82d8bdb9 (diff)
downloadefl-198a508f9d36c6d1c0708589378dd702f4efdab6.tar.gz
Evas GL: Scan extensions for OpenGL-ES 1.1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext.c50
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_ext.h1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_api_gles1.c8
3 files changed, 55 insertions, 4 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_ext.c b/src/modules/evas/engines/gl_common/evas_gl_api_ext.c
index e39224132c..537b9dd786 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_ext.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_ext.c
@@ -438,6 +438,56 @@ evgl_api_ext_get(Evas_GL_API *gl_funcs)
}
+void
+evgl_api_gles1_ext_get(Evas_GL_API *gl_funcs)
+{
+ if (_evgl_api_ext_status != 1)
+ {
+ ERR("EVGL extension is not yet initialized.");
+ return;
+ }
+
+#define ORD(f) EVAS_API_OVERRIDE(f, gl_funcs, glextsym_)
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Extension HEADER
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+#define _EVASGL_EXT_CHECK_SUPPORT(name)
+#define _EVASGL_EXT_DISCARD_SUPPORT()
+#define _EVASGL_EXT_BEGIN(name) \
+ if (_gl_ext_support_##name != 0) \
+ {
+#define _EVASGL_EXT_END() \
+ }
+#define _EVASGL_EXT_DRVNAME(name)
+#define _EVASGL_EXT_FUNCTION_BEGIN(ret, name, param) \
+ ORD(name);
+#define _EVASGL_EXT_FUNCTION_END()
+#define _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(ret, name, param)
+#define _EVASGL_EXT_FUNCTION_PRIVATE_END()
+#define _EVASGL_EXT_FUNCTION_DRVFUNC(name)
+#define _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR(name)
+
+#undef _EVASGL_EXT_WHITELIST_ONLY
+#define _EVASGL_EXT_WHITELIST_ONLY 0
+
+#include "evas_gl_api_ext_def.h"
+
+#undef _EVASGL_EXT_CHECK_SUPPORT
+#undef _EVASGL_EXT_DISCARD_SUPPORT
+#undef _EVASGL_EXT_BEGIN
+#undef _EVASGL_EXT_END
+#undef _EVASGL_EXT_DRVNAME
+#undef _EVASGL_EXT_FUNCTION_BEGIN
+#undef _EVASGL_EXT_FUNCTION_END
+#undef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN
+#undef _EVASGL_EXT_FUNCTION_PRIVATE_END
+#undef _EVASGL_EXT_FUNCTION_DRVFUNC
+#undef _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+#undef ORD
+
+}
const char *
evgl_api_ext_string_get()
{
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_ext.h b/src/modules/evas/engines/gl_common/evas_gl_api_ext.h
index 9d53fc29f6..d6f4b023d5 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_ext.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_ext.h
@@ -73,6 +73,7 @@
extern Eina_Bool evgl_api_ext_init(void *getproc, const char *glueexts);
extern void evgl_api_ext_get(Evas_GL_API *gl_funcs);
+extern void evgl_api_gles1_ext_get(Evas_GL_API *gl_funcs);
extern const char *evgl_api_ext_string_get();
#endif //_EVAS_GL_API_EXT_H
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c b/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
index f03d731b27..c018f7e7f8 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
@@ -4098,8 +4098,8 @@ _debug_gles1_api_get(Evas_GL_API *funcs)
ORD(glVertexPointer);
ORD(glViewport);
#undef ORD
- // TODO: Add gles1 extensions
- //evgl_api_gles1_ext_get(funcs);
+
+ evgl_api_gles1_ext_get(funcs);
}
static void
@@ -4256,8 +4256,8 @@ _normal_gles1_api_get(Evas_GL_API *funcs)
ORD(glVertexPointer);
ORD(glViewport);
#undef ORD
- // TODO: Add GLES 1.1 extensions
- //evgl_api_gles1_ext_get(funcs);
+
+ evgl_api_gles1_ext_get(funcs);
}
void