1 /*
2  * Copyright (c) 2002-2011 LWJGL Project
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in the
14  *   documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of 'LWJGL' nor the names of
17  *   its contributors may be used to endorse or promote products derived
18  *   from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 package org.lwjgl.opengles;
33 
34 import org.lwjgl.opengl.GLSync;
35 import org.lwjgl.util.generator.*;
36 import org.lwjgl.util.generator.opengl.*;
37 
38 import java.nio.*;
39 
40 public interface GLES30 {
41 
42 	int  GL_READ_BUFFER                                   = 0x0C02;
43 	int  GL_UNPACK_ROW_LENGTH                             = 0x0CF2;
44 	int  GL_UNPACK_SKIP_ROWS                              = 0x0CF3;
45 	int  GL_UNPACK_SKIP_PIXELS                            = 0x0CF4;
46 	int  GL_PACK_ROW_LENGTH                               = 0x0D02;
47 	int  GL_PACK_SKIP_ROWS                                = 0x0D03;
48 	int  GL_PACK_SKIP_PIXELS                              = 0x0D04;
49 	int  GL_COLOR                                         = 0x1800;
50 	int  GL_DEPTH                                         = 0x1801;
51 	int  GL_STENCIL                                       = 0x1802;
52 	int  GL_RED                                           = 0x1903;
53 	int  GL_RGB8                                          = 0x8051;
54 	int  GL_RGBA8                                         = 0x8058;
55 	int  GL_RGB10_A2                                      = 0x8059;
56 	int  GL_TEXTURE_BINDING_3D                            = 0x806A;
57 	int  GL_PACK_SKIP_IMAGES                              = 0x806B;
58 	int  GL_PACK_IMAGE_HEIGHT                             = 0x806C;
59 	int  GL_UNPACK_SKIP_IMAGES                            = 0x806D;
60 	int  GL_UNPACK_IMAGE_HEIGHT                           = 0x806E;
61 	int  GL_TEXTURE_3D                                    = 0x806F;
62 	int  GL_TEXTURE_WRAP_R                                = 0x8072;
63 	int  GL_MAX_3D_TEXTURE_SIZE                           = 0x8073;
64 	int  GL_UNSIGNED_INT_2_10_10_10_REV                   = 0x8368;
65 	int  GL_MAX_ELEMENTS_VERTICES                         = 0x80E8;
66 	int  GL_MAX_ELEMENTS_INDICES                          = 0x80E9;
67 	int  GL_TEXTURE_MIN_LOD                               = 0x813A;
68 	int  GL_TEXTURE_MAX_LOD                               = 0x813B;
69 	int  GL_TEXTURE_BASE_LEVEL                            = 0x813C;
70 	int  GL_TEXTURE_MAX_LEVEL                             = 0x813D;
71 	int  GL_MIN                                           = 0x8007;
72 	int  GL_MAX                                           = 0x8008;
73 	int  GL_DEPTH_COMPONENT24                             = 0x81A6;
74 	int  GL_MAX_TEXTURE_LOD_BIAS                          = 0x84FD;
75 	int  GL_TEXTURE_COMPARE_MODE                          = 0x884C;
76 	int  GL_TEXTURE_COMPARE_FUNC                          = 0x884D;
77 	int  GL_CURRENT_QUERY                                 = 0x8865;
78 	int  GL_QUERY_RESULT                                  = 0x8866;
79 	int  GL_QUERY_RESULT_AVAILABLE                        = 0x8867;
80 	int  GL_BUFFER_MAPPED                                 = 0x88BC;
81 	int  GL_BUFFER_MAP_POINTER                            = 0x88BD;
82 	int  GL_STREAM_READ                                   = 0x88E1;
83 	int  GL_STREAM_COPY                                   = 0x88E2;
84 	int  GL_STATIC_READ                                   = 0x88E5;
85 	int  GL_STATIC_COPY                                   = 0x88E6;
86 	int  GL_DYNAMIC_READ                                  = 0x88E9;
87 	int  GL_DYNAMIC_COPY                                  = 0x88EA;
88 	int  GL_MAX_DRAW_BUFFERS                              = 0x8824;
89 	int  GL_DRAW_BUFFER0                                  = 0x8825;
90 	int  GL_DRAW_BUFFER1                                  = 0x8826;
91 	int  GL_DRAW_BUFFER2                                  = 0x8827;
92 	int  GL_DRAW_BUFFER3                                  = 0x8828;
93 	int  GL_DRAW_BUFFER4                                  = 0x8829;
94 	int  GL_DRAW_BUFFER5                                  = 0x882A;
95 	int  GL_DRAW_BUFFER6                                  = 0x882B;
96 	int  GL_DRAW_BUFFER7                                  = 0x882C;
97 	int  GL_DRAW_BUFFER8                                  = 0x882D;
98 	int  GL_DRAW_BUFFER9                                  = 0x882E;
99 	int  GL_DRAW_BUFFER10                                 = 0x882F;
100 	int  GL_DRAW_BUFFER11                                 = 0x8830;
101 	int  GL_DRAW_BUFFER12                                 = 0x8831;
102 	int  GL_DRAW_BUFFER13                                 = 0x8832;
103 	int  GL_DRAW_BUFFER14                                 = 0x8833;
104 	int  GL_DRAW_BUFFER15                                 = 0x8834;
105 	int  GL_MAX_FRAGMENT_UNIFORM_COMPONENTS               = 0x8B49;
106 	int  GL_MAX_VERTEX_UNIFORM_COMPONENTS                 = 0x8B4A;
107 	int  GL_SAMPLER_3D                                    = 0x8B5F;
108 	int  GL_SAMPLER_2D_SHADOW                             = 0x8B62;
109 	int  GL_FRAGMENT_SHADER_DERIVATIVE_HINT               = 0x8B8B;
110 	int  GL_PIXEL_PACK_BUFFER                             = 0x88EB;
111 	int  GL_PIXEL_UNPACK_BUFFER                           = 0x88EC;
112 	int  GL_PIXEL_PACK_BUFFER_BINDING                     = 0x88ED;
113 	int  GL_PIXEL_UNPACK_BUFFER_BINDING                   = 0x88EF;
114 	int  GL_FLOAT_MAT2x3                                  = 0x8B65;
115 	int  GL_FLOAT_MAT2x4                                  = 0x8B66;
116 	int  GL_FLOAT_MAT3x2                                  = 0x8B67;
117 	int  GL_FLOAT_MAT3x4                                  = 0x8B68;
118 	int  GL_FLOAT_MAT4x2                                  = 0x8B69;
119 	int  GL_FLOAT_MAT4x3                                  = 0x8B6A;
120 	int  GL_SRGB                                          = 0x8C40;
121 	int  GL_SRGB8                                         = 0x8C41;
122 	int  GL_SRGB8_ALPHA8                                  = 0x8C43;
123 	int  GL_COMPARE_REF_TO_TEXTURE                        = 0x884E;
124 	int  GL_MAJOR_VERSION                                 = 0x821B;
125 	int  GL_MINOR_VERSION                                 = 0x821C;
126 	int  GL_NUM_EXTENSIONS                                = 0x821D;
127 	int  GL_RGBA32F                                       = 0x8814;
128 	int  GL_RGB32F                                        = 0x8815;
129 	int  GL_RGBA16F                                       = 0x881A;
130 	int  GL_RGB16F                                        = 0x881B;
131 	int  GL_VERTEX_ATTRIB_ARRAY_INTEGER                   = 0x88FD;
132 	int  GL_MAX_ARRAY_TEXTURE_LAYERS                      = 0x88FF;
133 	int  GL_MIN_PROGRAM_TEXEL_OFFSET                      = 0x8904;
134 	int  GL_MAX_PROGRAM_TEXEL_OFFSET                      = 0x8905;
135 	int  GL_MAX_VARYING_COMPONENTS                        = 0x8B4B;
136 	int  GL_TEXTURE_2D_ARRAY                              = 0x8C1A;
137 	int  GL_TEXTURE_BINDING_2D_ARRAY                      = 0x8C1D;
138 	int  GL_R11F_G11F_B10F                                = 0x8C3A;
139 	int  GL_UNSIGNED_INT_10F_11F_11F_REV                  = 0x8C3B;
140 	int  GL_RGB9_E5                                       = 0x8C3D;
141 	int  GL_UNSIGNED_INT_5_9_9_9_REV                      = 0x8C3E;
142 	int  GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH         = 0x8C76;
143 	int  GL_TRANSFORM_FEEDBACK_BUFFER_MODE                = 0x8C7F;
144 	int  GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS    = 0x8C80;
145 	int  GL_TRANSFORM_FEEDBACK_VARYINGS                   = 0x8C83;
146 	int  GL_TRANSFORM_FEEDBACK_BUFFER_START               = 0x8C84;
147 	int  GL_TRANSFORM_FEEDBACK_BUFFER_SIZE                = 0x8C85;
148 	int  GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN         = 0x8C88;
149 	int  GL_RASTERIZER_DISCARD                            = 0x8C89;
150 	int  GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
151 	int  GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS       = 0x8C8B;
152 	int  GL_INTERLEAVED_ATTRIBS                           = 0x8C8C;
153 	int  GL_SEPARATE_ATTRIBS                              = 0x8C8D;
154 	int  GL_TRANSFORM_FEEDBACK_BUFFER                     = 0x8C8E;
155 	int  GL_TRANSFORM_FEEDBACK_BUFFER_BINDING             = 0x8C8F;
156 	int  GL_RGBA32UI                                      = 0x8D70;
157 	int  GL_RGB32UI                                       = 0x8D71;
158 	int  GL_RGBA16UI                                      = 0x8D76;
159 	int  GL_RGB16UI                                       = 0x8D77;
160 	int  GL_RGBA8UI                                       = 0x8D7C;
161 	int  GL_RGB8UI                                        = 0x8D7D;
162 	int  GL_RGBA32I                                       = 0x8D82;
163 	int  GL_RGB32I                                        = 0x8D83;
164 	int  GL_RGBA16I                                       = 0x8D88;
165 	int  GL_RGB16I                                        = 0x8D89;
166 	int  GL_RGBA8I                                        = 0x8D8E;
167 	int  GL_RGB8I                                         = 0x8D8F;
168 	int  GL_RED_INTEGER                                   = 0x8D94;
169 	int  GL_RGB_INTEGER                                   = 0x8D98;
170 	int  GL_RGBA_INTEGER                                  = 0x8D99;
171 	int  GL_SAMPLER_2D_ARRAY                              = 0x8DC1;
172 	int  GL_SAMPLER_2D_ARRAY_SHADOW                       = 0x8DC4;
173 	int  GL_SAMPLER_CUBE_SHADOW                           = 0x8DC5;
174 	int  GL_UNSIGNED_INT_VEC2                             = 0x8DC6;
175 	int  GL_UNSIGNED_INT_VEC3                             = 0x8DC7;
176 	int  GL_UNSIGNED_INT_VEC4                             = 0x8DC8;
177 	int  GL_INT_SAMPLER_2D                                = 0x8DCA;
178 	int  GL_INT_SAMPLER_3D                                = 0x8DCB;
179 	int  GL_INT_SAMPLER_CUBE                              = 0x8DCC;
180 	int  GL_INT_SAMPLER_2D_ARRAY                          = 0x8DCF;
181 	int  GL_UNSIGNED_INT_SAMPLER_2D                       = 0x8DD2;
182 	int  GL_UNSIGNED_INT_SAMPLER_3D                       = 0x8DD3;
183 	int  GL_UNSIGNED_INT_SAMPLER_CUBE                     = 0x8DD4;
184 	int  GL_UNSIGNED_INT_SAMPLER_2D_ARRAY                 = 0x8DD7;
185 	int  GL_BUFFER_ACCESS_FLAGS                           = 0x911F;
186 	int  GL_BUFFER_MAP_LENGTH                             = 0x9120;
187 	int  GL_BUFFER_MAP_OFFSET                             = 0x9121;
188 	int  GL_DEPTH_COMPONENT32F                            = 0x8CAC;
189 	int  GL_DEPTH32F_STENCIL8                             = 0x8CAD;
190 	int  GL_FLOAT_32_UNSIGNED_INT_24_8_REV                = 0x8DAD;
191 	int  GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING         = 0x8210;
192 	int  GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE         = 0x8211;
193 	int  GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE               = 0x8212;
194 	int  GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE             = 0x8213;
195 	int  GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE              = 0x8214;
196 	int  GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE             = 0x8215;
197 	int  GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE             = 0x8216;
198 	int  GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE           = 0x8217;
199 	int  GL_FRAMEBUFFER_DEFAULT                           = 0x8218;
200 	int  GL_FRAMEBUFFER_UNDEFINED                         = 0x8219;
201 	int  GL_DEPTH_STENCIL_ATTACHMENT                      = 0x821A;
202 	int  GL_DEPTH_STENCIL                                 = 0x84F9;
203 	int  GL_UNSIGNED_INT_24_8                             = 0x84FA;
204 	int  GL_DEPTH24_STENCIL8                              = 0x88F0;
205 	int  GL_UNSIGNED_NORMALIZED                           = 0x8C17;
206 	int  GL_DRAW_FRAMEBUFFER_BINDING                      = GLES20.GL_FRAMEBUFFER_BINDING;
207 	int  GL_READ_FRAMEBUFFER                              = 0x8CA8;
208 	int  GL_DRAW_FRAMEBUFFER                              = 0x8CA9;
209 	int  GL_READ_FRAMEBUFFER_BINDING                      = 0x8CAA;
210 	int  GL_RENDERBUFFER_SAMPLES                          = 0x8CAB;
211 	int  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER          = 0x8CD4;
212 	int  GL_MAX_COLOR_ATTACHMENTS                         = 0x8CDF;
213 	int  GL_COLOR_ATTACHMENT1                             = 0x8CE1;
214 	int  GL_COLOR_ATTACHMENT2                             = 0x8CE2;
215 	int  GL_COLOR_ATTACHMENT3                             = 0x8CE3;
216 	int  GL_COLOR_ATTACHMENT4                             = 0x8CE4;
217 	int  GL_COLOR_ATTACHMENT5                             = 0x8CE5;
218 	int  GL_COLOR_ATTACHMENT6                             = 0x8CE6;
219 	int  GL_COLOR_ATTACHMENT7                             = 0x8CE7;
220 	int  GL_COLOR_ATTACHMENT8                             = 0x8CE8;
221 	int  GL_COLOR_ATTACHMENT9                             = 0x8CE9;
222 	int  GL_COLOR_ATTACHMENT10                            = 0x8CEA;
223 	int  GL_COLOR_ATTACHMENT11                            = 0x8CEB;
224 	int  GL_COLOR_ATTACHMENT12                            = 0x8CEC;
225 	int  GL_COLOR_ATTACHMENT13                            = 0x8CED;
226 	int  GL_COLOR_ATTACHMENT14                            = 0x8CEE;
227 	int  GL_COLOR_ATTACHMENT15                            = 0x8CEF;
228 	int  GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE            = 0x8D56;
229 	int  GL_MAX_SAMPLES                                   = 0x8D57;
230 	int  GL_HALF_FLOAT                                    = 0x140B;
231 	int  GL_MAP_READ_BIT                                  = 0x0001;
232 	int  GL_MAP_WRITE_BIT                                 = 0x0002;
233 	int  GL_MAP_INVALIDATE_RANGE_BIT                      = 0x0004;
234 	int  GL_MAP_INVALIDATE_BUFFER_BIT                     = 0x0008;
235 	int  GL_MAP_FLUSH_EXPLICIT_BIT                        = 0x0010;
236 	int  GL_MAP_UNSYNCHRONIZED_BIT                        = 0x0020;
237 	int  GL_RG                                            = 0x8227;
238 	int  GL_RG_INTEGER                                    = 0x8228;
239 	int  GL_R8                                            = 0x8229;
240 	int  GL_RG8                                           = 0x822B;
241 	int  GL_R16F                                          = 0x822D;
242 	int  GL_R32F                                          = 0x822E;
243 	int  GL_RG16F                                         = 0x822F;
244 	int  GL_RG32F                                         = 0x8230;
245 	int  GL_R8I                                           = 0x8231;
246 	int  GL_R8UI                                          = 0x8232;
247 	int  GL_R16I                                          = 0x8233;
248 	int  GL_R16UI                                         = 0x8234;
249 	int  GL_R32I                                          = 0x8235;
250 	int  GL_R32UI                                         = 0x8236;
251 	int  GL_RG8I                                          = 0x8237;
252 	int  GL_RG8UI                                         = 0x8238;
253 	int  GL_RG16I                                         = 0x8239;
254 	int  GL_RG16UI                                        = 0x823A;
255 	int  GL_RG32I                                         = 0x823B;
256 	int  GL_RG32UI                                        = 0x823C;
257 	int  GL_VERTEX_ARRAY_BINDING                          = 0x85B5;
258 	int  GL_R8_SNORM                                      = 0x8F94;
259 	int  GL_RG8_SNORM                                     = 0x8F95;
260 	int  GL_RGB8_SNORM                                    = 0x8F96;
261 	int  GL_RGBA8_SNORM                                   = 0x8F97;
262 	int  GL_SIGNED_NORMALIZED                             = 0x8F9C;
263 	int  GL_PRIMITIVE_RESTART_FIXED_INDEX                 = 0x8D69;
264 	int  GL_COPY_READ_BUFFER                              = 0x8F36;
265 	int  GL_COPY_WRITE_BUFFER                             = 0x8F37;
266 	int  GL_COPY_READ_BUFFER_BINDING                      = GL_COPY_READ_BUFFER;
267 	int  GL_COPY_WRITE_BUFFER_BINDING                     = GL_COPY_WRITE_BUFFER;
268 	int  GL_UNIFORM_BUFFER                                = 0x8A11;
269 	int  GL_UNIFORM_BUFFER_BINDING                        = 0x8A28;
270 	int  GL_UNIFORM_BUFFER_START                          = 0x8A29;
271 	int  GL_UNIFORM_BUFFER_SIZE                           = 0x8A2A;
272 	int  GL_MAX_VERTEX_UNIFORM_BLOCKS                     = 0x8A2B;
273 	int  GL_MAX_FRAGMENT_UNIFORM_BLOCKS                   = 0x8A2D;
274 	int  GL_MAX_COMBINED_UNIFORM_BLOCKS                   = 0x8A2E;
275 	int  GL_MAX_UNIFORM_BUFFER_BINDINGS                   = 0x8A2F;
276 	int  GL_MAX_UNIFORM_BLOCK_SIZE                        = 0x8A30;
277 	int  GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS        = 0x8A31;
278 	int  GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS      = 0x8A33;
279 	int  GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT               = 0x8A34;
280 	int  GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH          = 0x8A35;
281 	int  GL_ACTIVE_UNIFORM_BLOCKS                         = 0x8A36;
282 	int  GL_UNIFORM_TYPE                                  = 0x8A37;
283 	int  GL_UNIFORM_SIZE                                  = 0x8A38;
284 	int  GL_UNIFORM_NAME_LENGTH                           = 0x8A39;
285 	int  GL_UNIFORM_BLOCK_INDEX                           = 0x8A3A;
286 	int  GL_UNIFORM_OFFSET                                = 0x8A3B;
287 	int  GL_UNIFORM_ARRAY_STRIDE                          = 0x8A3C;
288 	int  GL_UNIFORM_MATRIX_STRIDE                         = 0x8A3D;
289 	int  GL_UNIFORM_IS_ROW_MAJOR                          = 0x8A3E;
290 	int  GL_UNIFORM_BLOCK_BINDING                         = 0x8A3F;
291 	int  GL_UNIFORM_BLOCK_DATA_SIZE                       = 0x8A40;
292 	int  GL_UNIFORM_BLOCK_NAME_LENGTH                     = 0x8A41;
293 	int  GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS                 = 0x8A42;
294 	int  GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES          = 0x8A43;
295 	int  GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER     = 0x8A44;
296 	int  GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER   = 0x8A46;
297 	int  GL_INVALID_INDEX                                 = 0xFFFFFFFF;
298 	int  GL_MAX_VERTEX_OUTPUT_COMPONENTS                  = 0x9122;
299 	int  GL_MAX_FRAGMENT_INPUT_COMPONENTS                 = 0x9125;
300 	int  GL_MAX_SERVER_WAIT_TIMEOUT                       = 0x9111;
301 	int  GL_OBJECT_TYPE                                   = 0x9112;
302 	int  GL_SYNC_CONDITION                                = 0x9113;
303 	int  GL_SYNC_STATUS                                   = 0x9114;
304 	int  GL_SYNC_FLAGS                                    = 0x9115;
305 	int  GL_SYNC_FENCE                                    = 0x9116;
306 	int  GL_SYNC_GPU_COMMANDS_COMPLETE                    = 0x9117;
307 	int  GL_UNSIGNALED                                    = 0x9118;
308 	int  GL_SIGNALED                                      = 0x9119;
309 	int  GL_ALREADY_SIGNALED                              = 0x911A;
310 	int  GL_TIMEOUT_EXPIRED                               = 0x911B;
311 	int  GL_CONDITION_SATISFIED                           = 0x911C;
312 	int  GL_WAIT_FAILED                                   = 0x911D;
313 	int  GL_SYNC_FLUSH_COMMANDS_BIT                       = 0x00000001;
314 	long GL_TIMEOUT_IGNORED                               = 0xFFFFFFFFFFFFFFFFl;
315 	int  GL_VERTEX_ATTRIB_ARRAY_DIVISOR                   = 0x88FE;
316 	int  GL_ANY_SAMPLES_PASSED                            = 0x8C2F;
317 	int  GL_ANY_SAMPLES_PASSED_CONSERVATIVE               = 0x8D6A;
318 	int  GL_SAMPLER_BINDING                               = 0x8919;
319 	int  GL_RGB10_A2UI                                    = 0x906F;
320 	int  GL_TEXTURE_SWIZZLE_R                             = 0x8E42;
321 	int  GL_TEXTURE_SWIZZLE_G                             = 0x8E43;
322 	int  GL_TEXTURE_SWIZZLE_B                             = 0x8E44;
323 	int  GL_TEXTURE_SWIZZLE_A                             = 0x8E45;
324 	int  GL_GREEN                                         = 0x1904;
325 	int  GL_BLUE                                          = 0x1905;
326 	int  GL_INT_2_10_10_10_REV                            = 0x8D9F;
327 	int  GL_TRANSFORM_FEEDBACK                            = 0x8E22;
328 	int  GL_TRANSFORM_FEEDBACK_PAUSED                     = 0x8E23;
329 	int  GL_TRANSFORM_FEEDBACK_ACTIVE                     = 0x8E24;
330 	int  GL_TRANSFORM_FEEDBACK_BINDING                    = 0x8E25;
331 	int  GL_PROGRAM_BINARY_RETRIEVABLE_HINT               = 0x8257;
332 	int  GL_PROGRAM_BINARY_LENGTH                         = 0x8741;
333 	int  GL_NUM_PROGRAM_BINARY_FORMATS                    = 0x87FE;
334 	int  GL_PROGRAM_BINARY_FORMATS                        = 0x87FF;
335 	int  GL_COMPRESSED_R11_EAC                            = 0x9270;
336 	int  GL_COMPRESSED_SIGNED_R11_EAC                     = 0x9271;
337 	int  GL_COMPRESSED_RG11_EAC                           = 0x9272;
338 	int  GL_COMPRESSED_SIGNED_RG11_EAC                    = 0x9273;
339 	int  GL_COMPRESSED_RGB8_ETC2                          = 0x9274;
340 	int  GL_COMPRESSED_SRGB8_ETC2                         = 0x9275;
341 	int  GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2      = 0x9276;
342 	int  GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2     = 0x9277;
343 	int  GL_COMPRESSED_RGBA8_ETC2_EAC                     = 0x9278;
344 	int  GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC              = 0x9279;
345 	int  GL_TEXTURE_IMMUTABLE_FORMAT                      = 0x912F;
346 	int  GL_MAX_ELEMENT_INDEX                             = 0x8D6B;
347 	int  GL_NUM_SAMPLE_COUNTS                             = 0x9380;
348 
glReadBuffer(@Lenum int mode)349 	void glReadBuffer(@GLenum int mode);
350 
glDrawRangeElements(@Lenum int mode, @GLuint int start, @GLuint int end, @AutoSize(R) @GLsizei int count, @AutoType(R) @GLenum int type, @BufferObject(BufferKind.ElementVBO) @Const @GLubyte @GLushort @GLuint Buffer indices)351 	void glDrawRangeElements(@GLenum int mode, @GLuint int start, @GLuint int end, @AutoSize("indices") @GLsizei int count,
352 	                         @AutoType("indices")
353 	                         @GLenum int type,
354 	                         @BufferObject(BufferKind.ElementVBO)
355 	                         @Const
356 	                         @GLubyte
357 	                         @GLushort
358 	                         @GLuint Buffer indices);
359 
glTexImage3D(@Lenum int target, int level, int internalFormat, @GLsizei int width, @GLsizei int height, @GLsizei int depth, int border, @GLenum int format, @GLenum int type, @BufferObject(BufferKind.UnpackPBO) @Check(value = R, canBeNull = true) @Const @GLbyte @GLshort @GLint @GLfloat Buffer pixels)360 	void glTexImage3D(@GLenum int target, int level, int internalFormat, @GLsizei int width, @GLsizei int height, @GLsizei int depth, int border, @GLenum int format, @GLenum int type,
361 	                  @BufferObject(BufferKind.UnpackPBO)
362 	                  @Check(value = "GLChecks.calculateTexImage3DStorage(pixels, format, type, width, height, depth)", canBeNull = true)
363 	                  @Const
364 	                  @GLbyte
365 	                  @GLshort
366 	                  @GLint
367 	                  @GLfloat Buffer pixels);
368 
glTexSubImage3D(@Lenum int target, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @GLenum int type, @BufferObject(BufferKind.UnpackPBO) @Check(R) @Const @GLbyte @GLshort @GLint @GLfloat Buffer pixels)369 	void glTexSubImage3D(@GLenum int target, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @GLenum int type,
370 	                     @BufferObject(BufferKind.UnpackPBO)
371 	                     @Check("GLChecks.calculateImageStorage(pixels, format, type, width, height, depth)")
372 	                     @Const
373 	                     @GLbyte
374 	                     @GLshort
375 	                     @GLint
376 	                     @GLfloat Buffer pixels);
377 
glCopyTexSubImage3D(@Lenum int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, @GLsizei int width, @GLsizei int height)378 	void glCopyTexSubImage3D(@GLenum int target, int level, int xoffset, int yoffset, int zoffset, int x, int y, @GLsizei int width, @GLsizei int height);
379 
glCompressedTexImage3D(@Lenum int target, int level, @GLenum int internalformat, @GLsizei int width, @GLsizei int height, @GLsizei int depth, int border, @AutoSize(R) @GLsizei int imageSize, @BufferObject(BufferKind.UnpackPBO) @Check @Const @GLvoid ByteBuffer data)380 	void glCompressedTexImage3D(@GLenum int target, int level, @GLenum int internalformat, @GLsizei int width, @GLsizei int height, @GLsizei int depth, int border, @AutoSize("data") @GLsizei int imageSize,
381 	                            @BufferObject(BufferKind.UnpackPBO)
382 	                            @Check
383 	                            @Const
384 	                            @GLvoid
385 	                            ByteBuffer data);
386 
glCompressedTexSubImage3D(@Lenum int target, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @AutoSize(R) @GLsizei int imageSize, @BufferObject(BufferKind.UnpackPBO) @Check @Const @GLvoid ByteBuffer data)387 	void glCompressedTexSubImage3D(@GLenum int target, int level, int xoffset, int yoffset, int zoffset, @GLsizei int width, @GLsizei int height, @GLsizei int depth, @GLenum int format, @AutoSize("data") @GLsizei int imageSize,
388 	                               @BufferObject(BufferKind.UnpackPBO)
389 	                               @Check
390 	                               @Const
391 	                               @GLvoid
392 	                               ByteBuffer data);
393 
glGenQueries(@utoSizeR) @Lsizei int n, @OutParameter @GLuint IntBuffer ids)394 	void glGenQueries(@AutoSize("ids") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
395 
396 	@Alternate("glGenQueries")
397 	@GLreturn("ids")
glGenQueries2(@onstantR) @Lsizei int n, @OutParameter @GLuint IntBuffer ids)398 	void glGenQueries2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
399 
glDeleteQueries(@utoSizeR) @Lsizei int n, @GLuint IntBuffer ids)400 	void glDeleteQueries(@AutoSize("ids") @GLsizei int n, @GLuint IntBuffer ids);
401 
402 	@Alternate("glDeleteQueries")
glDeleteQueries(@onstantR) @Lsizei int n, @Constant(value = R, keepParam = true) int id)403 	void glDeleteQueries(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(id)", keepParam = true) int id);
404 
glIsQuery(@Luint int id)405 	boolean glIsQuery(@GLuint int id);
406 
glBeginQuery(@Lenum int target, @GLuint int id)407 	void glBeginQuery(@GLenum int target, @GLuint int id);
408 
glEndQuery(@Lenum int target)409 	void glEndQuery(@GLenum int target);
410 
411 	@StripPostfix("params")
glGetQueryiv(@Lenum int target, @GLenum int pname, @OutParameter @Check(R) IntBuffer params)412 	void glGetQueryiv(@GLenum int target, @GLenum int pname, @OutParameter @Check("1") IntBuffer params);
413 
414 	@Alternate("glGetQueryiv")
415 	@GLreturn("params")
416 	@StripPostfix(value = "params", hasPostfix = false)
glGetQueryiv2(@Lenum int target, @GLenum int pname, @OutParameter IntBuffer params)417 	void glGetQueryiv2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
418 
419 	@StripPostfix("params")
glGetQueryObjectuiv(@Lenum int id, @GLenum int pname, @OutParameter @Check(R) @GLuint IntBuffer params)420 	void glGetQueryObjectuiv(@GLenum int id, @GLenum int pname, @OutParameter @Check("1") @GLuint IntBuffer params);
421 
422 	@Alternate("glGetQueryObjectuiv")
423 	@GLreturn("params")
424 	@StripPostfix(value = "params", hasPostfix = false)
glGetQueryObjectuiv2(@Lenum int id, @GLenum int pname, @OutParameter @GLuint IntBuffer params)425 	void glGetQueryObjectuiv2(@GLenum int id, @GLenum int pname, @OutParameter @GLuint IntBuffer params);
426 
glUnmapBuffer(@Lenum int target)427 	boolean glUnmapBuffer(@GLenum int target);
428 
429 	@StripPostfix("pointer")
430 	@AutoSize("GLES20.glGetBufferParameteri(target, GLES20.GL_BUFFER_SIZE)")
glGetBufferPointerv(@Lenum int target, @GLenum int pname, @OutParameter @Result @GLvoid ByteBuffer pointer)431 	void glGetBufferPointerv(@GLenum int target, @GLenum int pname, @OutParameter @Result @GLvoid ByteBuffer pointer);
432 
glDrawBuffers(@utoSizeR) @Lsizei int size, @Const @GLenum IntBuffer buffers)433 	void glDrawBuffers(@AutoSize("buffers") @GLsizei int size, @Const @GLenum IntBuffer buffers);
434 
435 	@Alternate("glDrawBuffers")
glDrawBuffers(@onstantR) @Lsizei int size, @Constant(value = R, keepParam = true) int buffer)436 	void glDrawBuffers(@Constant("1") @GLsizei int size, @Constant(value = "APIUtil.getInt(buffer)", keepParam = true) int buffer);
437 
438 	@StripPostfix("matrices")
glUniformMatrix2x3fv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, boolean transpose, FloatBuffer matrices)439 	void glUniformMatrix2x3fv(int location, @AutoSize(value = "matrices", expression = " / (2 * 3)") @GLsizei int count,
440 	                          boolean transpose, FloatBuffer matrices);
441 
442 	@StripPostfix("matrices")
glUniformMatrix3x2fv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, boolean transpose, FloatBuffer matrices)443 	void glUniformMatrix3x2fv(int location, @AutoSize(value = "matrices", expression = " / (3 * 2)") @GLsizei int count,
444 	                          boolean transpose, FloatBuffer matrices);
445 
446 	@StripPostfix("matrices")
glUniformMatrix2x4fv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, boolean transpose, FloatBuffer matrices)447 	void glUniformMatrix2x4fv(int location, @AutoSize(value = "matrices", expression = " >> 3") @GLsizei int count,
448 	                          boolean transpose, FloatBuffer matrices);
449 
450 	@StripPostfix("matrices")
glUniformMatrix4x2fv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, boolean transpose, FloatBuffer matrices)451 	void glUniformMatrix4x2fv(int location, @AutoSize(value = "matrices", expression = " >> 3") @GLsizei int count,
452 	                          boolean transpose, FloatBuffer matrices);
453 
454 	@StripPostfix("matrices")
glUniformMatrix3x4fv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, boolean transpose, FloatBuffer matrices)455 	void glUniformMatrix3x4fv(int location, @AutoSize(value = "matrices", expression = " / (3 * 4)") @GLsizei int count,
456 	                          boolean transpose, FloatBuffer matrices);
457 
458 	@StripPostfix("matrices")
glUniformMatrix4x3fv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, boolean transpose, FloatBuffer matrices)459 	void glUniformMatrix4x3fv(int location, @AutoSize(value = "matrices", expression = " / (4 * 3)") @GLsizei int count,
460 	                          boolean transpose, FloatBuffer matrices);
461 
462 	/**
463 	 * Transfers a rectangle of pixel values from one
464 	 * region of the read framebuffer to another in the draw framebuffer.
465 	 * <mask> is the bitwise OR of a number of values indicating which
466 	 * buffers are to be copied. The values are COLOR_BUFFER_BIT,
467 	 * DEPTH_BUFFER_BIT, and STENCIL_BUFFER_BIT.
468 	 * The pixels corresponding to these buffers are
469 	 * copied from the source rectangle, bound by the locations (srcX0,
470 	 * srcY0) and (srcX1, srcY1) inclusive, to the destination rectangle,
471 	 * bound by the locations (dstX0, dstY0) and (dstX1, dstY1)
472 	 * inclusive.
473 	 * If the source and destination rectangle dimensions do not match,
474 	 * the source image is stretched to fit the destination
475 	 * rectangle. <filter> must be LINEAR or NEAREST and specifies the
476 	 * method of interpolation to be applied if the image is
477 	 * stretched.
478 	 */
glBlitFramebuffer( @Lint int srcX0, @GLint int srcY0, @GLint int srcX1, @GLint int srcY1, @GLint int dstX0, @GLint int dstY0, @GLint int dstX1, @GLint int dstY1, @GLbitfield int mask, @GLenum int filter)479 	void glBlitFramebuffer(
480 		@GLint int srcX0, @GLint int srcY0, @GLint int srcX1, @GLint int srcY1,
481 		@GLint int dstX0, @GLint int dstY0, @GLint int dstX1, @GLint int dstY1,
482 		@GLbitfield int mask, @GLenum int filter);
483 
484 	/**
485 	 * Establishes the data storage, format, dimensions, and number of
486 	 * samples of a renderbuffer object's image.
487 	 */
glRenderbufferStorageMultisample( @Lenum int target, @GLsizei int samples, @GLenum int internalformat, @GLsizei int width, @GLsizei int height)488 	void glRenderbufferStorageMultisample(
489 		@GLenum int target, @GLsizei int samples,
490 		@GLenum int internalformat,
491 		@GLsizei int width, @GLsizei int height);
492 
glFramebufferTextureLayer(@Lenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer)493 	void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer);
494 
495 	/**
496 	 * glMapBufferRange maps a GL buffer object range to a ByteBuffer. The old_buffer argument can be null,
497 	 * in which case a new ByteBuffer will be created, pointing to the returned memory. If old_buffer is non-null,
498 	 * it will be returned if it points to the same mapped memory and has the same capacity as the buffer object,
499 	 * otherwise a new ByteBuffer is created. That way, an application will normally use glMapBufferRange like this:
500 	 * <p/>
501 	 * ByteBuffer mapped_buffer; mapped_buffer = glMapBufferRange(..., ..., ..., ..., null); ... // Another map on the same buffer mapped_buffer = glMapBufferRange(..., ..., ..., ..., mapped_buffer);
502 	 * <p/>
503 	 * Only ByteBuffers returned from this method are to be passed as the old_buffer argument. User-created ByteBuffers cannot be reused.
504 	 *
505 	 * @param old_buffer A ByteBuffer. If this argument points to the same address and has the same capacity as the new mapping, it will be returned and no new buffer will be created.
506 	 *
507 	 * @return A ByteBuffer representing the mapped buffer memory.
508 	 */
509 	@CachedResult(isRange = true)
510 	@GLvoid
511 	@AutoSize("length")
glMapBufferRange(@Lenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access)512 	ByteBuffer glMapBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length, @GLbitfield int access);
513 
glFlushMappedBufferRange(@Lenum int target, @GLintptr long offset, @GLsizeiptr long length)514 	void glFlushMappedBufferRange(@GLenum int target, @GLintptr long offset, @GLsizeiptr long length);
515 
516 	@Code("		StateTracker.bindVAO(array);")
glBindVertexArray(@Luint int array)517 	void glBindVertexArray(@GLuint int array);
518 
519 	@Code("		StateTracker.deleteVAO(arrays);")
glDeleteVertexArrays(@utoSizeR) @Lsizei int n, @Const @GLuint IntBuffer arrays)520 	void glDeleteVertexArrays(@AutoSize("arrays") @GLsizei int n, @Const @GLuint IntBuffer arrays);
521 
522 	@Alternate("glDeleteVertexArrays")
523 	@Code("		StateTracker.deleteVAO(array);")
glDeleteVertexArrays(@onstantR) @Lsizei int n, @Constant(value = R, keepParam = true) int array)524 	void glDeleteVertexArrays(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(array)", keepParam = true) int array);
525 
glGenVertexArrays(@utoSizeR) @Lsizei int n, @OutParameter @GLuint IntBuffer arrays)526 	void glGenVertexArrays(@AutoSize("arrays") @GLsizei int n, @OutParameter @GLuint IntBuffer arrays);
527 
528 	@Alternate("glGenVertexArrays")
529 	@GLreturn("arrays")
glGenVertexArrays2(@onstantR) @Lsizei int n, @OutParameter @GLuint IntBuffer arrays)530 	void glGenVertexArrays2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer arrays);
531 
glIsVertexArray(@Luint int array)532 	boolean glIsVertexArray(@GLuint int array);
533 
534 	@StripPostfix("data")
glGetIntegeri_v(@Lenum int value, @GLuint int index, @OutParameter @Check(R) IntBuffer data)535 	void glGetIntegeri_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4") IntBuffer data);
536 
537 	@Alternate("glGetIntegeri_v")
538 	@GLreturn("data")
539 	@StripPostfix("data")
glGetIntegeri_v2(@Lenum int value, @GLuint int index, @OutParameter IntBuffer data)540 	void glGetIntegeri_v2(@GLenum int value, @GLuint int index, @OutParameter IntBuffer data);
541 
glBeginTransformFeedback(@Lenum int primitiveMode)542 	void glBeginTransformFeedback(@GLenum int primitiveMode);
543 
glEndTransformFeedback()544 	void glEndTransformFeedback();
545 
glBindBufferRange(@Lenum int target, @GLuint int index, @GLuint int buffer, @GLintptr long offset, @GLsizeiptr long size)546 	void glBindBufferRange(@GLenum int target, @GLuint int index, @GLuint int buffer, @GLintptr long offset, @GLsizeiptr long size);
547 
glBindBufferBase(@Lenum int target, @GLuint int index, @GLuint int buffer)548 	void glBindBufferBase(@GLenum int target, @GLuint int index, @GLuint int buffer);
549 
glTransformFeedbackVaryings(@Luint int program, @GLsizei int count, @Const @NullTerminated(R) @GLchar @PointerArray(R) ByteBuffer varyings, @GLenum int bufferMode)550 	void glTransformFeedbackVaryings(@GLuint int program, @GLsizei int count,
551 	                                 @Const @NullTerminated("count") @GLchar @PointerArray("count") ByteBuffer varyings,
552 	                                 @GLenum int bufferMode);
553 
554 	@Alternate("glTransformFeedbackVaryings")
glTransformFeedbackVaryings(@Luint int program, @Constant(R) @GLsizei int count, @Const @NullTerminated @PointerArray(R) CharSequence[] varyings, @GLenum int bufferMode)555 	void glTransformFeedbackVaryings(@GLuint int program, @Constant("varyings.length") @GLsizei int count,
556 	                                 @Const @NullTerminated @PointerArray("count") CharSequence[] varyings,
557 	                                 @GLenum int bufferMode);
558 
glGetTransformFeedbackVarying(@Luint int program, @GLuint int index, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @OutParameter @GLsizei @Check(R) IntBuffer size, @OutParameter @GLenum @Check(R) IntBuffer type, @OutParameter @GLchar ByteBuffer name)559 	void glGetTransformFeedbackVarying(@GLuint int program, @GLuint int index, @AutoSize("name") @GLsizei int bufSize,
560 	                                   @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
561 	                                   @OutParameter @GLsizei @Check("1") IntBuffer size,
562 	                                   @OutParameter @GLenum @Check("1") IntBuffer type,
563 	                                   @OutParameter @GLchar ByteBuffer name);
564 
565 	@Alternate("glGetTransformFeedbackVarying")
566 	@GLreturn(value = "name", maxLength = "bufSize")
glGetTransformFeedbackVarying2(@Luint int program, @GLuint int index, @GLsizei int bufSize, @OutParameter @GLsizei @Constant(R) IntBuffer length, @OutParameter @GLsizei @Check(R) IntBuffer size, @OutParameter @GLenum @Check(R) IntBuffer type, @OutParameter @GLchar ByteBuffer name)567 	void glGetTransformFeedbackVarying2(@GLuint int program, @GLuint int index, @GLsizei int bufSize,
568 	                                    @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(name_length)") IntBuffer length,
569 	                                    @OutParameter @GLsizei @Check("1") IntBuffer size,
570 	                                    @OutParameter @GLenum @Check("1") IntBuffer type,
571 	                                    @OutParameter @GLchar ByteBuffer name);
572 
glVertexAttribIPointer(@Luint int index, int size, @GLenum int type, @GLsizei int stride, @CachedReference(index = R, name = R) @BufferObject(BufferKind.ArrayVBO) @Check @Const @GLbyte @GLubyte @GLshort @GLushort @GLint @GLuint Buffer buffer)573 	void glVertexAttribIPointer(@GLuint int index, int size, @GLenum int type, @GLsizei int stride,
574 	                            @CachedReference(index = "index", name = "glVertexAttribPointer_buffer")
575 	                            @BufferObject(BufferKind.ArrayVBO)
576 	                            @Check
577 	                            @Const
578 	                            @GLbyte
579 	                            @GLubyte
580 	                            @GLshort
581 	                            @GLushort
582 	                            @GLint
583 	                            @GLuint Buffer buffer);
584 
585 	@StripPostfix("params")
glGetVertexAttribIiv(@Luint int index, @GLenum int pname, @OutParameter @Check(R) IntBuffer params)586 	void glGetVertexAttribIiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
587 
588 	@StripPostfix("params")
glGetVertexAttribIuiv(@Luint int index, @GLenum int pname, @OutParameter @Check(R) @GLuint IntBuffer params)589 	void glGetVertexAttribIuiv(@GLuint int index, @GLenum int pname, @OutParameter @Check("4") @GLuint IntBuffer params);
590 
591 	@NoErrorCheck
glVertexAttribI4i(@Luint int index, int x, int y, int z, int w)592 	void glVertexAttribI4i(@GLuint int index, int x, int y, int z, int w);
593 
594 	@NoErrorCheck
glVertexAttribI4ui(@Luint int index, @GLuint int x, @GLuint int y, @GLuint int z, @GLuint int w)595 	void glVertexAttribI4ui(@GLuint int index, @GLuint int x, @GLuint int y, @GLuint int z, @GLuint int w);
596 
597 	@NoErrorCheck
598 	@StripPostfix("v")
glVertexAttribI4iv(@Luint int index, @Check(R) @Const IntBuffer v)599 	void glVertexAttribI4iv(@GLuint int index, @Check("4") @Const IntBuffer v);
600 
601 	@NoErrorCheck
602 	@StripPostfix("v")
glVertexAttribI4uiv(@Luint int index, @Check(R) @Const @GLuint IntBuffer v)603 	void glVertexAttribI4uiv(@GLuint int index, @Check("4") @Const @GLuint IntBuffer v);
604 
605 	@StripPostfix("params")
glGetUniformuiv(@Luint int program, int location, @OutParameter @Check @GLuint IntBuffer params)606 	void glGetUniformuiv(@GLuint int program, int location, @OutParameter @Check @GLuint IntBuffer params);
607 
glGetFragDataLocation(@Luint int program, @NullTerminated @Const @GLchar ByteBuffer name)608 	int glGetFragDataLocation(@GLuint int program, @NullTerminated @Const @GLchar ByteBuffer name);
609 
610 	@Alternate("glGetFragDataLocation")
glGetFragDataLocation(@Luint int program, @NullTerminated CharSequence name)611 	int glGetFragDataLocation(@GLuint int program, @NullTerminated CharSequence name);
612 
glUniform1ui(int location, @GLuint int v0)613 	void glUniform1ui(int location, @GLuint int v0);
614 
glUniform2ui(int location, @GLuint int v0, @GLuint int v1)615 	void glUniform2ui(int location, @GLuint int v0, @GLuint int v1);
616 
glUniform3ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2)617 	void glUniform3ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2);
618 
glUniform4ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2, @GLuint int v3)619 	void glUniform4ui(int location, @GLuint int v0, @GLuint int v1, @GLuint int v2, @GLuint int v3);
620 
621 	@StripPostfix("value")
glUniform1uiv(int location, @AutoSize(R) @GLsizei int count, @Const @GLuint IntBuffer value)622 	void glUniform1uiv(int location, @AutoSize("value") @GLsizei int count, @Const @GLuint IntBuffer value);
623 
624 	@StripPostfix("value")
glUniform2uiv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, @Const @GLuint IntBuffer value)625 	void glUniform2uiv(int location, @AutoSize(value = "value", expression = " >> 1") @GLsizei int count, @Const @GLuint IntBuffer value);
626 
627 	@StripPostfix("value")
glUniform3uiv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, @Const @GLuint IntBuffer value)628 	void glUniform3uiv(int location, @AutoSize(value = "value", expression = " / 3") @GLsizei int count, @Const @GLuint IntBuffer value);
629 
630 	@StripPostfix("value")
glUniform4uiv(int location, @AutoSize(value = R, expression = R) @GLsizei int count, @Const @GLuint IntBuffer value)631 	void glUniform4uiv(int location, @AutoSize(value = "value", expression = " >> 2") @GLsizei int count, @Const @GLuint IntBuffer value);
632 
633 	@StripPostfix("value")
glClearBufferfv(@Lenum int buffer, int drawbuffer, @Const @Check(R) FloatBuffer value)634 	void glClearBufferfv(@GLenum int buffer, int drawbuffer, @Const @Check("4") FloatBuffer value);
635 
636 	@StripPostfix("value")
glClearBufferiv(@Lenum int buffer, int drawbuffer, @Const @Check(R) IntBuffer value)637 	void glClearBufferiv(@GLenum int buffer, int drawbuffer, @Const @Check("4") IntBuffer value);
638 
639 	@StripPostfix("value")
glClearBufferuiv(@Lenum int buffer, int drawbuffer, @Const @Check(R) IntBuffer value)640 	void glClearBufferuiv(@GLenum int buffer, int drawbuffer, @Const @Check("4") IntBuffer value);
641 
glClearBufferfi(@Lenum int buffer, int drawbuffer, float depth, int stencil)642 	void glClearBufferfi(@GLenum int buffer, int drawbuffer, float depth, int stencil);
643 
glGetStringi(@Lenum int name, @GLuint int index)644 	String glGetStringi(@GLenum int name, @GLuint int index);
645 
glCopyBufferSubData(@Lenum int readtarget, @GLenum int writetarget, @GLintptr long readoffset, @GLintptr long writeoffset, @GLsizeiptr long size)646 	void glCopyBufferSubData(@GLenum int readtarget, @GLenum int writetarget, @GLintptr long readoffset, @GLintptr long writeoffset, @GLsizeiptr long size);
647 
glGetUniformIndices(@Luint int program, @AutoSize(R) @GLsizei int uniformCount, @Const @NullTerminated(R) @GLchar @PointerArray(R) ByteBuffer uniformNames, @OutParameter @GLuint IntBuffer uniformIndices)648 	void glGetUniformIndices(@GLuint int program, @AutoSize("uniformIndices") @GLsizei int uniformCount,
649 	                         @Const @NullTerminated("uniformIndices.remaining()") @GLchar @PointerArray("uniformCount") ByteBuffer uniformNames,
650 	                         @OutParameter @GLuint IntBuffer uniformIndices);
651 
652 	@Alternate("glGetUniformIndices")
glGetUniformIndices(@Luint int program, @Constant(R) @GLsizei int uniformCount, @Const @NullTerminated @PointerArray(R) CharSequence[] uniformNames, @OutParameter @Check(R) @GLuint IntBuffer uniformIndices)653 	void glGetUniformIndices(@GLuint int program, @Constant("uniformNames.length") @GLsizei int uniformCount,
654 	                         @Const @NullTerminated @PointerArray("uniformCount") CharSequence[] uniformNames,
655 	                         @OutParameter @Check("uniformNames.length") @GLuint IntBuffer uniformIndices);
656 
657 	@StripPostfix("params")
glGetActiveUniformsiv(@Luint int program, @AutoSize(R) @GLsizei int uniformCount, @Const @GLuint IntBuffer uniformIndices, @GLenum int pname, @OutParameter @Check(R) @GLint IntBuffer params)658 	void glGetActiveUniformsiv(@GLuint int program, @AutoSize("uniformIndices") @GLsizei int uniformCount,
659 	                           @Const @GLuint IntBuffer uniformIndices,
660 	                           @GLenum int pname,
661 	                           @OutParameter @Check("uniformIndices.remaining()") @GLint IntBuffer params);
662 
663 	@Alternate("glGetActiveUniformsiv")
664 	@GLreturn("params")
665 	@StripPostfix(value = "params", hasPostfix = false)
glGetActiveUniformsiv(@Luint int program, @Constant(R) @GLsizei int uniformCount, @Constant(value = R, keepParam = true) int uniformIndex, @GLenum int pname, @OutParameter @GLint IntBuffer params)666 	void glGetActiveUniformsiv(@GLuint int program, @Constant("1") @GLsizei int uniformCount,
667 	                           @Constant(value = "MemoryUtil.getAddress(params.put(1, uniformIndex), 1)", keepParam = true) int uniformIndex, // Reuse params buffer
668 	                           @GLenum int pname,
669 	                           @OutParameter @GLint IntBuffer params);
670 
671 	@GLuint
glGetUniformBlockIndex(@Luint int program, @Const @NullTerminated @GLchar ByteBuffer uniformBlockName)672 	int glGetUniformBlockIndex(@GLuint int program, @Const @NullTerminated @GLchar ByteBuffer uniformBlockName);
673 
674 	@Alternate("glGetUniformBlockIndex")
675 	@GLuint
glGetUniformBlockIndex(@Luint int program, @NullTerminated CharSequence uniformBlockName)676 	int glGetUniformBlockIndex(@GLuint int program, @NullTerminated CharSequence uniformBlockName);
677 
678 	@StripPostfix("params")
glGetActiveUniformBlockiv(@Luint int program, @GLuint int uniformBlockIndex, @GLenum int pname, @OutParameter @Check(value = R) @GLint IntBuffer params)679 	void glGetActiveUniformBlockiv(@GLuint int program, @GLuint int uniformBlockIndex, @GLenum int pname,
680 	                               @OutParameter @Check(value = "16") @GLint IntBuffer params);
681 
682 	@Alternate("glGetActiveUniformBlockiv")
683 	@GLreturn("params")
684 	@StripPostfix(value = "params", hasPostfix = false)
glGetActiveUniformBlockiv2(@Luint int program, @GLuint int uniformBlockIndex, @GLenum int pname, @OutParameter @GLint IntBuffer params)685 	void glGetActiveUniformBlockiv2(@GLuint int program, @GLuint int uniformBlockIndex, @GLenum int pname,
686 	                                @OutParameter @GLint IntBuffer params);
687 
glGetActiveUniformBlockName(@Luint int program, @GLuint int uniformBlockIndex, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @OutParameter @GLchar ByteBuffer uniformBlockName)688 	void glGetActiveUniformBlockName(@GLuint int program, @GLuint int uniformBlockIndex, @AutoSize("uniformBlockName") @GLsizei int bufSize,
689 	                                 @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
690 	                                 @OutParameter @GLchar ByteBuffer uniformBlockName);
691 
692 	@Alternate("glGetActiveUniformBlockName")
693 	@GLreturn(value = "uniformBlockName", maxLength = "bufSize")
glGetActiveUniformBlockName2(@Luint int program, @GLuint int uniformBlockIndex, @GLsizei int bufSize, @OutParameter @GLsizei @Constant(R) IntBuffer length, @OutParameter @GLchar ByteBuffer uniformBlockName)694 	void glGetActiveUniformBlockName2(@GLuint int program, @GLuint int uniformBlockIndex, @GLsizei int bufSize,
695 	                                  @OutParameter @GLsizei @Constant("MemoryUtil.getAddress0(uniformBlockName_length)") IntBuffer length,
696 	                                  @OutParameter @GLchar ByteBuffer uniformBlockName);
697 
glUniformBlockBinding(@Luint int program, @GLuint int uniformBlockIndex, @GLuint int uniformBlockBinding)698 	void glUniformBlockBinding(@GLuint int program, @GLuint int uniformBlockIndex, @GLuint int uniformBlockBinding);
699 
glDrawArraysInstanced(@Lenum int mode, int first, @GLsizei int count, @GLsizei int primcount)700 	void glDrawArraysInstanced(@GLenum int mode, int first, @GLsizei int count, @GLsizei int primcount);
701 
glDrawElementsInstanced(@Lenum int mode, @AutoSize(R) @GLsizei int count, @AutoType(R) @GLenum int type, @BufferObject(BufferKind.ElementVBO) @Const @GLubyte @GLushort @GLuint Buffer indices, @GLsizei int primcount)702 	void glDrawElementsInstanced(@GLenum int mode, @AutoSize("indices") @GLsizei int count, @AutoType("indices") @GLenum int type,
703 	                             @BufferObject(BufferKind.ElementVBO)
704 	                             @Const
705 	                             @GLubyte
706 	                             @GLushort
707 	                             @GLuint Buffer indices, @GLsizei int primcount);
708 
709 	@PointerWrapper("GLsync")
glFenceSync(@Lenum int condition, @GLbitfield int flags)710 	GLSync glFenceSync(@GLenum int condition, @GLbitfield int flags);
711 
glIsSync(@ointerWrapperR) GLSync sync)712 	boolean glIsSync(@PointerWrapper("GLsync") GLSync sync);
713 
glDeleteSync(@ointerWrapperR) GLSync sync)714 	void glDeleteSync(@PointerWrapper("GLsync") GLSync sync);
715 
716 	@GLenum
glClientWaitSync(@ointerWrapperR) GLSync sync, @GLbitfield int flags, @GLuint64 long timeout)717 	int glClientWaitSync(@PointerWrapper("GLsync") GLSync sync, @GLbitfield int flags, @GLuint64 long timeout);
718 
glWaitSync(@ointerWrapperR) GLSync sync, @GLbitfield int flags, @GLuint64 long timeout)719 	void glWaitSync(@PointerWrapper("GLsync") GLSync sync, @GLbitfield int flags, @GLuint64 long timeout);
720 
721 	@StripPostfix("data")
glGetInteger64v(@Lenum int pname, @OutParameter @Check(R) @GLint64 LongBuffer data)722 	void glGetInteger64v(@GLenum int pname, @OutParameter @Check("1") @GLint64 LongBuffer data);
723 
724 	@Alternate("glGetInteger64v")
725 	@GLreturn("data")
726 	@StripPostfix("data")
glGetInteger64v2(@Lenum int pname, @OutParameter @GLint64 LongBuffer data)727 	void glGetInteger64v2(@GLenum int pname, @OutParameter @GLint64 LongBuffer data);
728 
729 	@StripPostfix("data")
glGetInteger64i_v(@Lenum int value, @GLuint int index, @OutParameter @Check(R) @GLint64 LongBuffer data)730 	void glGetInteger64i_v(@GLenum int value, @GLuint int index, @OutParameter @Check("4") @GLint64 LongBuffer data);
731 
732 	@Alternate("glGetInteger64i_v")
733 	@GLreturn("data")
734 	@StripPostfix("data")
glGetInteger64i_v2(@Lenum int value, @GLuint int index, @OutParameter @GLint64 LongBuffer data)735 	void glGetInteger64i_v2(@GLenum int value, @GLuint int index, @OutParameter @GLint64 LongBuffer data);
736 
737 	@StripPostfix("values")
glGetSynciv(@ointerWrapperR) GLSync sync, @GLenum int pname, @AutoSize(R) @GLsizei int bufSize, @OutParameter @GLsizei @Check(value = R, canBeNull = true) IntBuffer length, @OutParameter IntBuffer values)738 	void glGetSynciv(@PointerWrapper("GLsync") GLSync sync, @GLenum int pname, @AutoSize("values") @GLsizei int bufSize,
739 	                 @OutParameter @GLsizei @Check(value = "1", canBeNull = true) IntBuffer length,
740 	                 @OutParameter IntBuffer values);
741 
742 	@Alternate("glGetSynciv")
743 	@GLreturn("values")
744 	@StripPostfix(value = "values", hasPostfix = false)
glGetSynciv2(@ointerWrapperR) GLSync sync, @GLenum int pname, @Constant(R) @GLsizei int bufSize, @OutParameter @GLsizei @Constant(R) IntBuffer length, @OutParameter IntBuffer values)745 	void glGetSynciv2(@PointerWrapper("GLsync") GLSync sync, @GLenum int pname, @Constant("1") @GLsizei int bufSize,
746 	                  @OutParameter @GLsizei @Constant("0L") IntBuffer length,
747 	                  @OutParameter IntBuffer values);
748 
749 	@StripPostfix("params")
glGetBufferParameteri64v(@Lenum int target, @GLenum int pname, @OutParameter @Check(R) LongBuffer params)750 	void glGetBufferParameteri64v(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") LongBuffer params);
751 
752 	@Alternate("glGetBufferParameteri64v")
753 	@GLreturn("params")
754 	@StripPostfix(value = "params", hasPostfix = false)
glGetBufferParameteri64v2(@Lenum int target, @GLenum int pname, @OutParameter LongBuffer params)755 	void glGetBufferParameteri64v2(@GLenum int target, @GLenum int pname, @OutParameter LongBuffer params);
756 
glGenSamplers(@utoSizeR) @Lsizei int count, @OutParameter @GLuint IntBuffer samplers)757 	void glGenSamplers(@AutoSize("samplers") @GLsizei int count, @OutParameter @GLuint IntBuffer samplers);
758 
759 	@Alternate("glGenSamplers")
760 	@GLreturn("samplers")
glGenSamplers2(@onstantR) @Lsizei int count, @OutParameter @GLuint IntBuffer samplers)761 	void glGenSamplers2(@Constant("1") @GLsizei int count, @OutParameter @GLuint IntBuffer samplers);
762 
glDeleteSamplers(@utoSizeR) @Lsizei int count, @Const @GLuint IntBuffer samplers)763 	void glDeleteSamplers(@AutoSize("samplers") @GLsizei int count, @Const @GLuint IntBuffer samplers);
764 
765 	@Alternate("glDeleteSamplers")
glDeleteSamplers(@onstantR) @Lsizei int count, @Constant(value = R, keepParam = true) int sampler)766 	void glDeleteSamplers(@Constant("1") @GLsizei int count, @Constant(value = "APIUtil.getInt(sampler)", keepParam = true) int sampler);
767 
glIsSampler(@Luint int sampler)768 	boolean glIsSampler(@GLuint int sampler);
769 
glBindSampler(@Lenum int unit, @GLuint int sampler)770 	void glBindSampler(@GLenum int unit, @GLuint int sampler);
771 
glSamplerParameteri(@Luint int sampler, @GLenum int pname, int param)772 	void glSamplerParameteri(@GLuint int sampler, @GLenum int pname, int param);
773 
glSamplerParameterf(@Luint int sampler, @GLenum int pname, float param)774 	void glSamplerParameterf(@GLuint int sampler, @GLenum int pname, float param);
775 
776 	@StripPostfix("params")
glSamplerParameteriv(@Luint int sampler, @GLenum int pname, @Check(R) @Const IntBuffer params)777 	void glSamplerParameteriv(@GLuint int sampler, @GLenum int pname, @Check("4") @Const IntBuffer params);
778 
779 	@StripPostfix("params")
glSamplerParameterfv(@Luint int sampler, @GLenum int pname, @Check(R) @Const FloatBuffer params)780 	void glSamplerParameterfv(@GLuint int sampler, @GLenum int pname, @Check("4") @Const FloatBuffer params);
781 
782 	@StripPostfix("params")
glGetSamplerParameteriv(@Luint int sampler, @GLenum int pname, @Check(R) @OutParameter IntBuffer params)783 	void glGetSamplerParameteriv(@GLuint int sampler, @GLenum int pname, @Check("4") @OutParameter IntBuffer params);
784 
785 	@Alternate("glGetSamplerParameteriv")
786 	@GLreturn("params")
787 	@StripPostfix(value = "params", hasPostfix = false)
glGetSamplerParameteriv2(@Luint int sampler, @GLenum int pname, @OutParameter IntBuffer params)788 	void glGetSamplerParameteriv2(@GLuint int sampler, @GLenum int pname, @OutParameter IntBuffer params);
789 
790 	@StripPostfix("params")
glGetSamplerParameterfv(@Luint int sampler, @GLenum int pname, @Check(R) @OutParameter FloatBuffer params)791 	void glGetSamplerParameterfv(@GLuint int sampler, @GLenum int pname, @Check("4") @OutParameter FloatBuffer params);
792 
793 	@Alternate("glGetSamplerParameterfv")
794 	@GLreturn("params")
795 	@StripPostfix(value = "params", hasPostfix = false)
glGetSamplerParameterfv2(@Luint int sampler, @GLenum int pname, @OutParameter FloatBuffer params)796 	void glGetSamplerParameterfv2(@GLuint int sampler, @GLenum int pname, @OutParameter FloatBuffer params);
797 
glVertexAttribDivisor(@Luint int index, @GLuint int divisor)798 	void glVertexAttribDivisor(@GLuint int index, @GLuint int divisor);
799 
glBindTransformFeedback(@Lenum int target, @GLuint int id)800 	void glBindTransformFeedback(@GLenum int target, @GLuint int id);
801 
glDeleteTransformFeedbacks(@utoSizeR) @Lsizei int n, @Const @GLuint IntBuffer ids)802 	void glDeleteTransformFeedbacks(@AutoSize("ids") @GLsizei int n, @Const @GLuint IntBuffer ids);
803 
804 	@Alternate("glDeleteTransformFeedbacks")
glDeleteTransformFeedbacks(@onstantR) @Lsizei int n, @Constant(value = R, keepParam = true) int id)805 	void glDeleteTransformFeedbacks(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(id)", keepParam = true) int id);
806 
glGenTransformFeedbacks(@utoSizeR) @Lsizei int n, @OutParameter @GLuint IntBuffer ids)807 	void glGenTransformFeedbacks(@AutoSize("ids") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
808 
809 	@Alternate("glGenTransformFeedbacks")
810 	@GLreturn("ids")
glGenTransformFeedbacks2(@onstantR) @Lsizei int n, @OutParameter @GLuint IntBuffer ids)811 	void glGenTransformFeedbacks2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer ids);
812 
glIsTransformFeedback(@Luint int id)813 	boolean glIsTransformFeedback(@GLuint int id);
814 
glPauseTransformFeedback()815 	void glPauseTransformFeedback();
816 
glResumeTransformFeedback()817 	void glResumeTransformFeedback();
818 
glGetProgramBinary(@Luint int program, @AutoSize(R) @GLsizei int bufSize, @Check(value = R, canBeNull = true) @GLsizei IntBuffer length, @Check(R) @GLenum IntBuffer binaryFormat, @OutParameter @GLvoid ByteBuffer binary)819 	void glGetProgramBinary(@GLuint int program, @AutoSize("binary") @GLsizei int bufSize,
820 	                        @Check(value = "1", canBeNull = true) @GLsizei IntBuffer length,
821 	                        @Check("1") @GLenum IntBuffer binaryFormat,
822 	                        @OutParameter @GLvoid ByteBuffer binary);
823 
glProgramBinary(@Luint int program, @GLenum int binaryFormat, @Const @GLvoid ByteBuffer binary, @AutoSize(R) @GLsizei int length)824 	void glProgramBinary(@GLuint int program, @GLenum int binaryFormat, @Const @GLvoid ByteBuffer binary, @AutoSize("binary") @GLsizei int length);
825 
glProgramParameteri(@Luint int program, @GLenum int pname, int value)826 	void glProgramParameteri(@GLuint int program, @GLenum int pname, int value);
827 
glInvalidateFramebuffer(@Lenum int target, @AutoSize(R) @GLsizei int numAttachments, @Const @GLenum IntBuffer attachments)828 	void glInvalidateFramebuffer(@GLenum int target,
829 	                             @AutoSize("attachments") @GLsizei int numAttachments,
830 	                             @Const @GLenum IntBuffer attachments);
831 
glInvalidateSubFramebuffer(@Lenum int target, @AutoSize(R) @GLsizei int numAttachments, @Const @GLenum IntBuffer attachments, int x, int y, @GLsizei int width, @GLsizei int height)832 	void glInvalidateSubFramebuffer(@GLenum int target,
833 	                                @AutoSize("attachments") @GLsizei int numAttachments,
834 	                                @Const @GLenum IntBuffer attachments,
835 	                                int x, int y, @GLsizei int width, @GLsizei int height);
836 
glTexStorage2D(@Lenum int target, @GLsizei int levels, @GLenum int internalformat, @GLsizei int width, @GLsizei int height)837 	void glTexStorage2D(@GLenum int target, @GLsizei int levels,
838 	                    @GLenum int internalformat,
839 	                    @GLsizei int width, @GLsizei int height);
840 
glTexStorage3D(@Lenum int target, @GLsizei int levels, @GLenum int internalformat, @GLsizei int width, @GLsizei int height, @GLsizei int depth)841 	void glTexStorage3D(@GLenum int target, @GLsizei int levels,
842 	                    @GLenum int internalformat,
843 	                    @GLsizei int width, @GLsizei int height, @GLsizei int depth);
844 
845 	@StripPostfix("params")
glGetInternalformativ(@Lenum int target, @GLenum int internalformat, @GLenum int pname, @AutoSize(R) @GLsizei int bufSize, @OutParameter IntBuffer params)846 	void glGetInternalformativ(@GLenum int target, @GLenum int internalformat,
847 	                           @GLenum int pname, @AutoSize("params") @GLsizei int bufSize, @OutParameter IntBuffer params);
848 
849 	@Alternate("glGetInternalformativ")
850 	@StripPostfix("params")
851 	@GLreturn("params")
glGetInternalformativ2(@Lenum int target, @GLenum int internalformat, @GLenum int pname, @Constant(R) @GLsizei int bufSize, @OutParameter IntBuffer params)852 	void glGetInternalformativ2(@GLenum int target, @GLenum int internalformat,
853 	                            @GLenum int pname, @Constant("1") @GLsizei int bufSize, @OutParameter IntBuffer params);
854 
855 }