1bf215546Sopenharmony_ci<?xml version="1.0"?>
2bf215546Sopenharmony_ci<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci<!-- Note: no GLX protocol info yet. -->
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ci<OpenGLAPI>
7bf215546Sopenharmony_ci
8bf215546Sopenharmony_ci<category name="GL_ARB_shader_subroutine" number="90">
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ci    <function name="GetSubroutineUniformLocation">
11bf215546Sopenharmony_ci        <param name="program" type="GLuint"/>
12bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
13bf215546Sopenharmony_ci        <param name="name" type="const GLchar *"/>
14bf215546Sopenharmony_ci        <return type="GLint"/>
15bf215546Sopenharmony_ci    </function>
16bf215546Sopenharmony_ci
17bf215546Sopenharmony_ci    <function name="GetSubroutineIndex">
18bf215546Sopenharmony_ci        <param name="program" type="GLuint"/>
19bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
20bf215546Sopenharmony_ci        <param name="name" type="const GLchar *"/>
21bf215546Sopenharmony_ci        <return type="GLuint"/>
22bf215546Sopenharmony_ci    </function>
23bf215546Sopenharmony_ci
24bf215546Sopenharmony_ci    <function name="GetActiveSubroutineUniformiv">
25bf215546Sopenharmony_ci        <param name="program" type="GLuint"/>
26bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
27bf215546Sopenharmony_ci        <param name="index" type="GLuint"/>
28bf215546Sopenharmony_ci        <param name="pname" type="GLenum"/>
29bf215546Sopenharmony_ci        <param name="values" type="GLint *" output="true"/>
30bf215546Sopenharmony_ci    </function>
31bf215546Sopenharmony_ci
32bf215546Sopenharmony_ci    <function name="GetActiveSubroutineUniformName">
33bf215546Sopenharmony_ci        <param name="program" type="GLuint"/>
34bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
35bf215546Sopenharmony_ci        <param name="index" type="GLuint"/>
36bf215546Sopenharmony_ci        <param name="bufsize" type="GLsizei"/>
37bf215546Sopenharmony_ci        <param name="length" type="GLsizei *" output="true"/>
38bf215546Sopenharmony_ci        <param name="name" type="GLchar *" output="true"/>
39bf215546Sopenharmony_ci    </function>
40bf215546Sopenharmony_ci
41bf215546Sopenharmony_ci    <function name="GetActiveSubroutineName">
42bf215546Sopenharmony_ci        <param name="program" type="GLuint"/>
43bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
44bf215546Sopenharmony_ci        <param name="index" type="GLuint"/>
45bf215546Sopenharmony_ci        <param name="bufsize" type="GLsizei"/>
46bf215546Sopenharmony_ci        <param name="length" type="GLsizei *" output="true"/>
47bf215546Sopenharmony_ci        <param name="name" type="GLchar *" output="true"/>
48bf215546Sopenharmony_ci    </function>
49bf215546Sopenharmony_ci
50bf215546Sopenharmony_ci    <function name="UniformSubroutinesuiv" exec="dlist">
51bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
52bf215546Sopenharmony_ci        <param name="count" type="GLsizei"/>
53bf215546Sopenharmony_ci        <param name="indices" type="const GLuint *" count="count"/>
54bf215546Sopenharmony_ci    </function>
55bf215546Sopenharmony_ci
56bf215546Sopenharmony_ci    <function name="GetUniformSubroutineuiv">
57bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
58bf215546Sopenharmony_ci        <param name="location" type="GLint"/>
59bf215546Sopenharmony_ci        <param name="params" type="GLuint *" output="true"/>
60bf215546Sopenharmony_ci    </function>
61bf215546Sopenharmony_ci
62bf215546Sopenharmony_ci    <function name="GetProgramStageiv">
63bf215546Sopenharmony_ci        <param name="program" type="GLuint"/>
64bf215546Sopenharmony_ci        <param name="shadertype" type="GLenum"/>
65bf215546Sopenharmony_ci        <param name="pname" type="GLenum"/>
66bf215546Sopenharmony_ci        <param name="values" type="GLint *" output="true"/>
67bf215546Sopenharmony_ci    </function>
68bf215546Sopenharmony_ci
69bf215546Sopenharmony_ci    <enum name="ACTIVE_SUBROUTINES" value="0x8DE5"/>
70bf215546Sopenharmony_ci    <enum name="ACTIVE_SUBROUTINE_UNIFORMS" value="0x8DE6"/>
71bf215546Sopenharmony_ci    <enum name="ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8E47"/>
72bf215546Sopenharmony_ci    <enum name="ACTIVE_SUBROUTINE_MAX_LENGTH" value="0x8E48"/>
73bf215546Sopenharmony_ci    <enum name="ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH" value="0x8E49"/>
74bf215546Sopenharmony_ci
75bf215546Sopenharmony_ci    <enum name="MAX_SUBROUTINES" value="0x8DE7"/>
76bf215546Sopenharmony_ci    <enum name="MAX_SUBROUTINE_UNIFORM_LOCATIONS" value="0x8DE8"/>
77bf215546Sopenharmony_ci
78bf215546Sopenharmony_ci    <enum name="NUM_COMPATIBLE_SUBROUTINES" value="0x8E4A"/>
79bf215546Sopenharmony_ci    <enum name="COMPATIBLE_SUBROUTINES" value="0x8E4B"/>
80bf215546Sopenharmony_ci
81bf215546Sopenharmony_ci    <!-- UNIFORM_SIZE, UNIFORM_NAME_LENGTH already in GL3.1 -->
82bf215546Sopenharmony_ci
83bf215546Sopenharmony_ci</category>
84bf215546Sopenharmony_ci</OpenGLAPI>
85