[android] Fix build with mismatching glShaderSource signature

Not all GL implementations are following the glShaderSource signature
specified by Khronos for GLES20.

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glShaderSource.xml
This commit is contained in:
Thiago Marcos P. Santos
2019-04-04 17:26:24 +03:00
parent cc3babfdb1
commit 5a173faec1

View File

@@ -102,7 +102,12 @@ void (* const glReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, void
void (* const glRenderbufferStorage)(GLenum, GLenum, GLsizei, GLsizei) = ::glRenderbufferStorage;
void (* const glSampleCoverage)(GLfloat, GLboolean) = ::glSampleCoverage;
void (* const glScissor)(GLint, GLint, GLsizei, GLsizei) = ::glScissor;
void (* const glShaderSource)(GLuint, GLsizei, const GLchar * const*, const GLint *) = ::glShaderSource;
// Some implementations use `const GLchar* const*` and others `const GLchar**`.
void (* const glShaderSource)(GLuint, GLsizei, const GLchar * const*, const GLint *) = [](GLuint shader, GLsizei count, const GLchar * const * string, const GLint *length) {
::glShaderSource(shader, count, const_cast<const GLchar **>(string), length);
};
void (* const glStencilFunc)(GLenum, GLint, GLuint) = ::glStencilFunc;
void (* const glStencilFuncSeparate)(GLenum, GLenum, GLint, GLuint) = ::glStencilFuncSeparate;
void (* const glStencilMask)(GLuint) = ::glStencilMask;