summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrique Dante de Almeida <hdante@profusion.mobi>2013-01-30 15:52:56 -0200
committerLucas De Marchi <lucas.demarchi@profusion.mobi>2013-02-26 10:17:28 -0300
commit211c33ff6e76e5d3f7dd7ac3c2feaad6900c5e3c (patch)
tree6f8426e00b0dce6068a5bba6a166d84a5afe3d49
parentb9ac180af64ef810eed95a5e08940cfa2a55b83a (diff)
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.c3
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c2
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_engine.c3
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)
2323 ORD(glSampleCoverage); 2323 ORD(glSampleCoverage);
2324// ORD(glScissor); 2324// ORD(glScissor);
2325// ORD(glShaderBinary); 2325// ORD(glShaderBinary);
2326 ORD(glShaderSource); 2326// Deal with double glShaderSource signature
2327 funcs->glShaderSource = (void (*)(GLuint, GLsizei, const char * const *, const GLint *))glShaderSource;
2327 ORD(glStencilFunc); 2328 ORD(glStencilFunc);
2328 ORD(glStencilFuncSeparate); 2329 ORD(glStencilFuncSeparate);
2329 ORD(glStencilMask); 2330 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
3369 } 3369 }
3370 } 3370 }
3371 3371
3372 _sym_glShaderSource(shader, count, (const char **)s, l); 3372 _sym_glShaderSource(shader, count, (const char * const *)s, l);
3373 3373
3374 while(i) 3374 while(i)
3375 free(s[--i]); 3375 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)
3416 ORD(glSampleCoverage); 3416 ORD(glSampleCoverage);
3417// ORD(glScissor);/***/ 3417// ORD(glScissor);/***/
3418// ORD(glShaderBinary); 3418// ORD(glShaderBinary);
3419 ORD(glShaderSource); 3419// Deal with double glShaderSource signature
3420 funcs->glShaderSource = (void (*)(GLuint, GLsizei, const char * const *, const GLint *))glShaderSource;
3420 ORD(glStencilFunc); 3421 ORD(glStencilFunc);
3421 ORD(glStencilFuncSeparate); 3422 ORD(glStencilFuncSeparate);
3422 ORD(glStencilMask); 3423 ORD(glStencilMask);