diff options
author | Henrique Dante de Almeida <hdante@profusion.mobi> | 2013-01-30 15:52:56 -0200 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@profusion.mobi> | 2013-02-26 10:17:28 -0300 |
commit | 211c33ff6e76e5d3f7dd7ac3c2feaad6900c5e3c (patch) | |
tree | 6f8426e00b0dce6068a5bba6a166d84a5afe3d49 | |
parent | b9ac180af64ef810eed95a5e08940cfa2a55b83a (diff) | |
download | efl-211c33ff6e76e5d3f7dd7ac3c2feaad6900c5e3c.tar.gz |
evas: Deal with double glShaderSource signature
The function glShaderSource may have 2 signatures:
http://stackoverflow.com/questions/12586695/signature-difference-in-openglshadersource-between-opengl-es-2-revisions
http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml
This patch changes all internal signatures to use the most restrictive signature.
-rw-r--r-- | src/modules/evas/engines/gl_common/evas_gl_api.c | 3 | ||||
-rw-r--r-- | src/modules/evas/engines/software_generic/evas_engine.c | 2 | ||||
-rw-r--r-- | src/modules/evas/engines/wayland_egl/evas_engine.c | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_api.c b/src/modules/evas/engines/gl_common/evas_gl_api.c index b6af4ca9e4..e7f0f28a9b 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_api.c +++ b/src/modules/evas/engines/gl_common/evas_gl_api.c @@ -2323,7 +2323,8 @@ _normal_gl_api_get(Evas_GL_API *funcs) ORD(glSampleCoverage); // ORD(glScissor); // ORD(glShaderBinary); - ORD(glShaderSource); +// Deal with double glShaderSource signature + funcs->glShaderSource = (void (*)(GLuint, GLsizei, const char * const *, const GLint *))glShaderSource; ORD(glStencilFunc); ORD(glStencilFuncSeparate); ORD(glStencilMask); diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 8eea25c68a..f6d40791db 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -3369,7 +3369,7 @@ evgl_glShaderSource(GLuint shader, GLsizei count, const char* const* string, con } } - _sym_glShaderSource(shader, count, (const char **)s, l); + _sym_glShaderSource(shader, count, (const char * const *)s, l); while(i) free(s[--i]); diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c index 8074009cf6..ec02883f66 100644 --- a/src/modules/evas/engines/wayland_egl/evas_engine.c +++ b/src/modules/evas/engines/wayland_egl/evas_engine.c @@ -3416,7 +3416,8 @@ eng_gl_api_get(void *data EINA_UNUSED) ORD(glSampleCoverage); // ORD(glScissor);/***/ // ORD(glShaderBinary); - ORD(glShaderSource); +// Deal with double glShaderSource signature + funcs->glShaderSource = (void (*)(GLuint, GLsizei, const char * const *, const GLint *))glShaderSource; ORD(glStencilFunc); ORD(glStencilFuncSeparate); ORD(glStencilMask); |