Comment 2 for bug 1095915

Revision history for this message
In , Sam Spilsbury (smspillaz) wrote :

glShaderSource is defined in the GLES2 spec as so:

void glShaderSource( GLuint shader,
  GLsizei count,
  const GLchar **string,
  const GLint *length);

However trunk mesa (and 9.1.0) has a definition like this:

GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);

The difference being const GLchar **string, vs const GLchar* const* string

That means that if you have a function pointer to glShaderSource using the old definition, and assign the new function to it, it will fail to compile.

(And I know that code using function pointers to core functionality is insane, but it is better than using ifdefs to switch between using function pointers where that functionality is extension-only, and real function declarations where it is core functionality)