Added OpenGL extensions related to shader subroutine

This commit is contained in:
Julien Valentin 2016-06-17 10:32:01 +01:00 committed by Robert Osfield
parent 0836421a66
commit e236acfed5
2 changed files with 11 additions and 6 deletions

View File

@ -572,12 +572,14 @@ class OSG_EXPORT GLExtensions : public osg::Referenced
void (GL_APIENTRY * glGetRenderbufferParameteriv) (GLenum, GLenum, GLint*);
//subroutine
GLint(GL_APIENTRY* glGetSubroutineUniformLocation)( GLuint program, GLenum shadertype, const GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineUniformName)( GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineUniformiv)( GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
GLuint (GL_APIENTRY * glGetSubroutineIndex)( GLuint program, GLenum shadertype, const GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineName)( GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
void (GL_APIENTRY * glGetProgramStageiv)( GLuint program, GLenum shadertype, GLenum pname, GLint *values);
GLint(GL_APIENTRY* glGetSubroutineUniformLocation) (GLuint program, GLenum shadertype, const GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineUniformName) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineUniformiv) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
GLuint (GL_APIENTRY * glGetSubroutineIndex) (GLuint program, GLenum shadertype, const GLchar *name);
void (GL_APIENTRY * glGetActiveSubroutineName) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
void (GL_APIENTRY * glGetProgramStageiv) (GLuint program, GLenum shadertype, GLenum pname, GLint *values);
void (GL_APIENTRY *glUniformSubroutinesuiv) (GLenum shadertype, GLsizei count,const GLuint * indices);
void (GL_APIENTRY * glGetUniformSubroutineuiv) (GLenum shadertype, GLint location, GLuint *params);
// Sync
GLsync (GL_APIENTRY * glFenceSync) (GLenum condition, GLbitfield flags);

View File

@ -1047,6 +1047,9 @@ GLExtensions::GLExtensions(unsigned int contextID)
osg::setGLExtensionFuncPtr(glGetSubroutineIndex, "glGetSubroutineIndex");
osg::setGLExtensionFuncPtr(glGetActiveSubroutineName, "glGetActiveSubroutineName");
osg::setGLExtensionFuncPtr(glGetProgramStageiv, "glGetProgramStageiv");
osg::setGLExtensionFuncPtr(glUniformSubroutinesuiv, "glUniformSubroutinesuiv");
osg::setGLExtensionFuncPtr(glGetUniformSubroutineuiv, "glGetUniformSubroutineuiv");
// Sync
osg::setGLExtensionFuncPtr(glFenceSync, "glFenceSync");