diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-04-04 17:26:24 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-04-05 18:58:58 +0300 |
commit | 5a173faec1aed27e08cdded48371cf9c7752b779 (patch) | |
tree | 4af3ad92cb071b5a725fceeecec7fcae6ed36219 /platform/android/src | |
parent | cc3babfdb1a7937c969be183e1f4292d4cb8cd5b (diff) | |
download | qtlocation-mapboxgl-5a173faec1aed27e08cdded48371cf9c7752b779.tar.gz |
[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
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/gl_functions.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/platform/android/src/gl_functions.cpp b/platform/android/src/gl_functions.cpp index 168ae4c52e..637788e4a8 100644 --- a/platform/android/src/gl_functions.cpp +++ b/platform/android/src/gl_functions.cpp @@ -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; |