glthread: track instance divisor changes
[mesa.git] / src / mapi / glapi / gen / ARB_separate_shader_objects.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
3
4 <!-- Note: no GLX protocol info yet. -->
5
6 <OpenGLAPI>
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"/>
17
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" />
22 </function>
23 <function name="ActiveShaderProgram" es2="3.1" no_error="true">
24 <param name="pipeline" type="GLuint" />
25 <param name="program" type="GLuint" />
26 </function>
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"/>
32 </function>
33 <function name="BindProgramPipeline" es2="3.1" no_error="true">
34 <param name="pipeline" type="GLuint" />
35 </function>
36 <function name="DeleteProgramPipelines" es2="3.1">
37 <param name="n" type="GLsizei" />
38 <param name="pipelines" type="const GLuint *" count="n"/>
39 </function>
40 <function name="GenProgramPipelines" es2="3.1" no_error="true">
41 <param name="n" type="GLsizei" />
42 <param name="pipelines" type="GLuint *" />
43 </function>
44 <function name="IsProgramPipeline" es2="3.1">
45 <param name="pipeline" type="GLuint" />
46 <return type="GLboolean"/>
47 </function>
48 <!-- Function already included on ARB_get_program_binary.xml. Keep a commented
49 version here for completeness -->
50 <!--
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"/>
55 </function>
56 -->
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 *" />
61 </function>
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" />
66 </function>
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" />
72 </function>
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" />
79 </function>
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" />
87 </function>
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" />
92 </function>
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" />
98 </function>
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" />
105 </function>
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" />
113 </function>
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" />
118 </function>
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" />
124 </function>
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" />
131 </function>
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" />
139 </function>
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" />
145 </function>
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" />
151 </function>
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" />
157 </function>
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" />
163 </function>
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" />
169 </function>
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" />
175 </function>
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" />
181 </function>
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" />
187 </function>
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" />
193 </function>
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" />
199 </function>
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" />
205 </function>
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" />
211 </function>
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" />
218 </function>
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" />
225 </function>
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" />
232 </function>
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" />
239 </function>
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" />
246 </function>
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" />
253 </function>
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" />
260 </function>
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" />
267 </function>
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" />
274 </function>
275 <function name="ValidateProgramPipeline" es2="3.1">
276 <param name="pipeline" type="GLuint" />
277 </function>
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 *" />
283 </function>
284
285 <function name="ProgramUniform1d">
286 <param name="program" type="GLuint" />
287 <param name="location" type="GLint" />
288 <param name="x" type="GLdouble" />
289 </function>
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" />
295 </function>
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" />
302 </function>
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" />
310 </function>
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" />
317 </function>
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" />
324 </function>
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" />
331 </function>
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" />
338 </function>
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" />
345 </function>
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" />
352 </function>
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" />
359 </function>
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" />
366 </function>
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" />
373 </function>
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" />
379 </function>
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" />
385 </function>
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" />
391 </function>
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" />
397 </function>
398 </category>
399 </OpenGLAPI>