mesa: Track the current vertex/element array buffers for glthread.
[mesa.git] / src / mapi / glapi / gen / GL3x.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="3.0">
9
10 <enum name="COMPARE_REF_TO_TEXTURE" value="0x884E"/>
11 <enum name="CLIP_DISTANCE0" value="0x3000"/>
12 <enum name="CLIP_DISTANCE1" value="0x3001"/>
13 <enum name="CLIP_DISTANCE2" value="0x3002"/>
14 <enum name="CLIP_DISTANCE3" value="0x3003"/>
15 <enum name="CLIP_DISTANCE4" value="0x3004"/>
16 <enum name="CLIP_DISTANCE5" value="0x3005"/>
17 <enum name="CLIP_DISTANCE6" value="0x3006"/>
18 <enum name="CLIP_DISTANCE7" value="0x3007"/>
19 <enum name="MAX_CLIP_DISTANCES" value="0x0D32"/>
20 <enum name="MAJOR_VERSION" value="0x821B"/>
21 <enum name="MINOR_VERSION" value="0x821C"/>
22 <enum name="NUM_EXTENSIONS" value="0x821D"/>
23 <enum name="CONTEXT_FLAGS" value="0x821E"/>
24 <enum name="CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT" value="0x0001"/>
25 <enum name="RGBA32F" value="0x8814"/>
26 <enum name="RGB32F" value="0x8815"/>
27 <enum name="RGBA16F" value="0x881A"/>
28 <enum name="RGB16F" value="0x881B"/>
29 <enum name="VERTEX_ATTRIB_ARRAY_INTEGER" value="0x88FD"/>
30 <enum name="MAX_ARRAY_TEXTURE_LAYERS" value="0x88FF"/>
31 <enum name="MIN_PROGRAM_TEXEL_OFFSET" value="0x8904"/>
32 <enum name="MAX_PROGRAM_TEXEL_OFFSET" value="0x8905"/>
33 <enum name="CLAMP_VERTEX_COLOR" value="0x891A"/>
34 <enum name="CLAMP_FRAGMENT_COLOR" value="0x891B"/>
35 <enum name="CLAMP_READ_COLOR" value="0x891C"/>
36 <enum name="FIXED_ONLY" value="0x891D"/>
37 <enum name="MAX_VARYING_COMPONENTS" value="0x8B4B"/>
38 <enum name="TEXTURE_RED_TYPE" value="0x8C10"/>
39 <enum name="TEXTURE_GREEN_TYPE" value="0x8C11"/>
40 <enum name="TEXTURE_BLUE_TYPE" value="0x8C12"/>
41 <enum name="TEXTURE_ALPHA_TYPE" value="0x8C13"/>
42 <enum name="TEXTURE_LUMINANCE_TYPE" value="0x8C14"/>
43 <enum name="TEXTURE_INTENSITY_TYPE" value="0x8C15"/>
44 <enum name="TEXTURE_DEPTH_TYPE" value="0x8C16"/>
45 <enum name="TEXTURE_1D_ARRAY" value="0x8C18"/>
46 <enum name="PROXY_TEXTURE_1D_ARRAY" value="0x8C19"/>
47 <enum name="TEXTURE_2D_ARRAY" value="0x8C1A"/>
48 <enum name="PROXY_TEXTURE_2D_ARRAY" value="0x8C1B"/>
49 <enum name="TEXTURE_BINDING_1D_ARRAY" value="0x8C1C"/>
50 <enum name="TEXTURE_BINDING_2D_ARRAY" value="0x8C1D"/>
51 <enum name="R11F_G11F_B10F" value="0x8C3A"/>
52 <enum name="UNSIGNED_INT_10F_11F_11F_REV" value="0x8C3B"/>
53 <enum name="RGB9_E5" value="0x8C3D"/>
54 <enum name="UNSIGNED_INT_5_9_9_9_REV" value="0x8C3E"/>
55 <enum name="TEXTURE_SHARED_SIZE" value="0x8C3F"/>
56 <enum name="TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" value="0x8C76"/>
57 <enum name="TRANSFORM_FEEDBACK_BUFFER_MODE" value="0x8C7F"/>
58 <enum name="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS" value="0x8C80"/>
59 <enum name="TRANSFORM_FEEDBACK_VARYINGS" value="0x8C83"/>
60 <enum name="TRANSFORM_FEEDBACK_BUFFER_START" value="0x8C84"/>
61 <enum name="TRANSFORM_FEEDBACK_BUFFER_SIZE" value="0x8C85"/>
62 <enum name="PRIMITIVES_GENERATED" value="0x8C87"/>
63 <enum name="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" value="0x8C88"/>
64 <enum name="RASTERIZER_DISCARD" value="0x8C89"/>
65 <enum name="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS" value="0x8C8A"/>
66 <enum name="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS" value="0x8C8B"/>
67 <enum name="INTERLEAVED_ATTRIBS" value="0x8C8C"/>
68 <enum name="SEPARATE_ATTRIBS" value="0x8C8D"/>
69 <enum name="TRANSFORM_FEEDBACK_BUFFER" value="0x8C8E"/>
70 <enum name="TRANSFORM_FEEDBACK_BUFFER_BINDING" value="0x8C8F"/>
71 <enum name="RGBA32UI" value="0x8D70"/>
72 <enum name="RGB32UI" value="0x8D71"/>
73 <enum name="RGBA16UI" value="0x8D76"/>
74 <enum name="RGB16UI" value="0x8D77"/>
75 <enum name="RGBA8UI" value="0x8D7C"/>
76 <enum name="RGB8UI" value="0x8D7D"/>
77 <enum name="RGBA32I" value="0x8D82"/>
78 <enum name="RGB32I" value="0x8D83"/>
79 <enum name="RGBA16I" value="0x8D88"/>
80 <enum name="RGB16I" value="0x8D89"/>
81 <enum name="RGBA8I" value="0x8D8E"/>
82 <enum name="RGB8I" value="0x8D8F"/>
83 <enum name="RED_INTEGER" value="0x8D94"/>
84 <enum name="GREEN_INTEGER" value="0x8D95"/>
85 <enum name="BLUE_INTEGER" value="0x8D96"/>
86 <enum name="RGB_INTEGER" value="0x8D98"/>
87 <enum name="RGBA_INTEGER" value="0x8D99"/>
88 <enum name="BGR_INTEGER" value="0x8D9A"/>
89 <enum name="BGRA_INTEGER" value="0x8D9B"/>
90 <enum name="SAMPLER_1D_ARRAY" value="0x8DC0"/>
91 <enum name="SAMPLER_2D_ARRAY" value="0x8DC1"/>
92 <enum name="SAMPLER_1D_ARRAY_SHADOW" value="0x8DC3"/>
93 <enum name="SAMPLER_2D_ARRAY_SHADOW" value="0x8DC4"/>
94 <enum name="SAMPLER_CUBE_SHADOW" value="0x8DC5"/>
95 <enum name="UNSIGNED_INT_VEC2" value="0x8DC6"/>
96 <enum name="UNSIGNED_INT_VEC3" value="0x8DC7"/>
97 <enum name="UNSIGNED_INT_VEC4" value="0x8DC8"/>
98 <enum name="INT_SAMPLER_1D" value="0x8DC9"/>
99 <enum name="INT_SAMPLER_2D" value="0x8DCA"/>
100 <enum name="INT_SAMPLER_3D" value="0x8DCB"/>
101 <enum name="INT_SAMPLER_CUBE" value="0x8DCC"/>
102 <enum name="INT_SAMPLER_1D_ARRAY" value="0x8DCE"/>
103 <enum name="INT_SAMPLER_2D_ARRAY" value="0x8DCF"/>
104 <enum name="UNSIGNED_INT_SAMPLER_1D" value="0x8DD1"/>
105 <enum name="UNSIGNED_INT_SAMPLER_2D" value="0x8DD2"/>
106 <enum name="UNSIGNED_INT_SAMPLER_3D" value="0x8DD3"/>
107 <enum name="UNSIGNED_INT_SAMPLER_CUBE" value="0x8DD4"/>
108 <enum name="UNSIGNED_INT_SAMPLER_1D_ARRAY" value="0x8DD6"/>
109 <enum name="UNSIGNED_INT_SAMPLER_2D_ARRAY" value="0x8DD7"/>
110 <enum name="QUERY_WAIT" value="0x8E13"/>
111 <enum name="QUERY_NO_WAIT" value="0x8E14"/>
112 <enum name="QUERY_BY_REGION_WAIT" value="0x8E15"/>
113 <enum name="QUERY_BY_REGION_NO_WAIT" value="0x8E16"/>
114 <enum name="BUFFER_ACCESS_FLAGS" value="0x911F"/>
115 <enum name="BUFFER_MAP_LENGTH" value="0x9120"/>
116 <enum name="BUFFER_MAP_OFFSET" value="0x9121"/>
117
118 <!-- These functions are unique to GL3 -->
119
120 <function name="ClearBufferiv" es2="3.0">
121 <param name="buffer" type="GLenum"/>
122 <param name="drawbuffer" type="GLint"/>
123 <param name="value" type="const GLint *"/>
124 </function>
125
126 <function name="ClearBufferuiv" es2="3.0">
127 <param name="buffer" type="GLenum"/>
128 <param name="drawbuffer" type="GLint"/>
129 <param name="value" type="const GLuint *"/>
130 </function>
131
132 <function name="ClearBufferfv" es2="3.0">
133 <param name="buffer" type="GLenum"/>
134 <param name="drawbuffer" type="GLint"/>
135 <param name="value" type="const GLfloat *"/>
136 </function>
137
138 <function name="ClearBufferfi" es2="3.0">
139 <param name="buffer" type="GLenum"/>
140 <param name="drawbuffer" type="GLint"/>
141 <param name="depth" type="GLfloat"/>
142 <param name="stencil" type="GLint"/>
143 </function>
144
145 <function name="GetStringi" es2="3.0">
146 <param name="name" type="GLenum"/>
147 <param name="index" type="GLuint"/>
148 <return type="const GLubyte *"/>
149 </function>
150
151 <function name="ClampColor">
152 <param name="target" type="GLenum"/>
153 <param name="clamp" type="GLenum"/>
154 <glx rop="234"/>
155 </function>
156
157 <!-- These functions alias ones form GL_ARB_draw_buffers2 -->
158
159 <function name="ColorMaski" es2="3.2">
160 <param name="buf" type="GLuint"/>
161 <param name="r" type="GLboolean"/>
162 <param name="g" type="GLboolean"/>
163 <param name="b" type="GLboolean"/>
164 <param name="a" type="GLboolean"/>
165 </function>
166
167 <function name="GetBooleani_v" es2="3.1">
168 <param name="value" type="GLenum"/>
169 <param name="index" type="GLuint"/>
170 <param name="data" type="GLboolean *"/>
171 </function>
172
173 <function name="GetIntegeri_v" es2="3.0">
174 <param name="value" type="GLenum"/>
175 <param name="index" type="GLuint"/>
176 <param name="data" type="GLint *"/>
177 </function>
178
179 <function name="Enablei" es2="3.2">
180 <param name="target" type="GLenum"/>
181 <param name="index" type="GLuint"/>
182 </function>
183
184 <function name="Disablei" es2="3.2">
185 <param name="target" type="GLenum"/>
186 <param name="index" type="GLuint"/>
187 </function>
188
189 <function name="IsEnabledi" es2="3.2">
190 <param name="target" type="GLenum"/>
191 <param name="index" type="GLuint"/>
192 <return type="GLboolean"/>
193 </function>
194
195 <!-- These functions alias ones form GL_EXT_transform_feedback -->
196
197 <function name="GetFragDataLocation" es2="3.0">
198 <param name="program" type="GLuint"/>
199 <param name="name" type="const GLchar *"/>
200 <return type="GLint"/>
201 </function>
202
203 <function name="BindFragDataLocation">
204 <param name="program" type="GLuint"/>
205 <param name="colorNumber" type="GLuint"/>
206 <param name="name" type="const GLchar *"/>
207 </function>
208
209 <function name="BeginTransformFeedback" es2="3.0">
210 <param name="mode" type="GLenum"/>
211 </function>
212
213 <function name="EndTransformFeedback" es2="3.0">
214 </function>
215
216 <function name="BindBufferRange" es2="3.0">
217 <param name="target" type="GLenum"/>
218 <param name="index" type="GLuint"/>
219 <param name="buffer" type="GLuint"/>
220 <param name="offset" type="GLintptr"/>
221 <param name="size" type="GLsizeiptr"/>
222 </function>
223
224 <function name="BindBufferBase" es2="3.0">
225 <param name="target" type="GLenum"/>
226 <param name="index" type="GLuint"/>
227 <param name="buffer" type="GLuint"/>
228 </function>
229
230 <function name="TransformFeedbackVaryings" es2="3.0">
231 <param name="program" type="GLuint"/>
232 <param name="count" type="GLsizei"/>
233 <param name="varyings" type="const GLchar * const *"/>
234 <param name="bufferMode" type="GLenum"/>
235 </function>
236
237 <function name="GetTransformFeedbackVarying" es2="3.0">
238 <param name="program" type="GLuint"/>
239 <param name="index" type="GLuint"/>
240 <param name="bufSize" type="GLsizei"/>
241 <param name="length" type="GLsizei *"/>
242 <param name="size" type="GLsizei *"/>
243 <param name="type" type="GLenum *"/>
244 <param name="name" type="GLchar *"/>
245 </function>
246
247 <!-- These functions alias ones from GL_NV_conditional_render -->
248
249 <function name="BeginConditionalRender">
250 <param name="query" type="GLuint"/>
251 <param name="mode" type="GLenum"/>
252 </function>
253
254 <function name="EndConditionalRender">
255 </function>
256
257 <!-- These functions alias ones from GL_EXT_gpu_shader4 -->
258
259 <function name="VertexAttribIPointer" es2="3.0" marshal="async"
260 marshal_fail="_mesa_glthread_is_non_vbo_vertex_attrib_pointer(ctx)">
261 <param name="index" type="GLuint"/>
262 <param name="size" type="GLint"/>
263 <param name="type" type="GLenum"/>
264 <param name="stride" type="GLsizei"/>
265 <param name="pointer" type="const GLvoid *"/>
266 </function>
267
268 <function name="GetVertexAttribIiv" es2="3.0">
269 <param name="index" type="GLuint"/>
270 <param name="pname" type="GLenum"/>
271 <param name="params" type="GLint *"/>
272 </function>
273
274 <function name="GetVertexAttribIuiv" es2="3.0">
275 <param name="index" type="GLuint"/>
276 <param name="pname" type="GLenum"/>
277 <param name="params" type="GLuint *"/>
278 </function>
279
280 <function name="VertexAttribI1i" alias="VertexAttribI1iEXT">
281 <param name="index" type="GLuint"/>
282 <param name="x" type="GLint"/>
283 </function>
284
285 <function name="VertexAttribI2i" alias="VertexAttribI2iEXT">
286 <param name="index" type="GLuint"/>
287 <param name="x" type="GLint"/>
288 <param name="y" type="GLint"/>
289 </function>
290
291 <function name="VertexAttribI3i" alias="VertexAttribI3iEXT">
292 <param name="index" type="GLuint"/>
293 <param name="x" type="GLint"/>
294 <param name="y" type="GLint"/>
295 <param name="z" type="GLint"/>
296 </function>
297
298 <function name="VertexAttribI4i" alias="VertexAttribI4iEXT" es2="3.0">
299 <param name="index" type="GLuint"/>
300 <param name="x" type="GLint"/>
301 <param name="y" type="GLint"/>
302 <param name="z" type="GLint"/>
303 <param name="w" type="GLint"/>
304 </function>
305
306 <function name="VertexAttribI1ui" alias="VertexAttribI1uiEXT">
307 <param name="index" type="GLuint"/>
308 <param name="x" type="GLuint"/>
309 </function>
310
311 <function name="VertexAttribI2ui" alias="VertexAttribI2uiEXT">
312 <param name="index" type="GLuint"/>
313 <param name="x" type="GLuint"/>
314 <param name="y" type="GLuint"/>
315 </function>
316
317 <function name="VertexAttribI3ui" alias="VertexAttribI3uiEXT">
318 <param name="index" type="GLuint"/>
319 <param name="x" type="GLuint"/>
320 <param name="y" type="GLuint"/>
321 <param name="z" type="GLuint"/>
322 </function>
323
324 <function name="VertexAttribI4ui" alias="VertexAttribI4uiEXT" es2="3.0">
325 <param name="index" type="GLuint"/>
326 <param name="x" type="GLuint"/>
327 <param name="y" type="GLuint"/>
328 <param name="z" type="GLuint"/>
329 <param name="w" type="GLuint"/>
330 </function>
331
332 <function name="VertexAttribI1iv">
333 <param name="index" type="GLuint"/>
334 <param name="v" type="const GLint *"/>
335 </function>
336
337 <function name="VertexAttribI2iv" alias="VertexAttribI2ivEXT">
338 <param name="index" type="GLuint"/>
339 <param name="v" type="const GLint *"/>
340 </function>
341
342 <function name="VertexAttribI3iv" alias="VertexAttribI3ivEXT">
343 <param name="index" type="GLuint"/>
344 <param name="v" type="const GLint *"/>
345 </function>
346
347 <function name="VertexAttribI4iv" alias="VertexAttribI4ivEXT" es2="3.0">
348 <param name="index" type="GLuint"/>
349 <param name="v" type="const GLint *"/>
350 </function>
351
352 <function name="VertexAttribI1uiv">
353 <param name="index" type="GLuint"/>
354 <param name="v" type="const GLuint *"/>
355 </function>
356
357 <function name="VertexAttribI2uiv" alias="VertexAttribI2uivEXT">
358 <param name="index" type="GLuint"/>
359 <param name="v" type="const GLuint *"/>
360 </function>
361
362 <function name="VertexAttribI3uiv" alias="VertexAttribI3uivEXT">
363 <param name="index" type="GLuint"/>
364 <param name="v" type="const GLuint *"/>
365 </function>
366
367 <function name="VertexAttribI4uiv" alias="VertexAttribI4uivEXT" es2="3.0">
368 <param name="index" type="GLuint"/>
369 <param name="v" type="const GLuint *"/>
370 </function>
371
372 <function name="VertexAttribI4bv">
373 <param name="index" type="GLuint"/>
374 <param name="v" type="const GLbyte *"/>
375 </function>
376
377 <function name="VertexAttribI4sv">
378 <param name="index" type="GLuint"/>
379 <param name="v" type="const GLshort *"/>
380 </function>
381
382 <function name="VertexAttribI4ubv">
383 <param name="index" type="GLuint"/>
384 <param name="v" type="const GLubyte *"/>
385 </function>
386
387 <function name="VertexAttribI4usv">
388 <param name="index" type="GLuint"/>
389 <param name="v" type="const GLushort *"/>
390 </function>
391
392 <function name="GetUniformuiv" es2="3.0">
393 <param name="program" type="GLuint"/>
394 <param name="location" type="GLint"/>
395 <param name="params" type="GLuint *"/>
396 </function>
397
398 <function name="Uniform1ui" es2="3.0">
399 <param name="location" type="GLint"/>
400 <param name="x" type="GLuint"/>
401 </function>
402
403 <function name="Uniform2ui" es2="3.0">
404 <param name="location" type="GLint"/>
405 <param name="x" type="GLuint"/>
406 <param name="y" type="GLuint"/>
407 </function>
408
409 <function name="Uniform3ui" es2="3.0">
410 <param name="location" type="GLint"/>
411 <param name="x" type="GLuint"/>
412 <param name="y" type="GLuint"/>
413 <param name="z" type="GLuint"/>
414 </function>
415
416 <function name="Uniform4ui" es2="3.0">
417 <param name="location" type="GLint"/>
418 <param name="x" type="GLuint"/>
419 <param name="y" type="GLuint"/>
420 <param name="z" type="GLuint"/>
421 <param name="w" type="GLuint"/>
422 </function>
423
424 <function name="Uniform1uiv" es2="3.0">
425 <param name="location" type="GLint"/>
426 <param name="count" type="GLsizei" counter="true"/>
427 <param name="value" type="const GLuint *" count="count"/>
428 </function>
429
430 <function name="Uniform2uiv" es2="3.0">
431 <param name="location" type="GLint"/>
432 <param name="count" type="GLsizei" counter="true"/>
433 <param name="value" type="const GLuint *" count="count" count_scale="2"/>
434 </function>
435
436 <function name="Uniform3uiv" es2="3.0">
437 <param name="location" type="GLint"/>
438 <param name="count" type="GLsizei" counter="true"/>
439 <param name="value" type="const GLuint *" count="count" count_scale="3"/>
440 </function>
441
442 <function name="Uniform4uiv" es2="3.0">
443 <param name="location" type="GLint"/>
444 <param name="count" type="GLsizei" counter="true"/>
445 <param name="value" type="const GLuint *" count="count" count_scale="4"/>
446 </function>
447
448 <!-- These functions alias ones from GL_EXT_texture_integer -->
449
450 <function name="TexParameterIiv" es2="3.2">
451 <param name="target" type="GLenum"/>
452 <param name="pname" type="GLenum"/>
453 <param name="params" type="const GLint *"/>
454 </function>
455
456 <function name="TexParameterIuiv" es2="3.2">
457 <param name="target" type="GLenum"/>
458 <param name="pname" type="GLenum"/>
459 <param name="params" type="const GLuint *"/>
460 </function>
461
462 <function name="GetTexParameterIiv" es2="3.2">
463 <param name="target" type="GLenum"/>
464 <param name="pname" type="GLenum"/>
465 <param name="params" type="GLint *"/>
466 </function>
467
468 <function name="GetTexParameterIuiv" es2="3.2">
469 <param name="target" type="GLenum"/>
470 <param name="pname" type="GLenum"/>
471 <param name="params" type="GLuint *"/>
472 </function>
473
474 </category>
475
476
477 <category name="3.1">
478
479 <enum name="UNIFORM_BUFFER" value="0x8A11"/>
480 <enum name="UNIFORM_BUFFER_BINDING" value="0x8A28"/>
481 <enum name="UNIFORM_BUFFER_START" value="0x8A29"/>
482 <enum name="UNIFORM_BUFFER_SIZE" value="0x8A2A"/>
483 <enum name="MAX_VERTEX_UNIFORM_BLOCKS" value="0x8A2B"/>
484 <enum name="MAX_GEOMETRY_UNIFORM_BLOCKS" value="0x8A2C"/>
485 <enum name="MAX_FRAGMENT_UNIFORM_BLOCKS" value="0x8A2D"/>
486 <enum name="MAX_COMBINED_UNIFORM_BLOCKS" value="0x8A2E"/>
487 <enum name="MAX_UNIFORM_BUFFER_BINDINGS" value="0x8A2F"/>
488 <enum name="MAX_UNIFORM_BLOCK_SIZE" value="0x8A30"/>
489 <enum name="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" value="0x8A31"/>
490 <enum name="MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" value="0x8A32"/>
491 <enum name="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" value="0x8A33"/>
492 <enum name="UNIFORM_BUFFER_OFFSET_ALIGNMENT" value="0x8A34"/>
493 <enum name="ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" value="0x8A35"/>
494 <enum name="ACTIVE_UNIFORM_BLOCKS" value="0x8A36"/>
495 <enum name="UNIFORM_TYPE" value="0x8A37"/>
496 <enum name="UNIFORM_SIZE" value="0x8A38"/>
497 <enum name="UNIFORM_NAME_LENGTH" value="0x8A39"/>
498 <enum name="UNIFORM_BLOCK_INDEX" value="0x8A3A"/>
499 <enum name="UNIFORM_OFFSET" value="0x8A3B"/>
500 <enum name="UNIFORM_ARRAY_STRIDE" value="0x8A3C"/>
501 <enum name="UNIFORM_MATRIX_STRIDE" value="0x8A3D"/>
502 <enum name="UNIFORM_IS_ROW_MAJOR" value="0x8A3E"/>
503 <enum name="UNIFORM_BLOCK_BINDING" value="0x8A3F"/>
504 <enum name="UNIFORM_BLOCK_DATA_SIZE" value="0x8A40"/>
505 <enum name="UNIFORM_BLOCK_NAME_LENGTH" value="0x8A41"/>
506 <enum name="UNIFORM_BLOCK_ACTIVE_UNIFORMS" value="0x8A42"/>
507 <enum name="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" value="0x8A43"/>
508 <enum name="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" value="0x8A44"/>
509 <enum name="UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER" value="0x8A45"/>
510 <enum name="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" value="0x8A46"/>
511 <enum name="SAMPLER_2D_RECT" value="0x8B63"/>
512 <enum name="SAMPLER_2D_RECT_SHADOW" value="0x8B64"/>
513 <enum name="FRAMEBUFFER_SRGB" value="0x8DB9"/>
514 <enum name="SAMPLER_BUFFER" value="0x8DC2"/>
515 <enum name="INT_SAMPLER_2D_RECT" value="0x8DCD"/>
516 <enum name="INT_SAMPLER_BUFFER" value="0x8DD0"/>
517 <enum name="UNSIGNED_INT_SAMPLER_2D_RECT" value="0x8DD5"/>
518 <enum name="UNSIGNED_INT_SAMPLER_BUFFER" value="0x8DD8"/>
519 <enum name="TEXTURE_BUFFER" value="0x8C2A"/>
520 <enum name="MAX_TEXTURE_BUFFER_SIZE" value="0x8C2B"/>
521 <enum name="TEXTURE_BINDING_BUFFER" value="0x8C2C"/>
522 <enum name="TEXTURE_BUFFER_DATA_STORE_BINDING" value="0x8C2D"/>
523 <enum name="TEXTURE_BUFFER_FORMAT" value="0x8C2E"/>
524 <enum name="TEXTURE_RECTANGLE" value="0x84F5"/>
525 <enum name="TEXTURE_BINDING_RECTANGLE" value="0x84F6"/>
526 <enum name="PROXY_TEXTURE_RECTANGLE" value="0x84F7"/>
527 <enum name="MAX_RECTANGLE_TEXTURE_SIZE" value="0x84F8"/>
528 <enum name="RED_SNORM" value="0x8F90"/>
529 <enum name="RG_SNORM" value="0x8F91"/>
530 <enum name="RGB_SNORM" value="0x8F92"/>
531 <enum name="RGBA_SNORM" value="0x8F93"/>
532 <enum name="R8_SNORM" value="0x8F94"/>
533 <enum name="RG8_SNORM" value="0x8F95"/>
534 <enum name="RGB8_SNORM" value="0x8F96"/>
535 <enum name="RGBA8_SNORM" value="0x8F97"/>
536 <enum name="R16_SNORM" value="0x8F98"/>
537 <enum name="RG16_SNORM" value="0x8F99"/>
538 <enum name="RGB16_SNORM" value="0x8F9A"/>
539 <enum name="RGBA16_SNORM" value="0x8F9B"/>
540 <enum name="SIGNED_NORMALIZED" value="0x8F9C"/>
541 <enum name="PRIMITIVE_RESTART" value="0x8F9D"/>
542 <enum name="PRIMITIVE_RESTART_INDEX" value="0x8F9E"/>
543
544 <function name="DrawArraysInstanced" alias="DrawArraysInstancedARB" es2="3.0">
545 <param name="mode" type="GLenum"/>
546 <param name="first" type="GLint"/>
547 <param name="count" type="GLsizei"/>
548 <param name="primcount" type="GLsizei"/>
549 </function>
550
551 <function name="DrawElementsInstanced" alias="DrawElementsInstancedARB" es2="3.0">
552 <param name="mode" type="GLenum"/>
553 <param name="count" type="GLsizei"/>
554 <param name="type" type="GLenum"/>
555 <param name="indices" type="const GLvoid *"/>
556 <param name="primcount" type="GLsizei"/>
557 </function>
558
559 <function name="TexBuffer" es2="3.2">
560 <param name="target" type="GLenum"/>
561 <param name="internalFormat" type="GLenum"/>
562 <param name="buffer" type="GLuint"/>
563 </function>
564
565 <function name="PrimitiveRestartIndex">
566 <param name="index" type="GLuint"/>
567 </function>
568
569 </category>
570
571
572 <category name="3.2">
573
574 <enum name="CONTEXT_CORE_PROFILE_BIT" value="0x00000001"/>
575 <enum name="CONTEXT_COMPATIBILITY_PROFILE_BIT" value="0x00000002"/>
576 <enum name="LINES_ADJACENCY" value="0x000A"/>
577 <enum name="LINE_STRIP_ADJACENCY" value="0x000B"/>
578 <enum name="TRIANGLES_ADJACENCY" value="0x000C"/>
579 <enum name="TRIANGLE_STRIP_ADJACENCY" value="0x000D"/>
580 <enum name="PROGRAM_POINT_SIZE" value="0x8642"/>
581 <enum name="MAX_GEOMETRY_TEXTURE_IMAGE_UNITS" value="0x8C29"/>
582 <enum name="FRAMEBUFFER_ATTACHMENT_LAYERED" value="0x8DA7"/>
583 <enum name="FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" value="0x8DA8"/>
584 <enum name="GEOMETRY_SHADER" value="0x8DD9"/>
585 <enum name="GEOMETRY_VERTICES_OUT" value="0x8916"/>
586 <enum name="GEOMETRY_INPUT_TYPE" value="0x8917"/>
587 <enum name="GEOMETRY_OUTPUT_TYPE" value="0x8918"/>
588 <enum name="MAX_GEOMETRY_UNIFORM_COMPONENTS" value="0x8DDF"/>
589 <enum name="MAX_GEOMETRY_OUTPUT_VERTICES" value="0x8DE0"/>
590 <enum name="MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS" value="0x8DE1"/>
591 <enum name="MAX_VERTEX_OUTPUT_COMPONENTS" value="0x9122"/>
592 <enum name="MAX_GEOMETRY_INPUT_COMPONENTS" value="0x9123"/>
593 <enum name="MAX_GEOMETRY_OUTPUT_COMPONENTS" value="0x9124"/>
594 <enum name="MAX_FRAGMENT_INPUT_COMPONENTS" value="0x9125"/>
595 <enum name="CONTEXT_PROFILE_MASK" value="0x9126"/>
596
597 <function name="GetInteger64i_v" es2="3.0">
598 <param name="cap" type="GLenum"/>
599 <param name="index" type="GLuint"/>
600 <param name="data" type="GLint64 *"/>
601 </function>
602
603 <function name="GetBufferParameteri64v" es2="3.0">
604 <param name="target" type="GLenum"/>
605 <param name="pname" type="GLenum"/>
606 <param name="params" type="GLint64 *"/>
607 </function>
608
609 <function name="FramebufferTexture" es2="3.2">
610 <param name="target" type="GLenum"/>
611 <param name="attachment" type="GLenum"/>
612 <param name="texture" type="GLuint"/>
613 <param name="level" type="GLint"/>
614 </function>
615
616 </category>
617
618
619 <category name="3.3">
620 <!-- There are other new functions and tokens defined by other extensions -->
621 <enum name="TEXTURE_SWIZZLE_R" value="0x8E42"/>
622 <enum name="TEXTURE_SWIZZLE_G" value="0x8E43"/>
623 <enum name="TEXTURE_SWIZZLE_B" value="0x8E44"/>
624 <enum name="TEXTURE_SWIZZLE_A" value="0x8E45"/>
625 <enum name="TEXTURE_SWIZZLE_RGBA" value="0x8E46"/>
626
627 <function name="VertexAttribDivisor" es2="3.0">
628 <param name="index" type="GLuint"/>
629 <param name="divisor" type="GLuint"/>
630 </function>
631
632 </category>
633
634 </OpenGLAPI>