mesa: add EXT_dsa indexed generic queries
[mesa.git] / src / mapi / glapi / gen / EXT_direct_state_access.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
8 <category name="GL_EXT_direct_state_access" number="353">
9
10 <!--
11 This extension is unusual in that it is ALL interactions
12 with specific GL versions and other extensions.
13 -->
14
15 <enum name="PROGRAM_MATRIX_EXT" value="0x8E2D"/>
16 <enum name="TRANSPOSE_PROGRAM_MATRIX_EXT" value="0x8E2E"/>
17 <enum name="PROGRAM_MATRIX_STACK_DEPTH_EXT" value="0x8E2F"/>
18
19 <!-- GL1.0 extras -->
20
21 <function name="MatrixLoadfEXT" offset="assign">
22 <param name="matrixMode" type="GLenum" />
23 <param name="m" type="const GLfloat *" />
24 </function>
25 <function name="MatrixLoaddEXT" offset="assign">
26 <param name="matrixMode" type="GLenum" />
27 <param name="m" type="const GLdouble *" />
28 </function>
29 <function name="MatrixMultfEXT" offset="assign">
30 <param name="matrixMode" type="GLenum" />
31 <param name="m" type="const GLfloat *" />
32 </function>
33 <function name="MatrixMultdEXT" offset="assign">
34 <param name="matrixMode" type="GLenum" />
35 <param name="m" type="const GLdouble *" />
36 </function>
37 <function name="MatrixLoadIdentityEXT" offset="assign">
38 <param name="matrixMode" type="GLenum" />
39 </function>
40 <function name="MatrixRotatefEXT" offset="assign">
41 <param name="matrixMode" type="GLenum" />
42 <param name="angle" type="GLfloat" />
43 <param name="x" type="GLfloat" />
44 <param name="y" type="GLfloat" />
45 <param name="z" type="GLfloat" />
46 </function>
47 <function name="MatrixRotatedEXT" offset="assign">
48 <param name="matrixMode" type="GLenum" />
49 <param name="angle" type="GLdouble" />
50 <param name="x" type="GLdouble" />
51 <param name="y" type="GLdouble" />
52 <param name="z" type="GLdouble" />
53 </function>
54 <function name="MatrixScalefEXT" offset="assign">
55 <param name="matrixMode" type="GLenum" />
56 <param name="x" type="GLfloat" />
57 <param name="y" type="GLfloat" />
58 <param name="z" type="GLfloat" />
59 </function>
60 <function name="MatrixScaledEXT" offset="assign">
61 <param name="matrixMode" type="GLenum" />
62 <param name="x" type="GLdouble" />
63 <param name="y" type="GLdouble" />
64 <param name="z" type="GLdouble" />
65 </function>
66 <function name="MatrixTranslatefEXT" offset="assign">
67 <param name="matrixMode" type="GLenum" />
68 <param name="x" type="GLfloat" />
69 <param name="y" type="GLfloat" />
70 <param name="z" type="GLfloat" />
71 </function>
72 <function name="MatrixTranslatedEXT" offset="assign">
73 <param name="matrixMode" type="GLenum" />
74 <param name="x" type="GLdouble" />
75 <param name="y" type="GLdouble" />
76 <param name="z" type="GLdouble" />
77 </function>
78 <function name="MatrixOrthoEXT" offset="assign">
79 <param name="matrixMode" type="GLenum" />
80 <param name="l" type="GLdouble" />
81 <param name="r" type="GLdouble" />
82 <param name="b" type="GLdouble" />
83 <param name="t" type="GLdouble" />
84 <param name="n" type="GLdouble" />
85 <param name="f" type="GLdouble" />
86 </function>
87 <function name="MatrixFrustumEXT" offset="assign">
88 <param name="matrixMode" type="GLenum" />
89 <param name="l" type="GLdouble" />
90 <param name="r" type="GLdouble" />
91 <param name="b" type="GLdouble" />
92 <param name="t" type="GLdouble" />
93 <param name="n" type="GLdouble" />
94 <param name="f" type="GLdouble" />
95 </function>
96 <function name="MatrixPushEXT" offset="assign">
97 <param name="matrixMode" type="GLenum" />
98 </function>
99 <function name="MatrixPopEXT" offset="assign">
100 <param name="matrixMode" type="GLenum" />
101 </function>
102
103 <!-- OpenGL 1.1 -->
104
105 <function name="GetTextureParameterivEXT">
106 <param name="texture" type="GLuint" />
107 <param name="target" type="GLenum" />
108 <param name="pname" type="GLenum" />
109 <param name="params" type="GLint *" />
110 </function>
111
112 <function name="GetTextureParameterfvEXT">
113 <param name="texture" type="GLuint" />
114 <param name="target" type="GLenum" />
115 <param name="pname" type="GLenum" />
116 <param name="params" type="float *" />
117 </function>
118
119 <function name="GetTextureLevelParameterivEXT">
120 <param name="texture" type="GLuint" />
121 <param name="target" type="GLenum" />
122 <param name="level" type="GLint" />
123 <param name="pname" type="GLenum" />
124 <param name="params" type="GLint *" />
125 </function>
126
127 <function name="GetTextureLevelParameterfvEXT">
128 <param name="texture" type="GLuint" />
129 <param name="target" type="GLenum" />
130 <param name="level" type="GLint" />
131 <param name="pname" type="GLenum" />
132 <param name="params" type="float *" />
133 </function>
134
135 <function name="TextureParameteriEXT">
136 <param name="texture" type="GLuint" />
137 <param name="target" type="GLenum" />
138 <param name="pname" type="GLenum" />
139 <param name="param" type="int" />
140 </function>
141
142 <function name="TextureParameterivEXT">
143 <param name="texture" type="GLuint" />
144 <param name="target" type="GLenum" />
145 <param name="pname" type="GLenum" />
146 <param name="params" type="const GLint *" />
147 </function>
148
149 <function name="TextureParameterfEXT">
150 <param name="texture" type="GLuint" />
151 <param name="target" type="GLenum" />
152 <param name="pname" type="GLenum" />
153 <param name="param" type="float" />
154 </function>
155
156 <function name="TextureParameterfvEXT">
157 <param name="texture" type="GLuint" />
158 <param name="target" type="GLenum" />
159 <param name="pname" type="GLenum" />
160 <param name="params" type="const float *" />
161 </function>
162
163 <function name="TextureImage1DEXT">
164 <param name="texture" type="GLuint" />
165 <param name="target" type="GLenum" />
166 <param name="level" type="GLint" />
167 <param name="internalFormat" type="GLint" />
168 <param name="width" type="GLsizei" />
169 <param name="border" type="GLint" />
170 <param name="format" type="GLenum" />
171 <param name="type" type="GLenum" />
172 <param name="pixels" type="const GLvoid *" />
173 </function>
174
175 <function name="TextureImage2DEXT">
176 <param name="texture" type="GLuint" />
177 <param name="target" type="GLenum" />
178 <param name="level" type="GLint" />
179 <param name="internalFormat" type="GLint" />
180 <param name="width" type="GLsizei" />
181 <param name="height" type="GLsizei" />
182 <param name="border" type="GLint" />
183 <param name="format" type="GLenum" />
184 <param name="type" type="GLenum" />
185 <param name="pixels" type="const GLvoid *" />
186 </function>
187
188 <function name="TextureImage3DEXT">
189 <param name="texture" type="GLuint" />
190 <param name="target" type="GLenum" />
191 <param name="level" type="GLint" />
192 <param name="internalFormat" type="GLint" />
193 <param name="width" type="GLsizei" />
194 <param name="height" type="GLsizei" />
195 <param name="depth" type="GLsizei" />
196 <param name="border" type="GLint" />
197 <param name="format" type="GLenum" />
198 <param name="type" type="GLenum" />
199 <param name="pixels" type="const GLvoid *" />
200 </function>
201
202 <function name="TextureSubImage1DEXT">
203 <param name="texture" type="GLuint" />
204 <param name="target" type="GLenum" />
205 <param name="level" type="GLint" />
206 <param name="xoffset" type="GLint" />
207 <param name="width" type="GLsizei" />
208 <param name="format" type="GLenum" />
209 <param name="type" type="GLenum" />
210 <param name="pixels" type="const GLvoid *" />
211 </function>
212
213 <function name="TextureSubImage2DEXT">
214 <param name="texture" type="GLuint" />
215 <param name="target" type="GLenum" />
216 <param name="level" type="GLint" />
217 <param name="xoffset" type="GLint" />
218 <param name="yoffset" type="GLint" />
219 <param name="width" type="GLsizei" />
220 <param name="height" type="GLsizei" />
221 <param name="format" type="GLenum" />
222 <param name="type" type="GLenum" />
223 <param name="pixels" type="const GLvoid *" />
224 </function>
225
226 <function name="TextureSubImage3DEXT">
227 <param name="texture" type="GLuint" />
228 <param name="target" type="GLenum" />
229 <param name="level" type="GLint" />
230 <param name="xoffset" type="GLint" />
231 <param name="yoffset" type="GLint" />
232 <param name="zoffset" type="GLint" />
233 <param name="width" type="GLsizei" />
234 <param name="height" type="GLsizei" />
235 <param name="depth" type="GLsizei" />
236 <param name="format" type="GLenum" />
237 <param name="type" type="GLenum" />
238 <param name="pixels" type="const GLvoid *" />
239 </function>
240
241 <function name="CopyTextureImage1DEXT">
242 <param name="texture" type="GLuint" />
243 <param name="target" type="GLenum" />
244 <param name="level" type="GLint" />
245 <param name="internalFormat" type="GLenum" />
246 <param name="x" type="GLint" />
247 <param name="y" type="GLint" />
248 <param name="width" type="GLsizei" />
249 <param name="border" type="int" />
250 </function>
251
252 <function name="CopyTextureImage2DEXT">
253 <param name="texture" type="GLuint" />
254 <param name="target" type="GLenum" />
255 <param name="level" type="GLint" />
256 <param name="internalFormat" type="GLenum" />
257 <param name="x" type="GLint" />
258 <param name="y" type="GLint" />
259 <param name="width" type="GLsizei" />
260 <param name="height" type="GLsizei" />
261 <param name="border" type="int" />
262 </function>
263
264 <function name="CopyTextureSubImage1DEXT">
265 <param name="texture" type="GLuint" />
266 <param name="target" type="GLenum" />
267 <param name="level" type="GLint" />
268 <param name="xoffset" type="GLint" />
269 <param name="x" type="GLint" />
270 <param name="y" type="GLint" />
271 <param name="width" type="GLsizei" />
272 </function>
273
274 <function name="CopyTextureSubImage2DEXT">
275 <param name="texture" type="GLuint" />
276 <param name="target" type="GLenum" />
277 <param name="level" type="GLint" />
278 <param name="xoffset" type="GLint" />
279 <param name="yoffset" type="GLint" />
280 <param name="x" type="GLint" />
281 <param name="y" type="GLint" />
282 <param name="width" type="GLsizei" />
283 <param name="height" type="GLsizei" />
284 </function>
285
286 <function name="CopyTextureSubImage3DEXT">
287 <param name="texture" type="GLuint" />
288 <param name="target" type="GLenum" />
289 <param name="level" type="GLint" />
290 <param name="xoffset" type="GLint" />
291 <param name="yoffset" type="GLint" />
292 <param name="zoffset" type="GLint" />
293 <param name="x" type="GLint" />
294 <param name="y" type="GLint" />
295 <param name="width" type="GLsizei" />
296 <param name="height" type="GLsizei" />
297 </function>
298
299 <function name="GetTextureImageEXT">
300 <param name="texture" type="GLuint" />
301 <param name="target" type="GLenum" />
302 <param name="level" type="GLint" />
303 <param name="format" type="GLenum" />
304 <param name="type" type="GLenum" />
305 <param name="pixels" type="GLvoid *" />
306 </function>
307
308 <!-- OpenGL 1.2.1 -->
309
310 <function name="BindMultiTextureEXT">
311 <param name="texunit" type="GLenum" />
312 <param name="target" type="GLenum" />
313 <param name="texture" type="GLuint" />
314 </function>
315
316 <function name="EnableClientStateIndexedEXT" alias="EnableClientStateiEXT">
317 <param name="array" type="GLenum" />
318 <param name="index" type="GLuint" />
319 </function>
320
321 <function name="DisableClientStateIndexedEXT" alias="DisableClientStateiEXT">
322 <param name="array" type="GLenum" />
323 <param name="index" type="GLuint" />
324 </function>
325
326 <function name="GetFloatIndexedvEXT" alias="GetFloati_v">
327 <param name="target" type="GLenum" />
328 <param name="index" type="GLuint" />
329 <param name="params" type="GLfloat*" />
330 </function>
331
332 <function name="GetDoubleIndexedvEXT" alias="GetDoublei_v">
333 <param name="target" type="GLenum" />
334 <param name="index" type="GLuint" />
335 <param name="params" type="GLdouble*" />
336 </function>
337
338 <function name="GetPointerIndexedvEXT">
339 <param name="target" type="GLenum" />
340 <param name="index" type="GLuint" />
341 <param name="params" type="GLvoid**" />
342 </function>
343
344 <!-- OpenGL 1.3 -->
345
346 <function name="MatrixLoadTransposefEXT" offset="assign">
347 <param name="matrixMode" type="GLenum" />
348 <param name="m" type="const GLfloat *" />
349 </function>
350
351 <function name="MatrixLoadTransposedEXT" offset="assign">
352 <param name="matrixMode" type="GLenum" />
353 <param name="m" type="const GLdouble *" />
354 </function>
355
356 <function name="MatrixMultTransposefEXT" offset="assign">
357 <param name="matrixMode" type="GLenum" />
358 <param name="m" type="const GLfloat *" />
359 </function>
360
361 <function name="MatrixMultTransposedEXT" offset="assign">
362 <param name="matrixMode" type="GLenum" />
363 <param name="m" type="const GLdouble *" />
364 </function>
365
366 <function name="CompressedTextureSubImage2DEXT">
367 <param name="texture" type="GLuint" />
368 <param name="target" type="GLenum" />
369 <param name="level" type="GLint" />
370 <param name="xoffset" type="GLint" />
371 <param name="yoffset" type="GLint" />
372 <param name="width" type="GLsizei" />
373 <param name="height" type="GLsizei" />
374 <param name="format" type="GLenum" />
375 <param name="imageSize" type="GLsizei" />
376 <param name="data" type="const GLvoid *" />
377 </function>
378
379 <!-- OpenGL 1.5 -->
380
381 <function name="NamedBufferDataEXT">
382 <param name="buffer" type="GLuint" />
383 <param name="size" type="GLsizeiptr" />
384 <param name="data" type="const GLvoid *" />
385 <param name="usage" type="GLenum" />
386 </function>
387
388 <function name="NamedBufferSubDataEXT">
389 <param name="buffer" type="GLuint" />
390 <param name="offset" type="GLintptr" />
391 <param name="size" type="GLsizeiptr" />
392 <param name="data" type="const GLvoid *" />
393 </function>
394
395 <function name="MapNamedBufferEXT">
396 <return type="GLvoid *" />
397 <param name="buffer" type="GLuint" />
398 <param name="access" type="GLenum" />
399 </function>
400
401 <function name="UnmapNamedBufferEXT">
402 <return type="GLboolean" />
403 <param name="buffer" type="GLuint" />
404 </function>
405
406 <function name="GetNamedBufferSubDataEXT">
407 <param name="buffer" type="GLuint" />
408 <param name="offset" type="GLintptr" />
409 <param name="size" type="GLsizeiptr" />
410 <param name="data" type="GLvoid *" />
411 </function>
412
413 <function name="GetNamedBufferPointervEXT">
414 <param name="buffer" type="GLuint" />
415 <param name="pname" type="GLenum" />
416 <param name="params" type="GLvoid **" />
417 </function>
418
419 <function name="GetNamedBufferParameterivEXT">
420 <param name="buffer" type="GLuint" />
421 <param name="pname" type="GLenum" />
422 <param name="params" type="GLint *" />
423 </function>
424
425 <function name="FlushMappedNamedBufferRangeEXT">
426 <param name="buffer" type="GLuint" />
427 <param name="offset" type="GLintptr" />
428 <param name="length" type="GLsizeiptr" />
429 </function>
430
431 <!-- OpenGL 3.0 -->
432
433 <function name="MapNamedBufferRangeEXT">
434 <return type="GLvoid *" />
435 <param name="buffer" type="GLuint" />
436 <param name="offset" type="GLintptr" />
437 <param name="length" type="GLsizeiptr" />
438 <param name="access" type="GLbitfield" />
439 </function>
440
441 <function name="FramebufferDrawBufferEXT">
442 <param name="framebuffer" type="GLuint" />
443 <param name="mode" type="GLenum" />
444 </function>
445
446 <function name="FramebufferDrawBuffersEXT">
447 <param name="framebuffer" type="GLuint" />
448 <param name="n" type="GLsizei" />
449 <param name="bufs" type="const GLenum *" />
450 </function>
451
452 <function name="FramebufferReadBufferEXT">
453 <param name="framebuffer" type="GLuint" />
454 <param name="mode" type="GLenum" />
455 </function>
456
457 <function name="GetFramebufferParameterivEXT">
458 <param name="framebuffer" type="GLuint" />
459 <param name="pname" type="GLenum" />
460 <param name="param" type="GLint *" />
461 </function>
462
463 <function name="CheckNamedFramebufferStatusEXT">
464 <return type="GLenum" />
465 <param name="framebuffer" type="GLuint" />
466 <param name="target" type="GLenum" />
467 </function>
468
469 <function name="NamedFramebufferTexture1DEXT">
470 <param name="framebuffer" type="GLuint" />
471 <param name="attachment" type="GLenum" />
472 <param name="textarget" type="GLenum" />
473 <param name="texture" type="GLuint" />
474 <param name="level" type="GLint" />
475 </function>
476
477 <function name="NamedFramebufferTexture2DEXT">
478 <param name="framebuffer" type="GLuint" />
479 <param name="attachment" type="GLenum" />
480 <param name="textarget" type="GLenum" />
481 <param name="texture" type="GLuint" />
482 <param name="level" type="GLint" />
483 </function>
484
485 <function name="NamedFramebufferTexture3DEXT">
486 <param name="framebuffer" type="GLuint" />
487 <param name="attachment" type="GLenum" />
488 <param name="textarget" type="GLenum" />
489 <param name="texture" type="GLuint" />
490 <param name="level" type="GLint" />
491 <param name="zoffset" type="GLint" />
492 </function>
493
494 <function name="NamedFramebufferRenderbufferEXT">
495 <param name="framebuffer" type="GLuint" />
496 <param name="attachment" type="GLenum" />
497 <param name="renderbuffertarget" type="GLenum" />
498 <param name="renderbuffer" type="GLuint" />
499 </function>
500
501 <function name="GetNamedFramebufferAttachmentParameterivEXT">
502 <param name="framebuffer" type="GLuint" />
503 <param name="attachment" type="GLenum" />
504 <param name="pname" type="GLenum" />
505 <param name="params" type="GLint *" />
506 </function>
507
508 <function name="EnableClientStateiEXT">
509 <param name="array" type="GLenum" />
510 <param name="index" type="GLuint" />
511 </function>
512
513 <function name="DisableClientStateiEXT">
514 <param name="array" type="GLenum" />
515 <param name="index" type="GLuint" />
516 </function>
517
518 <function name="GetPointeri_vEXT" alias="GetPointerIndexedvEXT">
519 <param name="target" type="GLenum" />
520 <param name="index" type="GLuint" />
521 <param name="params" type="GLvoid**" />
522 </function>
523 </category>
524 </OpenGLAPI>