<?xml version="1.0"?> <!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> <!-- Note: no GLX protocol info yet. --> <OpenGLAPI> <category name="GL_ARB_shader_subroutine" number="90"> <function name="GetSubroutineUniformLocation"> <param name="program" type="GLuint"/> <param name="shadertype" type="GLenum"/> <param name="name" type="const GLchar *"/> <return type="GLint"/> </function> <function name="GetSubroutineIndex"> <param name="program" type="GLuint"/> <param name="shadertype" type="GLenum"/> <param name="name" type="const GLchar *"/> <return type="GLuint"/> </function> <function name="GetActiveSubroutineUniformiv"> <param name="program" type="GLuint"/> <param name="shadertype" type="GLenum"/> <param name="index" type="GLuint"/> <param name="pname" type="GLenum"/> <param name="values" type="GLint *" output="true"/> </function> <function name="GetActiveSubroutineUniformName"> <param name="program" type="GLuint"/> <param name="shadertype" type="GLenum"/> <param name="index" type="GLuint"/> <param name="bufsize" type="GLsizei"/> <param name="length" type="GLsizei *" output="true"/> <param name="name" type="GLchar *" output="true"/> </function> <function name="GetActiveSubroutineName"> <param name="program" type="GLuint"/> <param name="shadertype" type="GLenum"/> <param name="index" type="GLuint"/> <param name="bufsize" type="GLsizei"/> <param name="length" type="GLsizei *" output="true"/> <param name="name" type="GLchar *" output="true"/> </function> <function name="UniformSubroutinesuiv"> <param name="shadertype" type="GLenum"/> <param name="count" type="GLsizei"/> <param name="indices" type="const GLuint *"/> </function> <function name="GetUniformSubroutineuiv"> <param name="shadertype" type="GLenum"/> <param name="location" type="GLint"/> <param name="params" type="GLuint *" output="true"/> </function> <function name="GetProgramStageiv"> <param name="program" type="GLuint"/> <param name="shadertype" type="GLenum"/> <param name="pname" type="GLenum"/> <param name="values" type="GLint *" output="true"/> </function> <enum name="ACTIVE_SUBROUTINES" value="0x8DE5"/> <enum name="ACTIVE_SUBROUTINE_UNIFORMS" value="0x8DE6"/> <enum name="ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8E47"/> <enum name="ACTIVE_SUBROUTINE_MAX_LENGTH" value="0x8E48"/> <enum name="ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH" value="0x8E49"/> <enum name="MAX_SUBROUTINES" value="0x8DE7"/> <enum name="MAX_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8DE8"/> <enum name="NUM_COMPATIBLE_SUBROUTINES" value="0x8E4A"/> <enum name="COMPATIBLE_SUBROUTINES" value="0x8E4B"/> <!-- UNIFORM_SIZE, UNIFORM_NAME_LENGTH already in GL3.1 --> </category> </OpenGLAPI>