diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2014-10-27 17:28:17 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2014-11-14 10:43:00 +0900 |
commit | 198a508f9d36c6d1c0708589378dd702f4efdab6 (patch) | |
tree | f755c75ac58bb5ddbff039544b00c05972c0e27a | |
parent | cd63cb0215cc859685b90a895af6a29b82d8bdb9 (diff) | |
download | efl-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.c | 50 | ||||
-rw-r--r-- | src/modules/evas/engines/gl_common/evas_gl_api_ext.h | 1 | ||||
-rw-r--r-- | src/modules/evas/engines/gl_common/evas_gl_api_gles1.c | 8 |
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 |