2 <!DOCTYPE OpenGLAPI SYSTEM
"gl_API.dtd">
4 <!-- Note: no GLX protocol info yet. -->
7 <category name=
"ARB_separate_shader_objects" number=
"97">
8 <enum name=
"ACTIVE_PROGRAM" value=
"0x8259"/>
9 <enum name=
"PROGRAM_PIPELINE_BINDING" value=
"0x825A"/>
10 <enum name=
"VERTEX_SHADER_BIT" value=
"0x00000001"/>
11 <enum name=
"FRAGMENT_SHADER_BIT" value=
"0x00000002"/>
12 <enum name=
"GEOMETRY_SHADER_BIT" value=
"0x00000004"/>
13 <enum name=
"TESS_CONTROL_SHADER_BIT" value=
"0x00000008"/>
14 <enum name=
"TESS_EVALUATION_SHADER_BIT" value=
"0x00000010"/>
15 <enum name=
"ALL_SHADER_BITS" value=
"0xFFFFFFFF"/>
16 <enum name=
"PROGRAM_SEPARABLE" value=
"0x8258"/>
18 <function name=
"UseProgramStages" es2=
"3.1" no_error=
"true">
19 <param name=
"pipeline" type=
"GLuint" />
20 <param name=
"stages" type=
"GLbitfield" />
21 <param name=
"program" type=
"GLuint" />
23 <function name=
"ActiveShaderProgram" es2=
"3.1" no_error=
"true">
24 <param name=
"pipeline" type=
"GLuint" />
25 <param name=
"program" type=
"GLuint" />
27 <function name=
"CreateShaderProgramv" es2=
"3.1">
28 <param name=
"type" type=
"GLenum" />
29 <param name=
"count" type=
"GLsizei" />
30 <param name=
"strings" type=
"const GLchar * const *" />
31 <return type=
"GLuint"/>
33 <function name=
"BindProgramPipeline" es2=
"3.1" no_error=
"true">
34 <param name=
"pipeline" type=
"GLuint" />
36 <function name=
"DeleteProgramPipelines" es2=
"3.1">
37 <param name=
"n" type=
"GLsizei" />
38 <param name=
"pipelines" type=
"const GLuint *" />
40 <function name=
"GenProgramPipelines" es2=
"3.1" no_error=
"true">
41 <param name=
"n" type=
"GLsizei" />
42 <param name=
"pipelines" type=
"GLuint *" />
44 <function name=
"IsProgramPipeline" es2=
"3.1">
45 <param name=
"pipeline" type=
"GLuint" />
46 <return type=
"GLboolean"/>
48 <!-- Function already included on ARB_get_program_binary.xml. Keep a commented
49 version here for completeness -->
51 <function name="ProgramParameteri" es2="3.0">
52 <param name="program" type="GLuint"/>
53 <param name="pname" type="GLenum"/>
54 <param name="value" type="GLint"/>
57 <function name=
"GetProgramPipelineiv" es2=
"3.1">
58 <param name=
"pipeline" type=
"GLuint" />
59 <param name=
"pname" type=
"GLenum" />
60 <param name=
"params" type=
"GLint *" />
62 <function name=
"ProgramUniform1i" es2=
"3.1">
63 <param name=
"program" type=
"GLuint" />
64 <param name=
"location" type=
"GLint" />
65 <param name=
"x" type=
"GLint" />
67 <function name=
"ProgramUniform2i" es2=
"3.1">
68 <param name=
"program" type=
"GLuint" />
69 <param name=
"location" type=
"GLint" />
70 <param name=
"x" type=
"GLint" />
71 <param name=
"y" type=
"GLint" />
73 <function name=
"ProgramUniform3i" es2=
"3.1">
74 <param name=
"program" type=
"GLuint" />
75 <param name=
"location" type=
"GLint" />
76 <param name=
"x" type=
"GLint" />
77 <param name=
"y" type=
"GLint" />
78 <param name=
"z" type=
"GLint" />
80 <function name=
"ProgramUniform4i" es2=
"3.1">
81 <param name=
"program" type=
"GLuint" />
82 <param name=
"location" type=
"GLint" />
83 <param name=
"x" type=
"GLint" />
84 <param name=
"y" type=
"GLint" />
85 <param name=
"z" type=
"GLint" />
86 <param name=
"w" type=
"GLint" />
88 <function name=
"ProgramUniform1ui" es2=
"3.1">
89 <param name=
"program" type=
"GLuint" />
90 <param name=
"location" type=
"GLint" />
91 <param name=
"x" type=
"GLuint" />
93 <function name=
"ProgramUniform2ui" es2=
"3.1">
94 <param name=
"program" type=
"GLuint" />
95 <param name=
"location" type=
"GLint" />
96 <param name=
"x" type=
"GLuint" />
97 <param name=
"y" type=
"GLuint" />
99 <function name=
"ProgramUniform3ui" es2=
"3.1">
100 <param name=
"program" type=
"GLuint" />
101 <param name=
"location" type=
"GLint" />
102 <param name=
"x" type=
"GLuint" />
103 <param name=
"y" type=
"GLuint" />
104 <param name=
"z" type=
"GLuint" />
106 <function name=
"ProgramUniform4ui" es2=
"3.1">
107 <param name=
"program" type=
"GLuint" />
108 <param name=
"location" type=
"GLint" />
109 <param name=
"x" type=
"GLuint" />
110 <param name=
"y" type=
"GLuint" />
111 <param name=
"z" type=
"GLuint" />
112 <param name=
"w" type=
"GLuint" />
114 <function name=
"ProgramUniform1f" es2=
"3.1">
115 <param name=
"program" type=
"GLuint" />
116 <param name=
"location" type=
"GLint" />
117 <param name=
"x" type=
"GLfloat" />
119 <function name=
"ProgramUniform2f" es2=
"3.1">
120 <param name=
"program" type=
"GLuint" />
121 <param name=
"location" type=
"GLint" />
122 <param name=
"x" type=
"GLfloat" />
123 <param name=
"y" type=
"GLfloat" />
125 <function name=
"ProgramUniform3f" es2=
"3.1">
126 <param name=
"program" type=
"GLuint" />
127 <param name=
"location" type=
"GLint" />
128 <param name=
"x" type=
"GLfloat" />
129 <param name=
"y" type=
"GLfloat" />
130 <param name=
"z" type=
"GLfloat" />
132 <function name=
"ProgramUniform4f" es2=
"3.1">
133 <param name=
"program" type=
"GLuint" />
134 <param name=
"location" type=
"GLint" />
135 <param name=
"x" type=
"GLfloat" />
136 <param name=
"y" type=
"GLfloat" />
137 <param name=
"z" type=
"GLfloat" />
138 <param name=
"w" type=
"GLfloat" />
140 <function name=
"ProgramUniform1iv" es2=
"3.1">
141 <param name=
"program" type=
"GLuint" />
142 <param name=
"location" type=
"GLint" />
143 <param name=
"count" type=
"GLsizei" />
144 <param name=
"value" type=
"const GLint *" count=
"count" />
146 <function name=
"ProgramUniform2iv" es2=
"3.1">
147 <param name=
"program" type=
"GLuint" />
148 <param name=
"location" type=
"GLint" />
149 <param name=
"count" type=
"GLsizei" />
150 <param name=
"value" type=
"const GLint *" count=
"count" count_scale=
"2" />
152 <function name=
"ProgramUniform3iv" es2=
"3.1">
153 <param name=
"program" type=
"GLuint" />
154 <param name=
"location" type=
"GLint" />
155 <param name=
"count" type=
"GLsizei" />
156 <param name=
"value" type=
"const GLint *" count=
"count" count_scale=
"3" />
158 <function name=
"ProgramUniform4iv" es2=
"3.1">
159 <param name=
"program" type=
"GLuint" />
160 <param name=
"location" type=
"GLint" />
161 <param name=
"count" type=
"GLsizei" />
162 <param name=
"value" type=
"const GLint *" count=
"count" count_scale=
"4" />
164 <function name=
"ProgramUniform1uiv" es2=
"3.1">
165 <param name=
"program" type=
"GLuint" />
166 <param name=
"location" type=
"GLint" />
167 <param name=
"count" type=
"GLsizei" />
168 <param name=
"value" type=
"const GLuint *" count=
"count" />
170 <function name=
"ProgramUniform2uiv" es2=
"3.1">
171 <param name=
"program" type=
"GLuint" />
172 <param name=
"location" type=
"GLint" />
173 <param name=
"count" type=
"GLsizei" />
174 <param name=
"value" type=
"const GLuint *" count=
"count" count_scale=
"2" />
176 <function name=
"ProgramUniform3uiv" es2=
"3.1">
177 <param name=
"program" type=
"GLuint" />
178 <param name=
"location" type=
"GLint" />
179 <param name=
"count" type=
"GLsizei" />
180 <param name=
"value" type=
"const GLuint *" count=
"count" count_scale=
"3" />
182 <function name=
"ProgramUniform4uiv" es2=
"3.1">
183 <param name=
"program" type=
"GLuint" />
184 <param name=
"location" type=
"GLint" />
185 <param name=
"count" type=
"GLsizei" />
186 <param name=
"value" type=
"const GLuint *" count=
"count" count_scale=
"4" />
188 <function name=
"ProgramUniform1fv" es2=
"3.1">
189 <param name=
"program" type=
"GLuint" />
190 <param name=
"location" type=
"GLint" />
191 <param name=
"count" type=
"GLsizei" />
192 <param name=
"value" type=
"const GLfloat *" count=
"count" />
194 <function name=
"ProgramUniform2fv" es2=
"3.1">
195 <param name=
"program" type=
"GLuint" />
196 <param name=
"location" type=
"GLint" />
197 <param name=
"count" type=
"GLsizei" />
198 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"2" />
200 <function name=
"ProgramUniform3fv" es2=
"3.1">
201 <param name=
"program" type=
"GLuint" />
202 <param name=
"location" type=
"GLint" />
203 <param name=
"count" type=
"GLsizei" />
204 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"3" />
206 <function name=
"ProgramUniform4fv" es2=
"3.1">
207 <param name=
"program" type=
"GLuint" />
208 <param name=
"location" type=
"GLint" />
209 <param name=
"count" type=
"GLsizei" />
210 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"4" />
212 <function name=
"ProgramUniformMatrix2fv" es2=
"3.1">
213 <param name=
"program" type=
"GLuint" />
214 <param name=
"location" type=
"GLint" />
215 <param name=
"count" type=
"GLsizei" />
216 <param name=
"transpose" type=
"GLboolean" />
217 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"4" />
219 <function name=
"ProgramUniformMatrix3fv" es2=
"3.1">
220 <param name=
"program" type=
"GLuint" />
221 <param name=
"location" type=
"GLint" />
222 <param name=
"count" type=
"GLsizei" />
223 <param name=
"transpose" type=
"GLboolean" />
224 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"9" />
226 <function name=
"ProgramUniformMatrix4fv" es2=
"3.1">
227 <param name=
"program" type=
"GLuint" />
228 <param name=
"location" type=
"GLint" />
229 <param name=
"count" type=
"GLsizei" />
230 <param name=
"transpose" type=
"GLboolean" />
231 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"16" />
233 <function name=
"ProgramUniformMatrix2x3fv" es2=
"3.1">
234 <param name=
"program" type=
"GLuint" />
235 <param name=
"location" type=
"GLint" />
236 <param name=
"count" type=
"GLsizei" />
237 <param name=
"transpose" type=
"GLboolean" />
238 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"6" />
240 <function name=
"ProgramUniformMatrix3x2fv" es2=
"3.1">
241 <param name=
"program" type=
"GLuint" />
242 <param name=
"location" type=
"GLint" />
243 <param name=
"count" type=
"GLsizei" />
244 <param name=
"transpose" type=
"GLboolean" />
245 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"6" />
247 <function name=
"ProgramUniformMatrix2x4fv" es2=
"3.1">
248 <param name=
"program" type=
"GLuint" />
249 <param name=
"location" type=
"GLint" />
250 <param name=
"count" type=
"GLsizei" />
251 <param name=
"transpose" type=
"GLboolean" />
252 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"8" />
254 <function name=
"ProgramUniformMatrix4x2fv" es2=
"3.1">
255 <param name=
"program" type=
"GLuint" />
256 <param name=
"location" type=
"GLint" />
257 <param name=
"count" type=
"GLsizei" />
258 <param name=
"transpose" type=
"GLboolean" />
259 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"8" />
261 <function name=
"ProgramUniformMatrix3x4fv" es2=
"3.1">
262 <param name=
"program" type=
"GLuint" />
263 <param name=
"location" type=
"GLint" />
264 <param name=
"count" type=
"GLsizei" />
265 <param name=
"transpose" type=
"GLboolean" />
266 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"12" />
268 <function name=
"ProgramUniformMatrix4x3fv" es2=
"3.1">
269 <param name=
"program" type=
"GLuint" />
270 <param name=
"location" type=
"GLint" />
271 <param name=
"count" type=
"GLsizei" />
272 <param name=
"transpose" type=
"GLboolean" />
273 <param name=
"value" type=
"const GLfloat *" count=
"count" count_scale=
"12" />
275 <function name=
"ValidateProgramPipeline" es2=
"3.1">
276 <param name=
"pipeline" type=
"GLuint" />
278 <function name=
"GetProgramPipelineInfoLog" es2=
"3.1">
279 <param name=
"pipeline" type=
"GLuint" />
280 <param name=
"bufSize" type=
"GLsizei" />
281 <param name=
"length" type=
"GLsizei *" />
282 <param name=
"infoLog" type=
"GLchar *" />
285 <function name=
"ProgramUniform1d">
286 <param name=
"program" type=
"GLuint" />
287 <param name=
"location" type=
"GLint" />
288 <param name=
"x" type=
"GLdouble" />
290 <function name=
"ProgramUniform2d">
291 <param name=
"program" type=
"GLuint" />
292 <param name=
"location" type=
"GLint" />
293 <param name=
"x" type=
"GLdouble" />
294 <param name=
"y" type=
"GLdouble" />
296 <function name=
"ProgramUniform3d">
297 <param name=
"program" type=
"GLuint" />
298 <param name=
"location" type=
"GLint" />
299 <param name=
"x" type=
"GLdouble" />
300 <param name=
"y" type=
"GLdouble" />
301 <param name=
"z" type=
"GLdouble" />
303 <function name=
"ProgramUniform4d">
304 <param name=
"program" type=
"GLuint" />
305 <param name=
"location" type=
"GLint" />
306 <param name=
"x" type=
"GLdouble" />
307 <param name=
"y" type=
"GLdouble" />
308 <param name=
"z" type=
"GLdouble" />
309 <param name=
"w" type=
"GLdouble" />
311 <function name=
"ProgramUniformMatrix2x3dv">
312 <param name=
"program" type=
"GLuint" />
313 <param name=
"location" type=
"GLint" />
314 <param name=
"count" type=
"GLsizei" />
315 <param name=
"transpose" type=
"GLboolean" />
316 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"6" />
318 <function name=
"ProgramUniformMatrix3x2dv">
319 <param name=
"program" type=
"GLuint" />
320 <param name=
"location" type=
"GLint" />
321 <param name=
"count" type=
"GLsizei" />
322 <param name=
"transpose" type=
"GLboolean" />
323 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"6" />
325 <function name=
"ProgramUniformMatrix2x4dv">
326 <param name=
"program" type=
"GLuint" />
327 <param name=
"location" type=
"GLint" />
328 <param name=
"count" type=
"GLsizei" />
329 <param name=
"transpose" type=
"GLboolean" />
330 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"8" />
332 <function name=
"ProgramUniformMatrix4x2dv">
333 <param name=
"program" type=
"GLuint" />
334 <param name=
"location" type=
"GLint" />
335 <param name=
"count" type=
"GLsizei" />
336 <param name=
"transpose" type=
"GLboolean" />
337 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"8" />
339 <function name=
"ProgramUniformMatrix3x4dv">
340 <param name=
"program" type=
"GLuint" />
341 <param name=
"location" type=
"GLint" />
342 <param name=
"count" type=
"GLsizei" />
343 <param name=
"transpose" type=
"GLboolean" />
344 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"12" />
346 <function name=
"ProgramUniformMatrix4x3dv">
347 <param name=
"program" type=
"GLuint" />
348 <param name=
"location" type=
"GLint" />
349 <param name=
"count" type=
"GLsizei" />
350 <param name=
"transpose" type=
"GLboolean" />
351 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"12" />
353 <function name=
"ProgramUniformMatrix2dv">
354 <param name=
"program" type=
"GLuint" />
355 <param name=
"location" type=
"GLint" />
356 <param name=
"count" type=
"GLsizei" />
357 <param name=
"transpose" type=
"GLboolean" />
358 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"4" />
360 <function name=
"ProgramUniformMatrix3dv">
361 <param name=
"program" type=
"GLuint" />
362 <param name=
"location" type=
"GLint" />
363 <param name=
"count" type=
"GLsizei" />
364 <param name=
"transpose" type=
"GLboolean" />
365 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"9" />
367 <function name=
"ProgramUniformMatrix4dv">
368 <param name=
"program" type=
"GLuint" />
369 <param name=
"location" type=
"GLint" />
370 <param name=
"count" type=
"GLsizei" />
371 <param name=
"transpose" type=
"GLboolean" />
372 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"16" />
374 <function name=
"ProgramUniform1dv">
375 <param name=
"program" type=
"GLuint" />
376 <param name=
"location" type=
"GLint" />
377 <param name=
"count" type=
"GLsizei" />
378 <param name=
"value" type=
"const GLdouble *" count=
"count" />
380 <function name=
"ProgramUniform2dv">
381 <param name=
"program" type=
"GLuint" />
382 <param name=
"location" type=
"GLint" />
383 <param name=
"count" type=
"GLsizei" />
384 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"2" />
386 <function name=
"ProgramUniform3dv">
387 <param name=
"program" type=
"GLuint" />
388 <param name=
"location" type=
"GLint" />
389 <param name=
"count" type=
"GLsizei" />
390 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"3" />
392 <function name=
"ProgramUniform4dv">
393 <param name=
"program" type=
"GLuint" />
394 <param name=
"location" type=
"GLint" />
395 <param name=
"count" type=
"GLsizei" />
396 <param name=
"value" type=
"const GLdouble *" count=
"count" count_scale=
"4" />