• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 *" count="16"/>
24   </function>
25   <function name="MatrixLoaddEXT" offset="assign">
26      <param name="matrixMode" type="GLenum" />
27      <param name="m" type="const GLdouble *" count="16"/>
28   </function>
29   <function name="MatrixMultfEXT" offset="assign">
30      <param name="matrixMode" type="GLenum" />
31      <param name="m" type="const GLfloat *" count="16"/>
32   </function>
33   <function name="MatrixMultdEXT" offset="assign">
34      <param name="matrixMode" type="GLenum" />
35      <param name="m" type="const GLdouble *" count="16"/>
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             marshal_call_after="_mesa_glthread_MatrixPushEXT(ctx, matrixMode);">
98      <param name="matrixMode" type="GLenum" />
99   </function>
100   <function name="MatrixPopEXT" offset="assign"
101             marshal_call_after="_mesa_glthread_MatrixPopEXT(ctx, matrixMode);">
102      <param name="matrixMode" type="GLenum" />
103   </function>
104
105   <!-- OpenGL 1.1 -->
106
107    <function name="ClientAttribDefaultEXT"
108              marshal_call_after="if (COMPAT) _mesa_glthread_ClientAttribDefault(ctx, mask);">
109       <param name="mask" type="GLbitfield" />
110    </function>
111
112    <function name="PushClientAttribDefaultEXT"
113              marshal_call_after="if (COMPAT) _mesa_glthread_PushClientAttrib(ctx, mask, true);">
114       <param name="mask" type="GLbitfield" />
115    </function>
116
117    <function name="GetTextureParameterivEXT">
118       <param name="texture" type="GLuint" />
119       <param name="target" type="GLenum" />
120       <param name="pname" type="GLenum" />
121       <param name="params" type="GLint *" />
122    </function>
123
124    <function name="GetTextureParameterfvEXT">
125       <param name="texture" type="GLuint" />
126       <param name="target" type="GLenum" />
127       <param name="pname" type="GLenum" />
128       <param name="params" type="float *" />
129    </function>
130
131    <function name="GetTextureLevelParameterivEXT">
132       <param name="texture" type="GLuint" />
133       <param name="target" type="GLenum" />
134       <param name="level" type="GLint" />
135       <param name="pname" type="GLenum" />
136       <param name="params" type="GLint *" />
137    </function>
138
139    <function name="GetTextureLevelParameterfvEXT">
140       <param name="texture" type="GLuint" />
141       <param name="target" type="GLenum" />
142       <param name="level" type="GLint" />
143       <param name="pname" type="GLenum" />
144       <param name="params" type="float *" />
145    </function>
146
147    <function name="TextureParameteriEXT">
148       <param name="texture" type="GLuint" />
149       <param name="target" type="GLenum" />
150       <param name="pname" type="GLenum" />
151       <param name="param" type="int" />
152    </function>
153
154    <function name="TextureParameterivEXT">
155       <param name="texture" type="GLuint" />
156       <param name="target" type="GLenum" />
157       <param name="pname" type="GLenum" />
158       <param name="params" type="const GLint *" count="_mesa_tex_param_enum_to_count(pname)"/>
159    </function>
160
161    <function name="TextureParameterfEXT">
162       <param name="texture" type="GLuint" />
163       <param name="target" type="GLenum" />
164       <param name="pname" type="GLenum" />
165       <param name="param" type="float" />
166    </function>
167
168    <function name="TextureParameterfvEXT">
169       <param name="texture" type="GLuint" />
170       <param name="target" type="GLenum" />
171       <param name="pname" type="GLenum" />
172       <param name="params" type="const float *" count="_mesa_tex_param_enum_to_count(pname)"/>
173    </function>
174
175   <function name="TextureImage1DEXT"
176             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
177      <param name="texture" type="GLuint" />
178      <param name="target" type="GLenum" />
179      <param name="level" type="GLint" />
180      <param name="internalFormat" type="GLint" />
181      <param name="width" 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="TextureImage2DEXT"
189             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
190      <param name="texture" type="GLuint" />
191      <param name="target" type="GLenum" />
192      <param name="level" type="GLint" />
193      <param name="internalFormat" type="GLint" />
194      <param name="width" type="GLsizei" />
195      <param name="height" 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="TextureImage3DEXT"
203             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
204      <param name="texture" type="GLuint" />
205      <param name="target" type="GLenum" />
206      <param name="level" type="GLint" />
207      <param name="internalFormat" type="GLint" />
208      <param name="width" type="GLsizei" />
209      <param name="height" type="GLsizei" />
210      <param name="depth" type="GLsizei" />
211      <param name="border" type="GLint" />
212      <param name="format" type="GLenum" />
213      <param name="type" type="GLenum" />
214      <param name="pixels" type="const GLvoid *" />
215   </function>
216
217   <function name="TextureSubImage1DEXT"
218             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
219      <param name="texture" type="GLuint" />
220      <param name="target" type="GLenum" />
221      <param name="level" type="GLint" />
222      <param name="xoffset" type="GLint" />
223      <param name="width" type="GLsizei" />
224      <param name="format" type="GLenum" />
225      <param name="type" type="GLenum" />
226      <param name="pixels" type="const GLvoid *" />
227   </function>
228
229   <function name="TextureSubImage2DEXT"
230             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
231      <param name="texture" type="GLuint" />
232      <param name="target" type="GLenum" />
233      <param name="level" type="GLint" />
234      <param name="xoffset" type="GLint" />
235      <param name="yoffset" type="GLint" />
236      <param name="width" type="GLsizei" />
237      <param name="height" type="GLsizei" />
238      <param name="format" type="GLenum" />
239      <param name="type" type="GLenum" />
240      <param name="pixels" type="const GLvoid *" />
241   </function>
242
243   <function name="TextureSubImage3DEXT"
244             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
245      <param name="texture" type="GLuint" />
246      <param name="target" type="GLenum" />
247      <param name="level" type="GLint" />
248      <param name="xoffset" type="GLint" />
249      <param name="yoffset" type="GLint" />
250      <param name="zoffset" type="GLint" />
251      <param name="width" type="GLsizei" />
252      <param name="height" type="GLsizei" />
253      <param name="depth" type="GLsizei" />
254      <param name="format" type="GLenum" />
255      <param name="type" type="GLenum" />
256      <param name="pixels" type="const GLvoid *" />
257   </function>
258
259   <function name="CopyTextureImage1DEXT">
260      <param name="texture" type="GLuint" />
261      <param name="target" type="GLenum" />
262      <param name="level" type="GLint" />
263      <param name="internalFormat" type="GLenum" />
264      <param name="x" type="GLint" />
265      <param name="y" type="GLint" />
266      <param name="width" type="GLsizei" />
267      <param name="border" type="int" />
268   </function>
269
270   <function name="CopyTextureImage2DEXT">
271      <param name="texture" type="GLuint" />
272      <param name="target" type="GLenum" />
273      <param name="level" type="GLint" />
274      <param name="internalFormat" type="GLenum" />
275      <param name="x" type="GLint" />
276      <param name="y" type="GLint" />
277      <param name="width" type="GLsizei" />
278      <param name="height" type="GLsizei" />
279      <param name="border" type="int" />
280   </function>
281
282   <function name="CopyTextureSubImage1DEXT">
283      <param name="texture" type="GLuint" />
284      <param name="target" type="GLenum" />
285      <param name="level" type="GLint" />
286      <param name="xoffset" type="GLint" />
287      <param name="x" type="GLint" />
288      <param name="y" type="GLint" />
289      <param name="width" type="GLsizei" />
290   </function>
291
292   <function name="CopyTextureSubImage2DEXT">
293      <param name="texture" type="GLuint" />
294      <param name="target" type="GLenum" />
295      <param name="level" type="GLint" />
296      <param name="xoffset" type="GLint" />
297      <param name="yoffset" type="GLint" />
298      <param name="x" type="GLint" />
299      <param name="y" type="GLint" />
300      <param name="width" type="GLsizei" />
301      <param name="height" type="GLsizei" />
302   </function>
303
304   <function name="CopyTextureSubImage3DEXT">
305      <param name="texture" type="GLuint" />
306      <param name="target" type="GLenum" />
307      <param name="level" type="GLint" />
308      <param name="xoffset" type="GLint" />
309      <param name="yoffset" type="GLint" />
310      <param name="zoffset" type="GLint" />
311      <param name="x" type="GLint" />
312      <param name="y" type="GLint" />
313      <param name="width" type="GLsizei" />
314      <param name="height" type="GLsizei" />
315   </function>
316
317   <function name="GetTextureImageEXT"
318             marshal="async" marshal_sync="_mesa_glthread_has_no_pack_buffer(ctx)">
319      <param name="texture" type="GLuint" />
320      <param name="target" type="GLenum" />
321      <param name="level" type="GLint" />
322      <param name="format" type="GLenum" />
323      <param name="type" type="GLenum" />
324      <param name="pixels" type="GLvoid *" />
325   </function>
326
327   <!-- OpenGL 1.2.1 -->
328
329  <function name="BindMultiTextureEXT">
330      <param name="texunit" type="GLenum" />
331      <param name="target" type="GLenum" />
332      <param name="texture" type="GLuint" />
333   </function>
334
335  <function name="EnableClientStateIndexedEXT" alias="EnableClientStateiEXT">
336      <param name="array" type="GLenum" />
337      <param name="index" type="GLuint" />
338   </function>
339
340  <function name="DisableClientStateIndexedEXT" alias="DisableClientStateiEXT">
341      <param name="array" type="GLenum" />
342      <param name="index" type="GLuint" />
343   </function>
344
345   <function name="GetFloatIndexedvEXT" alias="GetFloati_v">
346      <param name="target" type="GLenum" />
347      <param name="index" type="GLuint" />
348      <param name="params" type="GLfloat*" />
349   </function>
350
351   <function name="GetDoubleIndexedvEXT" alias="GetDoublei_v">
352      <param name="target" type="GLenum" />
353      <param name="index" type="GLuint" />
354      <param name="params" type="GLdouble*" />
355   </function>
356
357   <function name="GetPointerIndexedvEXT">
358      <param name="target" type="GLenum" />
359      <param name="index" type="GLuint" />
360      <param name="params" type="GLvoid**" />
361   </function>
362
363   <function name="MultiTexEnviEXT">
364      <param name="texunit" type="GLenum" />
365      <param name="target" type="GLenum" />
366      <param name="pname" type="GLenum" />
367      <param name="param" type="GLint" />
368   </function>
369
370   <function name="MultiTexEnvivEXT">
371      <param name="texunit" type="GLenum" />
372      <param name="target" type="GLenum" />
373      <param name="pname" type="GLenum" />
374      <param name="param" type="const GLint *" count="_mesa_texenv_enum_to_count(pname)"/>
375   </function>
376
377   <function name="MultiTexEnvfEXT">
378      <param name="texunit" type="GLenum" />
379      <param name="target" type="GLenum" />
380      <param name="pname" type="GLenum" />
381      <param name="param" type="GLfloat" />
382   </function>
383
384   <function name="MultiTexEnvfvEXT">
385      <param name="texunit" type="GLenum" />
386      <param name="target" type="GLenum" />
387      <param name="pname" type="GLenum" />
388      <param name="param" type="const GLfloat *" count="_mesa_texenv_enum_to_count(pname)"/>
389   </function>
390
391   <function name="GetMultiTexEnvivEXT">
392      <param name="texunit" type="GLenum" />
393      <param name="target" type="GLenum" />
394      <param name="pname" type="GLenum" />
395      <param name="param" type="GLint *" />
396   </function>
397
398   <function name="GetMultiTexEnvfvEXT">
399      <param name="texunit" type="GLenum" />
400      <param name="target" type="GLenum" />
401      <param name="pname" type="GLenum" />
402      <param name="param" type="GLfloat *" />
403   </function>
404
405   <function name="MultiTexParameteriEXT">
406      <param name="texunit" type="GLenum" />
407      <param name="target" type="GLenum" />
408      <param name="pname" type="GLenum" />
409      <param name="param" type="GLint" />
410   </function>
411
412   <function name="MultiTexParameterivEXT">
413      <param name="texunit" type="GLenum" />
414      <param name="target" type="GLenum" />
415      <param name="pname" type="GLenum" />
416      <param name="param" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
417   </function>
418
419   <function name="MultiTexParameterfEXT">
420      <param name="texunit" type="GLenum" />
421      <param name="target" type="GLenum" />
422      <param name="pname" type="GLenum" />
423      <param name="param" type="GLfloat" />
424   </function>
425
426   <function name="MultiTexParameterfvEXT">
427      <param name="texunit" type="GLenum" />
428      <param name="target" type="GLenum" />
429      <param name="pname" type="GLenum" />
430      <param name="param" type="const GLfloat*" count="_mesa_tex_param_enum_to_count(pname)"/>
431   </function>
432
433   <function name="GetMultiTexParameterivEXT">
434      <param name="texunit" type="GLenum" />
435      <param name="target" type="GLenum" />
436      <param name="pname" type="GLenum" />
437      <param name="params" type="GLint*" />
438   </function>
439
440   <function name="GetMultiTexParameterfvEXT">
441      <param name="texunit" type="GLenum" />
442      <param name="target" type="GLenum" />
443      <param name="pname" type="GLenum" />
444      <param name="params" type="GLfloat*" />
445   </function>
446
447   <function name="GetMultiTexImageEXT"
448             marshal="async" marshal_sync="_mesa_glthread_has_no_pack_buffer(ctx)">
449      <param name="texunit" type="GLenum" />
450      <param name="target" type="GLenum" />
451      <param name="level" type="GLint" />
452      <param name="format" type="GLenum" />
453      <param name="type" type="GLenum" />
454      <param name="pixels" type="GLvoid*" />
455   </function>
456
457   <function name="GetMultiTexLevelParameterivEXT">
458      <param name="texunit" type="GLenum" />
459      <param name="target" type="GLenum" />
460      <param name="level" type="GLint" />
461      <param name="pname" type="GLenum" />
462      <param name="params" type="GLint*" />
463   </function>
464
465   <function name="GetMultiTexLevelParameterfvEXT">
466      <param name="texunit" type="GLenum" />
467      <param name="target" type="GLenum" />
468      <param name="level" type="GLint" />
469      <param name="pname" type="GLenum" />
470      <param name="params" type="GLfloat*" />
471   </function>
472
473   <function name="MultiTexImage1DEXT"
474             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
475      <param name="texunit" type="GLenum" />
476      <param name="target" type="GLenum" />
477      <param name="level" type="GLint" />
478      <param name="internalformat" type="GLint" />
479      <param name="width" type="GLsizei" />
480      <param name="border" type="GLint" />
481      <param name="format" type="GLenum" />
482      <param name="type" type="GLenum" />
483      <param name="pixels" type="const GLvoid*" />
484   </function>
485
486   <function name="MultiTexImage2DEXT"
487             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
488      <param name="texunit" type="GLenum" />
489      <param name="target" type="GLenum" />
490      <param name="level" type="GLint" />
491      <param name="internalformat" type="GLint" />
492      <param name="width" type="GLsizei" />
493      <param name="height" type="GLsizei" />
494      <param name="border" type="GLint" />
495      <param name="format" type="GLenum" />
496      <param name="type" type="GLenum" />
497      <param name="pixels" type="const GLvoid*" />
498   </function>
499
500   <function name="MultiTexImage3DEXT"
501             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
502      <param name="texunit" type="GLenum" />
503      <param name="target" type="GLenum" />
504      <param name="level" type="GLint" />
505      <param name="internalformat" type="GLint" />
506      <param name="width" type="GLsizei" />
507      <param name="height" type="GLsizei" />
508      <param name="depth" type="GLsizei" />
509      <param name="border" type="GLint" />
510      <param name="format" type="GLenum" />
511      <param name="type" type="GLenum" />
512      <param name="pixels" type="const GLvoid*" />
513   </function>
514
515   <function name="MultiTexSubImage1DEXT"
516             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
517      <param name="texunit" type="GLenum" />
518      <param name="target" type="GLenum" />
519      <param name="level" type="GLint" />
520      <param name="xoffset" type="GLint" />
521      <param name="width" type="GLsizei" />
522      <param name="format" type="GLenum" />
523      <param name="type" type="GLenum" />
524      <param name="pixels" type="const GLvoid*" />
525   </function>
526
527   <function name="MultiTexSubImage2DEXT"
528             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
529      <param name="texunit" type="GLenum" />
530      <param name="target" type="GLenum" />
531      <param name="level" type="GLint" />
532      <param name="xoffset" type="GLint" />
533      <param name="yoffset" type="GLint" />
534      <param name="width" type="GLsizei" />
535      <param name="height" type="GLsizei" />
536      <param name="format" type="GLenum" />
537      <param name="type" type="GLenum" />
538      <param name="pixels" type="const GLvoid*" />
539   </function>
540
541   <function name="MultiTexSubImage3DEXT"
542             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
543      <param name="texunit" type="GLenum" />
544      <param name="target" type="GLenum" />
545      <param name="level" type="GLint" />
546      <param name="xoffset" type="GLint" />
547      <param name="yoffset" type="GLint" />
548      <param name="zoffset" type="GLint" />
549      <param name="width" type="GLsizei" />
550      <param name="height" type="GLsizei" />
551      <param name="depth" type="GLsizei" />
552      <param name="format" type="GLenum" />
553      <param name="type" type="GLenum" />
554      <param name="pixels" type="const GLvoid*" />
555   </function>
556
557   <function name="CopyMultiTexImage1DEXT">
558      <param name="texunit" type="GLenum" />
559      <param name="target" type="GLenum" />
560      <param name="level" type="GLint" />
561      <param name="internalformat" type="GLenum" />
562      <param name="x" type="GLint" />
563      <param name="y" type="GLint" />
564      <param name="width" type="GLsizei" />
565      <param name="border" type="GLint" />
566   </function>
567
568   <function name="CopyMultiTexImage2DEXT">
569      <param name="texunit" type="GLenum" />
570      <param name="target" type="GLenum" />
571      <param name="level" type="GLint" />
572      <param name="internalformat" type="GLenum" />
573      <param name="x" type="GLint" />
574      <param name="y" type="GLint" />
575      <param name="width" type="GLsizei" />
576      <param name="height" type="GLsizei" />
577      <param name="border" type="GLint" />
578   </function>
579
580   <function name="CopyMultiTexSubImage1DEXT">
581      <param name="texunit" type="GLenum" />
582      <param name="target" type="GLenum" />
583      <param name="level" type="GLint" />
584      <param name="xoffset" type="GLint" />
585      <param name="x" type="GLint" />
586      <param name="y" type="GLint" />
587      <param name="width" type="GLsizei" />
588   </function>
589
590   <function name="CopyMultiTexSubImage2DEXT">
591      <param name="texunit" type="GLenum" />
592      <param name="target" type="GLenum" />
593      <param name="level" type="GLint" />
594      <param name="xoffset" type="GLint" />
595      <param name="yoffset" type="GLint" />
596      <param name="x" type="GLint" />
597      <param name="y" type="GLint" />
598      <param name="width" type="GLsizei" />
599      <param name="height" type="GLsizei" />
600   </function>
601
602   <function name="CopyMultiTexSubImage3DEXT">
603      <param name="texunit" type="GLenum" />
604      <param name="target" type="GLenum" />
605      <param name="level" type="GLint" />
606      <param name="xoffset" type="GLint" />
607      <param name="yoffset" type="GLint" />
608      <param name="zoffset" type="GLint" />
609      <param name="x" type="GLint" />
610      <param name="y" type="GLint" />
611      <param name="width" type="GLsizei" />
612      <param name="height" type="GLsizei" />
613   </function>
614
615   <function name="MultiTexGendEXT">
616      <param name="texunit" type="GLenum" />
617      <param name="coord" type="GLenum" />
618      <param name="pname" type="GLenum" />
619      <param name="param" type="GLdouble" />
620   </function>
621
622   <function name="MultiTexGendvEXT">
623      <param name="texunit" type="GLenum" />
624      <param name="coord" type="GLenum" />
625      <param name="pname" type="GLenum" />
626      <param name="param" type="const GLdouble*" count="_mesa_texgen_enum_to_count(pname)"/>
627   </function>
628
629   <function name="MultiTexGenfEXT">
630      <param name="texunit" type="GLenum" />
631      <param name="coord" type="GLenum" />
632      <param name="pname" type="GLenum" />
633      <param name="param" type="GLfloat" />
634   </function>
635
636   <function name="MultiTexGenfvEXT">
637      <param name="texunit" type="GLenum" />
638      <param name="coord" type="GLenum" />
639      <param name="pname" type="GLenum" />
640      <param name="param" type="const GLfloat *" count="_mesa_texgen_enum_to_count(pname)"/>
641   </function>
642
643   <function name="MultiTexGeniEXT">
644      <param name="texunit" type="GLenum" />
645      <param name="coord" type="GLenum" />
646      <param name="pname" type="GLenum" />
647      <param name="param" type="GLint" />
648   </function>
649
650   <function name="MultiTexGenivEXT">
651      <param name="texunit" type="GLenum" />
652      <param name="coord" type="GLenum" />
653      <param name="pname" type="GLenum" />
654      <param name="param" type="const GLint *" count="_mesa_texgen_enum_to_count(pname)"/>
655   </function>
656
657   <function name="GetMultiTexGendvEXT">
658      <param name="texunit" type="GLenum" />
659      <param name="coord" type="GLenum" />
660      <param name="pname" type="GLenum" />
661      <param name="param" type="GLdouble *" />
662   </function>
663
664   <function name="GetMultiTexGenfvEXT">
665      <param name="texunit" type="GLenum" />
666      <param name="coord" type="GLenum" />
667      <param name="pname" type="GLenum" />
668      <param name="param" type="GLfloat *" />
669   </function>
670
671   <function name="GetMultiTexGenivEXT">
672      <param name="texunit" type="GLenum" />
673      <param name="coord" type="GLenum" />
674      <param name="pname" type="GLenum" />
675      <param name="param" type="GLint *" />
676   </function>
677
678   <function name="MultiTexCoordPointerEXT" marshal="async"
679             marshal_call_after="if (COMPAT) _mesa_glthread_AttribPointer(ctx, VERT_ATTRIB_TEX(texunit - GL_TEXTURE0), size, type, stride,  pointer);">
680      <param name="texunit" type="GLenum" />
681      <param name="size" type="GLint" />
682      <param name="type" type="GLenum" />
683      <param name="stride" type="GLsizei" />
684      <param name="pointer" type="const GLvoid *" />
685   </function>
686
687   <!-- OpenGL 1.3 -->
688
689   <function name="MatrixLoadTransposefEXT" offset="assign">
690      <param name="matrixMode" type="GLenum" />
691      <param name="m" type="const GLfloat *" count="16"/>
692   </function>
693
694   <function name="MatrixLoadTransposedEXT" offset="assign">
695      <param name="matrixMode" type="GLenum" />
696      <param name="m" type="const GLdouble *" count="16"/>
697   </function>
698
699   <function name="MatrixMultTransposefEXT" offset="assign">
700      <param name="matrixMode" type="GLenum" />
701      <param name="m" type="const GLfloat *" count="16"/>
702   </function>
703
704   <function name="MatrixMultTransposedEXT" offset="assign">
705      <param name="matrixMode" type="GLenum" />
706      <param name="m" type="const GLdouble *" count="16"/>
707    </function>
708
709   <function name="CompressedTextureImage1DEXT"
710             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
711      <param name="texture" type="GLuint" />
712      <param name="target" type="GLenum" />
713      <param name="level" type="GLint" />
714      <param name="internalFormat" type="GLenum" />
715      <param name="width" type="GLsizei" />
716      <param name="border" type="GLsizei" />
717      <param name="imageSize" type="GLsizei" />
718      <param name="data" type="const GLvoid *" />
719   </function>
720
721   <function name="CompressedTextureImage2DEXT"
722             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
723      <param name="texture" type="GLuint" />
724      <param name="target" type="GLenum" />
725      <param name="level" type="GLint" />
726      <param name="internalFormat" type="GLenum" />
727      <param name="width" type="GLsizei" />
728      <param name="height" type="GLsizei" />
729      <param name="border" type="GLsizei" />
730      <param name="imageSize" type="GLsizei" />
731      <param name="data" type="const GLvoid *" />
732   </function>
733
734   <function name="CompressedTextureImage3DEXT"
735             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
736      <param name="texture" type="GLuint" />
737      <param name="target" type="GLenum" />
738      <param name="level" type="GLint" />
739      <param name="internalFormat" type="GLenum" />
740      <param name="width" type="GLsizei" />
741      <param name="height" type="GLsizei" />
742      <param name="depth" type="GLsizei" />
743      <param name="border" type="GLsizei" />
744      <param name="imageSize" type="GLsizei" />
745      <param name="data" type="const GLvoid *" />
746   </function>
747
748   <function name="CompressedTextureSubImage1DEXT"
749             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
750      <param name="texture" type="GLuint" />
751      <param name="target" type="GLenum" />
752      <param name="level" type="GLint" />
753      <param name="xoffset" type="GLint" />
754      <param name="width" type="GLsizei" />
755      <param name="format" type="GLenum" />
756      <param name="imageSize" type="GLsizei" />
757      <param name="data" type="const GLvoid *" />
758   </function>
759
760   <function name="CompressedTextureSubImage2DEXT"
761             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
762      <param name="texture" type="GLuint" />
763      <param name="target" type="GLenum" />
764      <param name="level" type="GLint" />
765      <param name="xoffset" type="GLint" />
766      <param name="yoffset" type="GLint" />
767      <param name="width" type="GLsizei" />
768      <param name="height" type="GLsizei" />
769      <param name="format" type="GLenum" />
770      <param name="imageSize" type="GLsizei" />
771      <param name="data" type="const GLvoid *" />
772   </function>
773
774   <function name="CompressedTextureSubImage3DEXT"
775             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
776      <param name="texture" type="GLuint" />
777      <param name="target" type="GLenum" />
778      <param name="level" type="GLint" />
779      <param name="xoffset" type="GLint" />
780      <param name="yoffset" type="GLint" />
781      <param name="zoffset" type="GLint" />
782      <param name="width" type="GLsizei" />
783      <param name="height" type="GLsizei" />
784      <param name="depth" type="GLsizei" />
785      <param name="format" type="GLenum" />
786      <param name="imageSize" type="GLsizei" />
787      <param name="data" type="const GLvoid *" />
788   </function>
789
790   <function name="GetCompressedTextureImageEXT"
791             marshal="async" marshal_sync="_mesa_glthread_has_no_pack_buffer(ctx)">
792      <param name="texture" type="GLuint" />
793      <param name="target" type="GLenum" />
794      <param name="level" type="GLint" />
795      <param name="img" type="GLvoid *" />
796   </function>
797
798   <function name="CompressedMultiTexImage1DEXT"
799             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
800      <param name="texunit" type="GLenum" />
801      <param name="target" type="GLenum" />
802      <param name="level" type="GLint" />
803      <param name="internalFormat" type="GLenum" />
804      <param name="width" type="GLsizei" />
805      <param name="border" type="GLsizei" />
806      <param name="imageSize" type="GLsizei" />
807      <param name="data" type="const GLvoid *" />
808   </function>
809
810   <function name="CompressedMultiTexImage2DEXT"
811             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
812      <param name="texunit" type="GLenum" />
813      <param name="target" type="GLenum" />
814      <param name="level" type="GLint" />
815      <param name="internalFormat" type="GLenum" />
816      <param name="width" type="GLsizei" />
817      <param name="height" type="GLsizei" />
818      <param name="border" type="GLsizei" />
819      <param name="imageSize" type="GLsizei" />
820      <param name="data" type="const GLvoid *" />
821   </function>
822
823   <function name="CompressedMultiTexImage3DEXT"
824             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
825      <param name="texunit" type="GLenum" />
826      <param name="target" type="GLenum" />
827      <param name="level" type="GLint" />
828      <param name="internalFormat" type="GLenum" />
829      <param name="width" type="GLsizei" />
830      <param name="height" type="GLsizei" />
831      <param name="depth" type="GLsizei" />
832      <param name="border" type="GLsizei" />
833      <param name="imageSize" type="GLsizei" />
834      <param name="data" type="const GLvoid *" />
835   </function>
836
837   <function name="CompressedMultiTexSubImage1DEXT"
838             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
839      <param name="texunit" type="GLenum" />
840      <param name="target" type="GLenum" />
841      <param name="level" type="GLint" />
842      <param name="xoffset" type="GLint" />
843      <param name="width" type="GLsizei" />
844      <param name="format" type="GLenum" />
845      <param name="imageSize" type="GLsizei" />
846      <param name="data" type="const GLvoid *" />
847   </function>
848
849   <function name="CompressedMultiTexSubImage2DEXT"
850             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
851      <param name="texunit" type="GLenum" />
852      <param name="target" type="GLenum" />
853      <param name="level" type="GLint" />
854      <param name="xoffset" type="GLint" />
855      <param name="yoffset" type="GLint" />
856      <param name="width" type="GLsizei" />
857      <param name="height" type="GLsizei" />
858      <param name="format" type="GLenum" />
859      <param name="imageSize" type="GLsizei" />
860      <param name="data" type="const GLvoid *" />
861   </function>
862
863   <function name="CompressedMultiTexSubImage3DEXT"
864             marshal="async" marshal_sync="_mesa_glthread_has_no_unpack_buffer(ctx)">
865      <param name="texunit" type="GLenum" />
866      <param name="target" type="GLenum" />
867      <param name="level" type="GLint" />
868      <param name="xoffset" type="GLint" />
869      <param name="yoffset" type="GLint" />
870      <param name="zoffset" type="GLint" />
871      <param name="width" type="GLsizei" />
872      <param name="height" type="GLsizei" />
873      <param name="depth" type="GLsizei" />
874      <param name="format" type="GLenum" />
875      <param name="imageSize" type="GLsizei" />
876      <param name="data" type="const GLvoid *" />
877   </function>
878
879   <function name="GetCompressedMultiTexImageEXT"
880             marshal="async" marshal_sync="_mesa_glthread_has_no_pack_buffer(ctx)">
881      <param name="texunit" type="GLenum" />
882      <param name="target" type="GLenum" />
883      <param name="level" type="GLint" />
884      <param name="img" type="GLvoid *" />
885   </function>
886
887   <!-- OpenGL 1.5 -->
888
889   <function name="NamedBufferDataEXT" marshal="custom">
890      <param name="buffer" type="GLuint" />
891      <param name="size" type="GLsizeiptr" />
892      <param name="data" type="const GLvoid *" />
893      <param name="usage" type="GLenum" />
894   </function>
895
896   <function name="NamedBufferSubDataEXT" marshal="custom">
897      <param name="buffer" type="GLuint" />
898      <param name="offset" type="GLintptr" />
899      <param name="size" type="GLsizeiptr" />
900      <param name="data" type="const GLvoid *" />
901   </function>
902
903   <function name="MapNamedBufferEXT">
904      <return type="GLvoid *" />
905      <param name="buffer" type="GLuint" />
906      <param name="access" type="GLenum" />
907   </function>
908
909   <function name="UnmapNamedBufferEXT" marshal="async">
910      <return type="GLboolean" />
911      <param name="buffer" type="GLuint" />
912   </function>
913
914   <function name="GetNamedBufferSubDataEXT">
915      <param name="buffer" type="GLuint" />
916      <param name="offset" type="GLintptr" />
917      <param name="size" type="GLsizeiptr" />
918      <param name="data" type="GLvoid *" />
919   </function>
920
921   <function name="GetNamedBufferPointervEXT">
922      <param name="buffer" type="GLuint" />
923      <param name="pname" type="GLenum" />
924      <param name="params" type="GLvoid **" />
925   </function>
926
927   <function name="GetNamedBufferParameterivEXT">
928      <param name="buffer" type="GLuint" />
929      <param name="pname" type="GLenum" />
930      <param name="params" type="GLint *" />
931   </function>
932
933   <function name="FlushMappedNamedBufferRangeEXT">
934      <param name="buffer" type="GLuint" />
935      <param name="offset" type="GLintptr" />
936      <param name="length" type="GLsizeiptr" />
937   </function>
938
939   <!-- OpenGL 2.0 -->
940   <!--
941      ProgramUniform* functions are already declared in EXT_separate_shader_objects.xml
942   -->
943
944   <!-- OpenGL 3.0 -->
945
946   <function name="MapNamedBufferRangeEXT">
947      <return type="GLvoid *" />
948      <param name="buffer" type="GLuint" />
949      <param name="offset" type="GLintptr" />
950      <param name="length" type="GLsizeiptr" />
951      <param name="access" type="GLbitfield" />
952   </function>
953
954   <function name="FramebufferDrawBufferEXT">
955      <param name="framebuffer" type="GLuint" />
956      <param name="mode" type="GLenum" />
957   </function>
958
959   <function name="FramebufferDrawBuffersEXT">
960      <param name="framebuffer" type="GLuint" />
961      <param name="n" type="GLsizei" />
962      <param name="bufs" type="const GLenum *" count="n"/>
963   </function>
964
965   <function name="FramebufferReadBufferEXT">
966      <param name="framebuffer" type="GLuint" />
967      <param name="mode" type="GLenum" />
968   </function>
969
970   <function name="GetFramebufferParameterivEXT">
971      <param name="framebuffer" type="GLuint" />
972      <param name="pname" type="GLenum" />
973      <param name="param" type="GLint *" />
974   </function>
975
976   <function name="CheckNamedFramebufferStatusEXT">
977      <return type="GLenum" />
978      <param name="framebuffer" type="GLuint" />
979      <param name="target" type="GLenum" />
980   </function>
981
982   <function name="NamedFramebufferTexture1DEXT">
983      <param name="framebuffer" type="GLuint" />
984      <param name="attachment" type="GLenum" />
985      <param name="textarget" type="GLenum" />
986      <param name="texture" type="GLuint" />
987      <param name="level" type="GLint" />
988   </function>
989
990   <function name="NamedFramebufferTexture2DEXT">
991      <param name="framebuffer" type="GLuint" />
992      <param name="attachment" type="GLenum" />
993      <param name="textarget" type="GLenum" />
994      <param name="texture" type="GLuint" />
995      <param name="level" type="GLint" />
996   </function>
997
998   <function name="NamedFramebufferTexture3DEXT">
999      <param name="framebuffer" type="GLuint" />
1000      <param name="attachment" type="GLenum" />
1001      <param name="textarget" type="GLenum" />
1002      <param name="texture" type="GLuint" />
1003      <param name="level" type="GLint" />
1004      <param name="zoffset" type="GLint" />
1005   </function>
1006
1007   <function name="NamedFramebufferRenderbufferEXT">
1008      <param name="framebuffer" type="GLuint" />
1009      <param name="attachment" type="GLenum" />
1010      <param name="renderbuffertarget" type="GLenum" />
1011      <param name="renderbuffer" type="GLuint" />
1012   </function>
1013
1014   <function name="GetNamedFramebufferAttachmentParameterivEXT">
1015      <param name="framebuffer" type="GLuint" />
1016      <param name="attachment" type="GLenum" />
1017      <param name="pname" type="GLenum" />
1018      <param name="params" type="GLint *" />
1019   </function>
1020
1021   <function name="EnableClientStateiEXT"
1022             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_TEX(index), true);">
1023      <param name="array" type="GLenum" />
1024      <param name="index" type="GLuint" />
1025   </function>
1026
1027   <function name="DisableClientStateiEXT"
1028             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, NULL, VERT_ATTRIB_TEX(index), false);">
1029      <param name="array" type="GLenum" />
1030      <param name="index" type="GLuint" />
1031   </function>
1032
1033   <function name="GetPointeri_vEXT" alias="GetPointerIndexedvEXT">
1034      <param name="target" type="GLenum" />
1035      <param name="index" type="GLuint" />
1036      <param name="params" type="GLvoid**" />
1037   </function>
1038
1039   <function name="NamedRenderbufferStorageEXT">
1040      <param name="renderbuffer" type="GLuint" />
1041      <param name="internalformat" type="GLenum" />
1042      <param name="width" type="GLsizei" />
1043      <param name="height" type="GLsizei" />
1044   </function>
1045
1046   <function name="GetNamedRenderbufferParameterivEXT">
1047      <param name="renderbuffer" type="GLuint" />
1048      <param name="pname" type="GLenum" />
1049      <param name="params" type="GLint *" />
1050   </function>
1051
1052   <function name="GetFloati_vEXT" alias="GetFloati_v">
1053      <param name="target" type="GLenum" />
1054      <param name="index" type="GLuint" />
1055      <param name="params" type="GLfloat*" />
1056   </function>
1057
1058   <function name="GetDoublei_vEXT" alias="GetDoublei_v">
1059      <param name="target" type="GLenum" />
1060      <param name="index" type="GLuint" />
1061      <param name="params" type="GLdouble*" />
1062   </function>
1063
1064   <function name="GenerateTextureMipmapEXT">
1065      <param name="texture" type="GLuint" />
1066      <param name="target" type="GLenum" />
1067   </function>
1068
1069   <function name="GenerateMultiTexMipmapEXT">
1070      <param name="texunit" type="GLenum" />
1071      <param name="target" type="GLenum" />
1072   </function>
1073
1074   <function name="NamedRenderbufferStorageMultisampleEXT">
1075      <param name="renderbuffer" type="GLuint" />
1076      <param name="samples" type="GLsizei" />
1077      <param name="internalformat" type="GLenum" />
1078      <param name="width" type="GLsizei" />
1079      <param name="height" type="GLsizei" />
1080   </function>
1081
1082   <function name="NamedCopyBufferSubDataEXT">
1083      <param name="readBuffer" type="GLuint" />
1084      <param name="writeBuffer" type="GLuint" />
1085      <param name="readOffset" type="GLintptr" />
1086      <param name="writeOffset" type="GLintptr" />
1087      <param name="size" type="GLsizeiptr" />
1088   </function>
1089
1090   <function name="VertexArrayVertexOffsetEXT"
1091             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_POS, size, type, stride, offset);">
1092      <param name="vaobj" type="GLuint" />
1093      <param name="buffer" type="GLuint" />
1094      <param name="size" type="GLint" />
1095      <param name="type" type="GLenum" />
1096      <param name="stride" type="GLsizei" />
1097      <param name="offset" type="GLintptr" />
1098   </function>
1099
1100   <function name="VertexArrayColorOffsetEXT"
1101             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR0, size, type, stride, offset);">
1102      <param name="vaobj" type="GLuint" />
1103      <param name="buffer" type="GLuint" />
1104      <param name="size" type="GLint" />
1105      <param name="type" type="GLenum" />
1106      <param name="stride" type="GLsizei" />
1107      <param name="offset" type="GLintptr" />
1108   </function>
1109
1110   <function name="VertexArrayEdgeFlagOffsetEXT"
1111             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_EDGEFLAG, 1, GL_UNSIGNED_BYTE, stride, offset);">
1112      <param name="vaobj" type="GLuint" />
1113      <param name="buffer" type="GLuint" />
1114      <param name="stride" type="GLsizei" />
1115      <param name="offset" type="GLintptr" />
1116   </function>
1117
1118   <function name="VertexArrayIndexOffsetEXT"
1119             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR_INDEX, 1, type, stride, offset);">
1120      <param name="vaobj" type="GLuint" />
1121      <param name="buffer" type="GLuint" />
1122      <param name="type" type="GLenum" />
1123      <param name="stride" type="GLsizei" />
1124      <param name="offset" type="GLintptr" />
1125   </function>
1126
1127   <function name="VertexArrayNormalOffsetEXT"
1128             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_NORMAL, 3, type, stride, offset);">
1129      <param name="vaobj" type="GLuint" />
1130      <param name="buffer" type="GLuint" />
1131      <param name="type" type="GLenum" />
1132      <param name="stride" type="GLsizei" />
1133      <param name="offset" type="GLintptr" />
1134   </function>
1135
1136   <function name="VertexArrayTexCoordOffsetEXT"
1137             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_TEX(ctx->GLThread.ClientActiveTexture), size, type, stride, offset);">
1138      <param name="vaobj" type="GLuint" />
1139      <param name="buffer" type="GLuint" />
1140      <param name="size" type="GLint" />
1141      <param name="type" type="GLenum" />
1142      <param name="stride" type="GLsizei" />
1143      <param name="offset" type="GLintptr" />
1144   </function>
1145
1146   <function name="VertexArrayMultiTexCoordOffsetEXT"
1147             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_TEX(texunit - GL_TEXTURE0), size, type, stride, offset);">
1148      <param name="vaobj" type="GLuint" />
1149      <param name="buffer" type="GLuint" />
1150      <param name="texunit" type="GLenum" />
1151      <param name="size" type="GLint" />
1152      <param name="type" type="GLenum" />
1153      <param name="stride" type="GLsizei" />
1154      <param name="offset" type="GLintptr" />
1155   </function>
1156
1157   <function name="VertexArrayFogCoordOffsetEXT"
1158             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_FOG, 1, type, stride, offset);">
1159      <param name="vaobj" type="GLuint" />
1160      <param name="buffer" type="GLuint" />
1161      <param name="type" type="GLenum" />
1162      <param name="stride" type="GLsizei" />
1163      <param name="offset" type="GLintptr" />
1164   </function>
1165
1166   <function name="VertexArraySecondaryColorOffsetEXT"
1167             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_COLOR1, size, type, stride, offset);">
1168      <param name="vaobj" type="GLuint" />
1169      <param name="buffer" type="GLuint" />
1170      <param name="size" type="GLint" />
1171      <param name="type" type="GLenum" />
1172      <param name="stride" type="GLsizei" />
1173      <param name="offset" type="GLintptr" />
1174   </function>
1175
1176   <function name="VertexArrayVertexAttribOffsetEXT"
1177             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_GENERIC(index), size, type, stride, offset);">
1178      <param name="vaobj" type="GLuint" />
1179      <param name="buffer" type="GLuint" />
1180      <param name="index" type="GLuint" />
1181      <param name="size" type="GLint" />
1182      <param name="type" type="GLenum" />
1183      <param name="normalized" type="GLboolean" />
1184      <param name="stride" type="GLsizei" />
1185      <param name="offset" type="GLintptr" />
1186   </function>
1187
1188   <function name="VertexArrayVertexAttribIOffsetEXT"
1189             marshal_call_after="if (COMPAT) _mesa_glthread_DSAAttribPointer(ctx, vaobj, buffer, VERT_ATTRIB_GENERIC(index), size, type, stride, offset);">
1190      <param name="vaobj" type="GLuint" />
1191      <param name="buffer" type="GLuint" />
1192      <param name="index" type="GLuint" />
1193      <param name="size" type="GLint" />
1194      <param name="type" type="GLenum" />
1195      <param name="stride" type="GLsizei" />
1196      <param name="offset" type="GLintptr" />
1197   </function>
1198
1199   <function name="EnableVertexArrayEXT"
1200             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, _mesa_array_to_attrib(ctx, array), true);">
1201      <param name="vaobj" type="GLuint" />
1202      <param name="array" type="GLenum" />
1203   </function>
1204
1205   <function name="DisableVertexArrayEXT"
1206             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, _mesa_array_to_attrib(ctx, array), false);">
1207      <param name="vaobj" type="GLuint" />
1208      <param name="array" type="GLenum" />
1209   </function>
1210
1211   <function name="EnableVertexArrayAttribEXT"
1212             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, VERT_ATTRIB_GENERIC(index), true);">
1213      <param name="vaobj" type="GLuint" />
1214      <param name="index" type="GLuint" />
1215   </function>
1216
1217   <function name="DisableVertexArrayAttribEXT"
1218             marshal_call_after="if (COMPAT) _mesa_glthread_ClientState(ctx, &amp;vaobj, VERT_ATTRIB_GENERIC(index), false);">
1219      <param name="vaobj" type="GLuint" />
1220      <param name="index" type="GLuint" />
1221   </function>
1222
1223   <function name="GetVertexArrayIntegervEXT">
1224      <param name="vaobj" type="GLuint" />
1225      <param name="pname" type="GLenum" />
1226      <param name="param" type="GLint*" />
1227   </function>
1228
1229   <function name="GetVertexArrayPointervEXT">
1230      <param name="vaobj" type="GLuint" />
1231      <param name="pname" type="GLenum" />
1232      <param name="param" type="GLvoid**" />
1233   </function>
1234
1235   <function name="GetVertexArrayIntegeri_vEXT">
1236      <param name="vaobj" type="GLuint" />
1237      <param name="index" type="GLuint" />
1238      <param name="pname" type="GLenum" />
1239      <param name="param" type="GLint*" />
1240   </function>
1241
1242   <function name="GetVertexArrayPointeri_vEXT">
1243      <param name="vaobj" type="GLuint" />
1244      <param name="index" type="GLuint" />
1245      <param name="pname" type="GLenum" />
1246      <param name="param" type="GLvoid**" />
1247   </function>
1248
1249   <!-- ARB_vertex_program -->
1250   <function name="NamedProgramStringEXT">
1251      <param name="program" type="GLuint" />
1252      <param name="target" type="GLenum" />
1253      <param name="format" type="GLenum" />
1254      <param name="len" type="GLsizei" />
1255      <param name="string" type="const GLvoid*" count="len"/>
1256    </function>
1257
1258   <function name="GetNamedProgramStringEXT">
1259      <param name="program" type="GLuint" />
1260      <param name="target" type="GLenum" />
1261      <param name="pname" type="GLenum" />
1262      <param name="string" type="GLvoid*" />
1263    </function>
1264
1265   <function name="NamedProgramLocalParameter4fEXT">
1266      <param name="program" type="GLuint" />
1267      <param name="target" type="GLenum" />
1268      <param name="index" type="GLuint" />
1269      <param name="x" type="GLfloat" />
1270      <param name="y" type="GLfloat" />
1271      <param name="z" type="GLfloat" />
1272      <param name="w" type="GLfloat" />
1273    </function>
1274
1275   <function name="NamedProgramLocalParameter4fvEXT">
1276      <param name="program" type="GLuint" />
1277      <param name="target" type="GLenum" />
1278      <param name="index" type="GLuint" />
1279      <param name="params" type="const GLfloat*" count="4"/>
1280    </function>
1281
1282   <function name="GetNamedProgramLocalParameterfvEXT">
1283      <param name="program" type="GLuint" />
1284      <param name="target" type="GLenum" />
1285      <param name="index" type="GLuint" />
1286      <param name="params" type="GLfloat*" />
1287    </function>
1288
1289   <function name="NamedProgramLocalParameter4dEXT">
1290      <param name="program" type="GLuint" />
1291      <param name="target" type="GLenum" />
1292      <param name="index" type="GLuint" />
1293      <param name="x" type="GLdouble" />
1294      <param name="y" type="GLdouble" />
1295      <param name="z" type="GLdouble" />
1296      <param name="w" type="GLdouble" />
1297    </function>
1298
1299   <function name="NamedProgramLocalParameter4dvEXT">
1300      <param name="program" type="GLuint" />
1301      <param name="target" type="GLenum" />
1302      <param name="index" type="GLuint" />
1303      <param name="params" type="const GLdouble*" count="4"/>
1304    </function>
1305
1306   <function name="GetNamedProgramLocalParameterdvEXT">
1307      <param name="program" type="GLuint" />
1308      <param name="target" type="GLenum" />
1309      <param name="index" type="GLuint" />
1310      <param name="params" type="GLdouble*" />
1311    </function>
1312
1313   <function name="GetNamedProgramivEXT">
1314      <param name="program" type="GLuint" />
1315      <param name="target" type="GLenum" />
1316      <param name="pname" type="GLenum" />
1317      <param name="params" type="GLint*" />
1318  </function>
1319
1320   <!-- EXT_texture_buffer_object -->
1321   <function name="TextureBufferEXT">
1322      <param name="texture" type="GLuint" />
1323      <param name="target" type="GLenum" />
1324      <param name="internalformat" type="GLenum" />
1325      <param name="buffer" type="GLuint" />
1326   </function>
1327
1328   <function name="MultiTexBufferEXT">
1329      <param name="texunit" type="GLenum" />
1330      <param name="target" type="GLenum" />
1331      <param name="internalformat" type="GLenum" />
1332      <param name="buffer" type="GLuint" />
1333   </function>
1334
1335   <!-- EXT_texture_integer -->
1336   <function name="TextureParameterIivEXT">
1337      <param name="texture" type="GLuint" />
1338      <param name="target" type="GLenum" />
1339      <param name="pname" type="GLenum" />
1340      <param name="params" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
1341   </function>
1342
1343   <function name="TextureParameterIuivEXT">
1344      <param name="texture" type="GLuint" />
1345      <param name="target" type="GLenum" />
1346      <param name="pname" type="GLenum" />
1347      <param name="params" type="const GLuint*" count="_mesa_tex_param_enum_to_count(pname)"/>
1348   </function>
1349
1350   <function name="GetTextureParameterIivEXT">
1351      <param name="texture" type="GLuint" />
1352      <param name="target" type="GLenum" />
1353      <param name="pname" type="GLenum" />
1354      <param name="params" type="GLint*" />
1355   </function>
1356
1357   <function name="GetTextureParameterIuivEXT">
1358      <param name="texture" type="GLuint" />
1359      <param name="target" type="GLenum" />
1360      <param name="pname" type="GLenum" />
1361      <param name="params" type="GLuint*" />
1362   </function>
1363
1364   <function name="MultiTexParameterIivEXT">
1365      <param name="texunit" type="GLenum" />
1366      <param name="target" type="GLenum" />
1367      <param name="pname" type="GLenum" />
1368      <param name="params" type="const GLint*" count="_mesa_tex_param_enum_to_count(pname)"/>
1369   </function>
1370
1371   <function name="MultiTexParameterIuivEXT">
1372      <param name="texunit" type="GLenum" />
1373      <param name="target" type="GLenum" />
1374      <param name="pname" type="GLenum" />
1375      <param name="params" type="const GLuint*" count="_mesa_tex_param_enum_to_count(pname)"/>
1376   </function>
1377
1378   <function name="GetMultiTexParameterIivEXT">
1379      <param name="texunit" type="GLenum" />
1380      <param name="target" type="GLenum" />
1381      <param name="pname" type="GLenum" />
1382      <param name="params" type="GLint*" />
1383   </function>
1384
1385   <function name="GetMultiTexParameterIuivEXT">
1386      <param name="texunit" type="GLenum" />
1387      <param name="target" type="GLenum" />
1388      <param name="pname" type="GLenum" />
1389      <param name="params" type="GLuint*" />
1390   </function>
1391
1392   <!-- EXT_gpu_shader4 -->
1393   <!--
1394      ProgramUniform*EXT functions are added in EXT_separate_shader_objects.xml
1395   -->
1396
1397   <!-- EXT_gpu_program_parameters -->
1398
1399   <function name="NamedProgramLocalParameters4fvEXT">
1400      <param name="program" type="GLuint" />
1401      <param name="target" type="GLenum" />
1402      <param name="index" type="GLuint" />
1403      <param name="count" type="GLsizei" />
1404      <param name="params" type="const GLfloat*" count="4"/>
1405   </function>
1406
1407</category>
1408</OpenGLAPI>
1409