1 /**
2  * This is a set of OpenGL bindings.
3  *
4  * Generated by ./ogl_gen ....
5  * Do not modify. Regenerate if changes are required.
6  *
7  * Macros:
8  *    D_CODE = <pre><code class="D">$0</code></pre>
9  */
10 module opengl.gl4;
11 import std.traits : Unqual;
12 
13 alias int64_t = long;
14 alias uint64_t = ulong;
15 alias int32_t = int;
16 
17 ///
18 alias GLboolean = bool;
19 ///
20 alias GLbyte = byte;
21 ///
22 alias GLubyte = ubyte;
23 ///
24 alias GLshort = short;
25 ///
26 alias GLushort = ushort;
27 ///
28 alias GLhalf = ushort;
29 ///
30 alias GLint = int;
31 ///
32 alias GLuint = uint;
33 ///
34 alias GLfixed = int;
35 ///
36 alias GLint64 = long;
37 ///
38 alias GLuint64 = ulong;
39 ///
40 alias GLsizei = uint;
41 ///
42 alias GLenum = uint;
43 ///
44 alias GLintptr = ptrdiff_t;
45 ///
46 alias GLsizeiptr = ptrdiff_t;
47 ///
48 alias GLsync = void*;
49 ///
50 alias GLbitfield = uint;
51 ///
52 alias GLfloat = float;
53 ///
54 alias GLclampf = float;
55 ///
56 alias GLdouble = double;
57 ///
58 alias GLclampd = double;
59 ///
60 alias GLclampx = int;
61 ///
62 alias GLchar = char;
63 ///
64 alias GLuintptr = size_t;
65 ///
66 alias GLvoid = void;
67 ///
68 alias GLeglImageOES = void*;
69 ///
70 alias GLcharARB = char;
71 ///
72 alias GLhandleARB = uint;
73 ///
74 alias GLhalfARB = ushort;
75 ///
76 alias Glfixed = GLint;
77 
78 ///
79 struct _cl_context;
80 ///
81 struct _cl_event;
82 
83 ///
84 alias GLDEBUGPROC = extern(C) void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* message, void* userParam);
85 ///
86 alias GLDEBUGPROCARB = extern(C) void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* message, void* userParam);
87 ///
88 alias GLDEBUGPROCKHR = extern(C) void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const(GLchar)* message, void* userParam);
89 
90 ///
91 alias GLintptrARB = ptrdiff_t;
92 ///
93 alias GLsizeiptrARB = ptrdiff_t;
94 ///
95 alias GLint64EXT = int64_t;
96 ///
97 alias GLuint64EXT = uint64_t;
98 
99 ///
100 alias GLDEBUGPROCAMD = extern(C) void function(GLuint id, GLenum category, GLenum severity, GLsizei length, const(GLchar)* message, void* userParam);
101 ///
102 alias GLhalfNV = ushort;
103 ///
104 alias GLvdpauSurfaceNV = GLintptr;
105 
106 ///
107 struct GLUnurbs;
108 ///
109 struct GLUquadric;
110 ///
111 struct GLUtesselator;
112 ///
113 alias _GLUfuncptr = extern(C) void function();
114 
115 struct OpenGL_Version {
116 	OGLIntroducedIn from;
117 }
118 
119 struct OpenGL_Extension {
120 	string name;
121 }
122 
123 enum OGLIntroducedIn : ushort {
124 	Unknown,
125 	V1P0 = 10,
126 	V1P1 = 11,
127 	V1P2 = 12,
128 	V1P3 = 13,
129 	V1P4 = 14,
130 	V1P5 = 15,
131 	V2P0 = 25,
132 	V2P1 = 21,
133 	V2P2 = 22,
134 	V3P0 = 30,
135 	V3P1 = 31,
136 	V3P2 = 32,
137 	V3P3 = 33,
138 	V4P0 = 40,
139 	V4P1 = 41,
140 	V4P2 = 42,
141 	V4P3 = 43,
142 	V4P4 = 44,
143 	V4P5 = 45,
144 }
145 
146 struct Bitmaskable {}
147 enum GL_1PASS_EXT = 0x80A1; ///
148 enum GL_1PASS_SGIS = 0x80A1; ///
149 enum GL_2D = 0x0600; ///
150 enum GL_2PASS_0_EXT = 0x80A2; ///
151 enum GL_2PASS_0_SGIS = 0x80A2; ///
152 enum GL_2PASS_1_EXT = 0x80A3; ///
153 enum GL_2PASS_1_SGIS = 0x80A3; ///
154 enum GL_2X_BIT_ATI = 0x00000001; ///
155 enum GL_2_BYTES = 0x1407; ///
156 enum GL_2_BYTES_NV = 0x1407; ///
157 enum GL_3D = 0x0601; ///
158 enum GL_3DC_XY_AMD = 0x87FA; ///
159 enum GL_3DC_X_AMD = 0x87F9; ///
160 enum GL_3D_COLOR = 0x0602; ///
161 enum GL_3D_COLOR_TEXTURE = 0x0603; ///
162 enum GL_3_BYTES = 0x1408; ///
163 enum GL_3_BYTES_NV = 0x1408; ///
164 enum GL_422_AVERAGE_EXT = 0x80CE; ///
165 enum GL_422_EXT = 0x80CC; ///
166 enum GL_422_REV_AVERAGE_EXT = 0x80CF; ///
167 enum GL_422_REV_EXT = 0x80CD; ///
168 enum GL_4D_COLOR_TEXTURE = 0x0604; ///
169 enum GL_4PASS_0_EXT = 0x80A4; ///
170 enum GL_4PASS_0_SGIS = 0x80A4; ///
171 enum GL_4PASS_1_EXT = 0x80A5; ///
172 enum GL_4PASS_1_SGIS = 0x80A5; ///
173 enum GL_4PASS_2_EXT = 0x80A6; ///
174 enum GL_4PASS_2_SGIS = 0x80A6; ///
175 enum GL_4PASS_3_EXT = 0x80A7; ///
176 enum GL_4PASS_3_SGIS = 0x80A7; ///
177 enum GL_4X_BIT_ATI = 0x00000002; ///
178 enum GL_4_BYTES = 0x1409; ///
179 enum GL_4_BYTES_NV = 0x1409; ///
180 enum GL_8X_BIT_ATI = 0x00000004; ///
181 enum GL_ABGR_EXT = 0x8000; ///
182 enum GL_ACCUM = 0x0100; ///
183 enum GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD; ///
184 enum GL_ACCUM_ALPHA_BITS = 0x0D5B; ///
185 enum GL_ACCUM_BLUE_BITS = 0x0D5A; ///
186 enum GL_ACCUM_BUFFER_BIT = 0x00000200; ///
187 enum GL_ACCUM_CLEAR_VALUE = 0x0B80; ///
188 enum GL_ACCUM_GREEN_BITS = 0x0D59; ///
189 enum GL_ACCUM_RED_BITS = 0x0D58; ///
190 enum GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; ///
191 enum GL_ACTIVE_ATTRIBUTES = 0x8B89; ///
192 enum GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; ///
193 enum GL_ACTIVE_PROGRAM = 0x8259; ///
194 enum GL_ACTIVE_PROGRAM_EXT = 0x8B8D; ///
195 enum GL_ACTIVE_RESOURCES = 0x92F5; ///
196 enum GL_ACTIVE_STENCIL_FACE_EXT = 0x8911; ///
197 enum GL_ACTIVE_SUBROUTINES = 0x8DE5; ///
198 enum GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48; ///
199 enum GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6; ///
200 enum GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47; ///
201 enum GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49; ///
202 enum GL_ACTIVE_TEXTURE = 0x84E0; ///
203 enum GL_ACTIVE_TEXTURE_ARB = 0x84E0; ///
204 enum GL_ACTIVE_UNIFORMS = 0x8B86; ///
205 enum GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36; ///
206 enum GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35; ///
207 enum GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; ///
208 enum GL_ACTIVE_VARIABLES = 0x9305; ///
209 enum GL_ACTIVE_VARYINGS_NV = 0x8C81; ///
210 enum GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; ///
211 enum GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5; ///
212 enum GL_ADD = 0x0104; ///
213 enum GL_ADD_ATI = 0x8963; ///
214 enum GL_ADD_BLEND_IMG = 0x8C09; ///
215 enum GL_ADD_SIGNED = 0x8574; ///
216 enum GL_ADD_SIGNED_ARB = 0x8574; ///
217 enum GL_ADD_SIGNED_EXT = 0x8574; ///
218 enum GL_ADJACENT_PAIRS_NV = 0x90AE; ///
219 enum GL_AFFINE_2D_NV = 0x9092; ///
220 enum GL_AFFINE_3D_NV = 0x9094; ///
221 enum GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; ///
222 enum GL_ALIASED_POINT_SIZE_RANGE = 0x846D; ///
223 enum GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; ///
224 enum GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; ///
225 enum GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; ///
226 enum GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; ///
227 enum GL_ALL_ATTRIB_BITS = 0xFFFFFFFF; ///
228 enum GL_ALL_BARRIER_BITS = 0xFFFFFFFF; ///
229 enum GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; ///
230 enum GL_ALL_COMPLETED_NV = 0x84F2; ///
231 enum GL_ALL_SHADER_BITS = 0xFFFFFFFF; ///
232 enum GL_ALL_SHADER_BITS_EXT = 0xFFFFFFFF; ///
233 enum GL_ALL_STATIC_DATA_IBM = 0x103060; ///
234 enum GL_ALPHA = 0x1906; ///
235 enum GL_ALPHA12 = 0x803D; ///
236 enum GL_ALPHA12_EXT = 0x803D; ///
237 enum GL_ALPHA16 = 0x803E; ///
238 enum GL_ALPHA16F_ARB = 0x881C; ///
239 enum GL_ALPHA16F_EXT = 0x881C; ///
240 enum GL_ALPHA16I_EXT = 0x8D8A; ///
241 enum GL_ALPHA16UI_EXT = 0x8D78; ///
242 enum GL_ALPHA16_EXT = 0x803E; ///
243 enum GL_ALPHA16_SNORM = 0x9018; ///
244 enum GL_ALPHA32F_ARB = 0x8816; ///
245 enum GL_ALPHA32F_EXT = 0x8816; ///
246 enum GL_ALPHA32I_EXT = 0x8D84; ///
247 enum GL_ALPHA32UI_EXT = 0x8D72; ///
248 enum GL_ALPHA4 = 0x803B; ///
249 enum GL_ALPHA4_EXT = 0x803B; ///
250 enum GL_ALPHA8 = 0x803C; ///
251 enum GL_ALPHA8I_EXT = 0x8D90; ///
252 enum GL_ALPHA8UI_EXT = 0x8D7E; ///
253 enum GL_ALPHA8_EXT = 0x803C; ///
254 enum GL_ALPHA8_OES = 0x803C; ///
255 enum GL_ALPHA8_SNORM = 0x9014; ///
256 enum GL_ALPHA_BIAS = 0x0D1D; ///
257 enum GL_ALPHA_BITS = 0x0D55; ///
258 enum GL_ALPHA_FLOAT16_APPLE = 0x881C; ///
259 enum GL_ALPHA_FLOAT16_ATI = 0x881C; ///
260 enum GL_ALPHA_FLOAT32_APPLE = 0x8816; ///
261 enum GL_ALPHA_FLOAT32_ATI = 0x8816; ///
262 enum GL_ALPHA_INTEGER = 0x8D97; ///
263 enum GL_ALPHA_INTEGER_EXT = 0x8D97; ///
264 enum GL_ALPHA_MAX_CLAMP_INGR = 0x8567; ///
265 enum GL_ALPHA_MAX_SGIX = 0x8321; ///
266 enum GL_ALPHA_MIN_CLAMP_INGR = 0x8563; ///
267 enum GL_ALPHA_MIN_SGIX = 0x8320; ///
268 enum GL_ALPHA_REF_COMMAND_NV = 0x000F; ///
269 enum GL_ALPHA_SCALE = 0x0D1C; ///
270 enum GL_ALPHA_SNORM = 0x9010; ///
271 enum GL_ALPHA_TEST = 0x0BC0; ///
272 enum GL_ALPHA_TEST_FUNC = 0x0BC1; ///
273 enum GL_ALPHA_TEST_FUNC_QCOM = 0x0BC1; ///
274 enum GL_ALPHA_TEST_QCOM = 0x0BC0; ///
275 enum GL_ALPHA_TEST_REF = 0x0BC2; ///
276 enum GL_ALPHA_TEST_REF_QCOM = 0x0BC2; ///
277 enum GL_ALREADY_SIGNALED = 0x911A; ///
278 enum GL_ALREADY_SIGNALED_APPLE = 0x911A; ///
279 enum GL_ALWAYS = 0x0207; ///
280 enum GL_ALWAYS_FAST_HINT_PGI = 0x1A20C; ///
281 enum GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D; ///
282 enum GL_AMBIENT = 0x1200; ///
283 enum GL_AMBIENT_AND_DIFFUSE = 0x1602; ///
284 enum GL_AND = 0x1501; ///
285 enum GL_AND_INVERTED = 0x1504; ///
286 enum GL_AND_REVERSE = 0x1502; ///
287 enum GL_ANY_SAMPLES_PASSED = 0x8C2F; ///
288 enum GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; ///
289 enum GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A; ///
290 enum GL_ANY_SAMPLES_PASSED_EXT = 0x8C2F; ///
291 enum GL_ARC_TO_NV = 0xFE; ///
292 enum GL_ARRAY_BUFFER = 0x8892; ///
293 enum GL_ARRAY_BUFFER_ARB = 0x8892; ///
294 enum GL_ARRAY_BUFFER_BINDING = 0x8894; ///
295 enum GL_ARRAY_BUFFER_BINDING_ARB = 0x8894; ///
296 enum GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; ///
297 enum GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; ///
298 enum GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766; ///
299 enum GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767; ///
300 enum GL_ARRAY_SIZE = 0x92FB; ///
301 enum GL_ARRAY_STRIDE = 0x92FE; ///
302 enum GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D; ///
303 enum GL_ASYNC_HISTOGRAM_SGIX = 0x832C; ///
304 enum GL_ASYNC_MARKER_SGIX = 0x8329; ///
305 enum GL_ASYNC_READ_PIXELS_SGIX = 0x835E; ///
306 enum GL_ASYNC_TEX_IMAGE_SGIX = 0x835C; ///
307 enum GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93; ///
308 enum GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE; ///
309 enum GL_ATC_RGB_AMD = 0x8C92; ///
310 enum GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; ///
311 enum GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; ///
312 enum GL_ATOMIC_COUNTER_BUFFER = 0x92C0; ///
313 enum GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5; ///
314 enum GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6; ///
315 enum GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; ///
316 enum GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4; ///
317 enum GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; ///
318 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED; ///
319 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB; ///
320 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA; ///
321 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8; ///
322 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9; ///
323 enum GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7; ///
324 enum GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; ///
325 enum GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2; ///
326 enum GL_ATTACHED_SHADERS = 0x8B85; ///
327 enum GL_ATTENUATION_EXT = 0x834D; ///
328 enum GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; ///
329 enum GL_ATTRIB_ARRAY_POINTER_NV = 0x8645; ///
330 enum GL_ATTRIB_ARRAY_SIZE_NV = 0x8623; ///
331 enum GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624; ///
332 enum GL_ATTRIB_ARRAY_TYPE_NV = 0x8625; ///
333 enum GL_ATTRIB_STACK_DEPTH = 0x0BB0; ///
334 enum GL_AUTO_GENERATE_MIPMAP = 0x8295; ///
335 enum GL_AUTO_NORMAL = 0x0D80; ///
336 enum GL_AUX0 = 0x0409; ///
337 enum GL_AUX1 = 0x040A; ///
338 enum GL_AUX2 = 0x040B; ///
339 enum GL_AUX3 = 0x040C; ///
340 enum GL_AUX_BUFFERS = 0x0C00; ///
341 enum GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14; ///
342 enum GL_AVERAGE_EXT = 0x8335; ///
343 enum GL_AVERAGE_HP = 0x8160; ///
344 enum GL_BACK = 0x0405; ///
345 enum GL_BACK_LEFT = 0x0402; ///
346 enum GL_BACK_NORMALS_HINT_PGI = 0x1A223; ///
347 enum GL_BACK_PRIMARY_COLOR_NV = 0x8C77; ///
348 enum GL_BACK_RIGHT = 0x0403; ///
349 enum GL_BACK_SECONDARY_COLOR_NV = 0x8C78; ///
350 enum GL_BEVEL_NV = 0x90A6; ///
351 enum GL_BGR = 0x80E0; ///
352 enum GL_BGRA = 0x80E1; ///
353 enum GL_BGRA8_EXT = 0x93A1; ///
354 enum GL_BGRA_EXT = 0x80E1; ///
355 enum GL_BGRA_IMG = 0x80E1; ///
356 enum GL_BGRA_INTEGER = 0x8D9B; ///
357 enum GL_BGRA_INTEGER_EXT = 0x8D9B; ///
358 enum GL_BGR_EXT = 0x80E0; ///
359 enum GL_BGR_INTEGER = 0x8D9A; ///
360 enum GL_BGR_INTEGER_EXT = 0x8D9A; ///
361 enum GL_BIAS_BIT_ATI = 0x00000008; ///
362 enum GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; ///
363 enum GL_BINNING_CONTROL_HINT_QCOM = 0x8FB0; ///
364 enum GL_BINORMAL_ARRAY_EXT = 0x843A; ///
365 enum GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443; ///
366 enum GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441; ///
367 enum GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440; ///
368 enum GL_BITMAP = 0x1A00; ///
369 enum GL_BITMAP_TOKEN = 0x0704; ///
370 enum GL_BLEND = 0x0BE2; ///
371 enum GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285; ///
372 enum GL_BLEND_ADVANCED_COHERENT_NV = 0x9285; ///
373 enum GL_BLEND_COLOR = 0x8005; ///
374 enum GL_BLEND_COLOR_COMMAND_NV = 0x000B; ///
375 enum GL_BLEND_COLOR_EXT = 0x8005; ///
376 enum GL_BLEND_DST = 0x0BE0; ///
377 enum GL_BLEND_DST_ALPHA = 0x80CA; ///
378 enum GL_BLEND_DST_ALPHA_EXT = 0x80CA; ///
379 enum GL_BLEND_DST_ALPHA_OES = 0x80CA; ///
380 enum GL_BLEND_DST_RGB = 0x80C8; ///
381 enum GL_BLEND_DST_RGB_EXT = 0x80C8; ///
382 enum GL_BLEND_DST_RGB_OES = 0x80C8; ///
383 enum GL_BLEND_EQUATION = 0x8009; ///
384 enum GL_BLEND_EQUATION_ALPHA = 0x883D; ///
385 enum GL_BLEND_EQUATION_ALPHA_EXT = 0x883D; ///
386 enum GL_BLEND_EQUATION_ALPHA_OES = 0x883D; ///
387 enum GL_BLEND_EQUATION_EXT = 0x8009; ///
388 enum GL_BLEND_EQUATION_OES = 0x8009; ///
389 enum GL_BLEND_EQUATION_RGB = 0x8009; ///
390 enum GL_BLEND_EQUATION_RGB_EXT = 0x8009; ///
391 enum GL_BLEND_EQUATION_RGB_OES = 0x8009; ///
392 enum GL_BLEND_OVERLAP_NV = 0x9281; ///
393 enum GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280; ///
394 enum GL_BLEND_SRC = 0x0BE1; ///
395 enum GL_BLEND_SRC_ALPHA = 0x80CB; ///
396 enum GL_BLEND_SRC_ALPHA_EXT = 0x80CB; ///
397 enum GL_BLEND_SRC_ALPHA_OES = 0x80CB; ///
398 enum GL_BLEND_SRC_RGB = 0x80C9; ///
399 enum GL_BLEND_SRC_RGB_EXT = 0x80C9; ///
400 enum GL_BLEND_SRC_RGB_OES = 0x80C9; ///
401 enum GL_BLOCK_INDEX = 0x92FD; ///
402 enum GL_BLUE = 0x1905; ///
403 enum GL_BLUE_BIAS = 0x0D1B; ///
404 enum GL_BLUE_BITS = 0x0D54; ///
405 enum GL_BLUE_BIT_ATI = 0x00000004; ///
406 enum GL_BLUE_INTEGER = 0x8D96; ///
407 enum GL_BLUE_INTEGER_EXT = 0x8D96; ///
408 enum GL_BLUE_MAX_CLAMP_INGR = 0x8566; ///
409 enum GL_BLUE_MIN_CLAMP_INGR = 0x8562; ///
410 enum GL_BLUE_NV = 0x1905; ///
411 enum GL_BLUE_SCALE = 0x0D1A; ///
412 enum GL_BOLD_BIT_NV = 0x01; ///
413 enum GL_BOOL = 0x8B56; ///
414 enum GL_BOOL_ARB = 0x8B56; ///
415 enum GL_BOOL_VEC2 = 0x8B57; ///
416 enum GL_BOOL_VEC2_ARB = 0x8B57; ///
417 enum GL_BOOL_VEC3 = 0x8B58; ///
418 enum GL_BOOL_VEC3_ARB = 0x8B58; ///
419 enum GL_BOOL_VEC4 = 0x8B59; ///
420 enum GL_BOOL_VEC4_ARB = 0x8B59; ///
421 enum GL_BOUNDING_BOX_NV = 0x908D; ///
422 enum GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; ///
423 enum GL_BROWSER_DEFAULT_WEBGL = 0x9244; ///
424 enum GL_BUFFER = 0x82E0; ///
425 enum GL_BUFFER_ACCESS = 0x88BB; ///
426 enum GL_BUFFER_ACCESS_ARB = 0x88BB; ///
427 enum GL_BUFFER_ACCESS_FLAGS = 0x911F; ///
428 enum GL_BUFFER_ACCESS_OES = 0x88BB; ///
429 enum GL_BUFFER_BINDING = 0x9302; ///
430 enum GL_BUFFER_DATA_SIZE = 0x9303; ///
431 enum GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; ///
432 enum GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D; ///
433 enum GL_BUFFER_IMMUTABLE_STORAGE = 0x821F; ///
434 enum GL_BUFFER_IMMUTABLE_STORAGE_EXT = 0x821F; ///
435 enum GL_BUFFER_KHR = 0x82E0; ///
436 enum GL_BUFFER_MAPPED = 0x88BC; ///
437 enum GL_BUFFER_MAPPED_ARB = 0x88BC; ///
438 enum GL_BUFFER_MAPPED_OES = 0x88BC; ///
439 enum GL_BUFFER_MAP_LENGTH = 0x9120; ///
440 enum GL_BUFFER_MAP_OFFSET = 0x9121; ///
441 enum GL_BUFFER_MAP_POINTER = 0x88BD; ///
442 enum GL_BUFFER_MAP_POINTER_ARB = 0x88BD; ///
443 enum GL_BUFFER_MAP_POINTER_OES = 0x88BD; ///
444 enum GL_BUFFER_OBJECT_APPLE = 0x85B3; ///
445 enum GL_BUFFER_OBJECT_EXT = 0x9151; ///
446 enum GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; ///
447 enum GL_BUFFER_SIZE = 0x8764; ///
448 enum GL_BUFFER_SIZE_ARB = 0x8764; ///
449 enum GL_BUFFER_STORAGE_FLAGS = 0x8220; ///
450 enum GL_BUFFER_STORAGE_FLAGS_EXT = 0x8220; ///
451 enum GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200; ///
452 enum GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; ///
453 enum GL_BUFFER_USAGE = 0x8765; ///
454 enum GL_BUFFER_USAGE_ARB = 0x8765; ///
455 enum GL_BUFFER_VARIABLE = 0x92E5; ///
456 enum GL_BUMP_ENVMAP_ATI = 0x877B; ///
457 enum GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777; ///
458 enum GL_BUMP_ROT_MATRIX_ATI = 0x8775; ///
459 enum GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; ///
460 enum GL_BUMP_TARGET_ATI = 0x877C; ///
461 enum GL_BUMP_TEX_UNITS_ATI = 0x8778; ///
462 enum GL_BYTE = 0x1400; ///
463 enum GL_C3F_V3F = 0x2A24; ///
464 enum GL_C4F_N3F_V3F = 0x2A26; ///
465 enum GL_C4UB_V2F = 0x2A22; ///
466 enum GL_C4UB_V3F = 0x2A23; ///
467 enum GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; ///
468 enum GL_CAVEAT_SUPPORT = 0x82B8; ///
469 enum GL_CCW = 0x0901; ///
470 enum GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8; ///
471 enum GL_CIRCULAR_CW_ARC_TO_NV = 0xFA; ///
472 enum GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; ///
473 enum GL_CLAMP = 0x2900; ///
474 enum GL_CLAMP_FRAGMENT_COLOR = 0x891B; ///
475 enum GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B; ///
476 enum GL_CLAMP_READ_COLOR = 0x891C; ///
477 enum GL_CLAMP_READ_COLOR_ARB = 0x891C; ///
478 enum GL_CLAMP_TO_BORDER = 0x812D; ///
479 enum GL_CLAMP_TO_BORDER_ARB = 0x812D; ///
480 enum GL_CLAMP_TO_BORDER_EXT = 0x812D; ///
481 enum GL_CLAMP_TO_BORDER_NV = 0x812D; ///
482 enum GL_CLAMP_TO_BORDER_OES = 0x812D; ///
483 enum GL_CLAMP_TO_BORDER_SGIS = 0x812D; ///
484 enum GL_CLAMP_TO_EDGE = 0x812F; ///
485 enum GL_CLAMP_TO_EDGE_SGIS = 0x812F; ///
486 enum GL_CLAMP_VERTEX_COLOR = 0x891A; ///
487 enum GL_CLAMP_VERTEX_COLOR_ARB = 0x891A; ///
488 enum GL_CLEAR = 0x1500; ///
489 enum GL_CLEAR_BUFFER = 0x82B4; ///
490 enum GL_CLEAR_TEXTURE = 0x9365; ///
491 enum GL_CLIENT_ACTIVE_TEXTURE = 0x84E1; ///
492 enum GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; ///
493 enum GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF; ///
494 enum GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1; ///
495 enum GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; ///
496 enum GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT = 0x00004000; ///
497 enum GL_CLIENT_PIXEL_STORE_BIT = 0x00000001; ///
498 enum GL_CLIENT_STORAGE_BIT = 0x0200; ///
499 enum GL_CLIENT_STORAGE_BIT_EXT = 0x0200; ///
500 enum GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002; ///
501 enum GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6; ///
502 enum GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7; ///
503 enum GL_CLIP_DEPTH_MODE = 0x935D; ///
504 enum GL_CLIP_DISTANCE0 = 0x3000; ///
505 enum GL_CLIP_DISTANCE0_APPLE = 0x3000; ///
506 enum GL_CLIP_DISTANCE0_EXT = 0x3000; ///
507 enum GL_CLIP_DISTANCE1 = 0x3001; ///
508 enum GL_CLIP_DISTANCE1_APPLE = 0x3001; ///
509 enum GL_CLIP_DISTANCE1_EXT = 0x3001; ///
510 enum GL_CLIP_DISTANCE2 = 0x3002; ///
511 enum GL_CLIP_DISTANCE2_APPLE = 0x3002; ///
512 enum GL_CLIP_DISTANCE2_EXT = 0x3002; ///
513 enum GL_CLIP_DISTANCE3 = 0x3003; ///
514 enum GL_CLIP_DISTANCE3_APPLE = 0x3003; ///
515 enum GL_CLIP_DISTANCE3_EXT = 0x3003; ///
516 enum GL_CLIP_DISTANCE4 = 0x3004; ///
517 enum GL_CLIP_DISTANCE4_APPLE = 0x3004; ///
518 enum GL_CLIP_DISTANCE4_EXT = 0x3004; ///
519 enum GL_CLIP_DISTANCE5 = 0x3005; ///
520 enum GL_CLIP_DISTANCE5_APPLE = 0x3005; ///
521 enum GL_CLIP_DISTANCE5_EXT = 0x3005; ///
522 enum GL_CLIP_DISTANCE6 = 0x3006; ///
523 enum GL_CLIP_DISTANCE6_APPLE = 0x3006; ///
524 enum GL_CLIP_DISTANCE6_EXT = 0x3006; ///
525 enum GL_CLIP_DISTANCE7 = 0x3007; ///
526 enum GL_CLIP_DISTANCE7_APPLE = 0x3007; ///
527 enum GL_CLIP_DISTANCE7_EXT = 0x3007; ///
528 enum GL_CLIP_DISTANCE_NV = 0x8C7A; ///
529 enum GL_CLIP_FAR_HINT_PGI = 0x1A221; ///
530 enum GL_CLIP_NEAR_HINT_PGI = 0x1A220; ///
531 enum GL_CLIP_ORIGIN = 0x935C; ///
532 enum GL_CLIP_PLANE0 = 0x3000; ///
533 enum GL_CLIP_PLANE0_IMG = 0x3000; ///
534 enum GL_CLIP_PLANE1 = 0x3001; ///
535 enum GL_CLIP_PLANE1_IMG = 0x3001; ///
536 enum GL_CLIP_PLANE2 = 0x3002; ///
537 enum GL_CLIP_PLANE2_IMG = 0x3002; ///
538 enum GL_CLIP_PLANE3 = 0x3003; ///
539 enum GL_CLIP_PLANE3_IMG = 0x3003; ///
540 enum GL_CLIP_PLANE4 = 0x3004; ///
541 enum GL_CLIP_PLANE4_IMG = 0x3004; ///
542 enum GL_CLIP_PLANE5 = 0x3005; ///
543 enum GL_CLIP_PLANE5_IMG = 0x3005; ///
544 enum GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; ///
545 enum GL_CLOSE_PATH_NV = 0x00; ///
546 enum GL_CMYKA_EXT = 0x800D; ///
547 enum GL_CMYK_EXT = 0x800C; ///
548 enum GL_CND0_ATI = 0x896B; ///
549 enum GL_CND_ATI = 0x896A; ///
550 enum GL_COEFF = 0x0A00; ///
551 enum GL_COLOR = 0x1800; ///
552 enum GL_COLOR3_BIT_PGI = 0x00010000; ///
553 enum GL_COLOR4_BIT_PGI = 0x00020000; ///
554 enum GL_COLORBURN = 0x929A; ///
555 enum GL_COLORBURN_KHR = 0x929A; ///
556 enum GL_COLORBURN_NV = 0x929A; ///
557 enum GL_COLORDODGE = 0x9299; ///
558 enum GL_COLORDODGE_KHR = 0x9299; ///
559 enum GL_COLORDODGE_NV = 0x9299; ///
560 enum GL_COLOR_ALPHA_PAIRING_ATI = 0x8975; ///
561 enum GL_COLOR_ARRAY = 0x8076; ///
562 enum GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23; ///
563 enum GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898; ///
564 enum GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; ///
565 enum GL_COLOR_ARRAY_COUNT_EXT = 0x8084; ///
566 enum GL_COLOR_ARRAY_EXT = 0x8076; ///
567 enum GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D; ///
568 enum GL_COLOR_ARRAY_LIST_IBM = 0x103072; ///
569 enum GL_COLOR_ARRAY_LIST_STRIDE_IBM = 0x103082; ///
570 enum GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; ///
571 enum GL_COLOR_ARRAY_POINTER = 0x8090; ///
572 enum GL_COLOR_ARRAY_POINTER_EXT = 0x8090; ///
573 enum GL_COLOR_ARRAY_SIZE = 0x8081; ///
574 enum GL_COLOR_ARRAY_SIZE_EXT = 0x8081; ///
575 enum GL_COLOR_ARRAY_STRIDE = 0x8083; ///
576 enum GL_COLOR_ARRAY_STRIDE_EXT = 0x8083; ///
577 enum GL_COLOR_ARRAY_TYPE = 0x8082; ///
578 enum GL_COLOR_ARRAY_TYPE_EXT = 0x8082; ///
579 enum GL_COLOR_ATTACHMENT0 = 0x8CE0; ///
580 enum GL_COLOR_ATTACHMENT0_EXT = 0x8CE0; ///
581 enum GL_COLOR_ATTACHMENT0_NV = 0x8CE0; ///
582 enum GL_COLOR_ATTACHMENT0_OES = 0x8CE0; ///
583 enum GL_COLOR_ATTACHMENT1 = 0x8CE1; ///
584 enum GL_COLOR_ATTACHMENT10 = 0x8CEA; ///
585 enum GL_COLOR_ATTACHMENT10_EXT = 0x8CEA; ///
586 enum GL_COLOR_ATTACHMENT10_NV = 0x8CEA; ///
587 enum GL_COLOR_ATTACHMENT11 = 0x8CEB; ///
588 enum GL_COLOR_ATTACHMENT11_EXT = 0x8CEB; ///
589 enum GL_COLOR_ATTACHMENT11_NV = 0x8CEB; ///
590 enum GL_COLOR_ATTACHMENT12 = 0x8CEC; ///
591 enum GL_COLOR_ATTACHMENT12_EXT = 0x8CEC; ///
592 enum GL_COLOR_ATTACHMENT12_NV = 0x8CEC; ///
593 enum GL_COLOR_ATTACHMENT13 = 0x8CED; ///
594 enum GL_COLOR_ATTACHMENT13_EXT = 0x8CED; ///
595 enum GL_COLOR_ATTACHMENT13_NV = 0x8CED; ///
596 enum GL_COLOR_ATTACHMENT14 = 0x8CEE; ///
597 enum GL_COLOR_ATTACHMENT14_EXT = 0x8CEE; ///
598 enum GL_COLOR_ATTACHMENT14_NV = 0x8CEE; ///
599 enum GL_COLOR_ATTACHMENT15 = 0x8CEF; ///
600 enum GL_COLOR_ATTACHMENT15_EXT = 0x8CEF; ///
601 enum GL_COLOR_ATTACHMENT15_NV = 0x8CEF; ///
602 enum GL_COLOR_ATTACHMENT16 = 0x8CF0; ///
603 enum GL_COLOR_ATTACHMENT17 = 0x8CF1; ///
604 enum GL_COLOR_ATTACHMENT18 = 0x8CF2; ///
605 enum GL_COLOR_ATTACHMENT19 = 0x8CF3; ///
606 enum GL_COLOR_ATTACHMENT1_EXT = 0x8CE1; ///
607 enum GL_COLOR_ATTACHMENT1_NV = 0x8CE1; ///
608 enum GL_COLOR_ATTACHMENT2 = 0x8CE2; ///
609 enum GL_COLOR_ATTACHMENT20 = 0x8CF4; ///
610 enum GL_COLOR_ATTACHMENT21 = 0x8CF5; ///
611 enum GL_COLOR_ATTACHMENT22 = 0x8CF6; ///
612 enum GL_COLOR_ATTACHMENT23 = 0x8CF7; ///
613 enum GL_COLOR_ATTACHMENT24 = 0x8CF8; ///
614 enum GL_COLOR_ATTACHMENT25 = 0x8CF9; ///
615 enum GL_COLOR_ATTACHMENT26 = 0x8CFA; ///
616 enum GL_COLOR_ATTACHMENT27 = 0x8CFB; ///
617 enum GL_COLOR_ATTACHMENT28 = 0x8CFC; ///
618 enum GL_COLOR_ATTACHMENT29 = 0x8CFD; ///
619 enum GL_COLOR_ATTACHMENT2_EXT = 0x8CE2; ///
620 enum GL_COLOR_ATTACHMENT2_NV = 0x8CE2; ///
621 enum GL_COLOR_ATTACHMENT3 = 0x8CE3; ///
622 enum GL_COLOR_ATTACHMENT30 = 0x8CFE; ///
623 enum GL_COLOR_ATTACHMENT31 = 0x8CFF; ///
624 enum GL_COLOR_ATTACHMENT3_EXT = 0x8CE3; ///
625 enum GL_COLOR_ATTACHMENT3_NV = 0x8CE3; ///
626 enum GL_COLOR_ATTACHMENT4 = 0x8CE4; ///
627 enum GL_COLOR_ATTACHMENT4_EXT = 0x8CE4; ///
628 enum GL_COLOR_ATTACHMENT4_NV = 0x8CE4; ///
629 enum GL_COLOR_ATTACHMENT5 = 0x8CE5; ///
630 enum GL_COLOR_ATTACHMENT5_EXT = 0x8CE5; ///
631 enum GL_COLOR_ATTACHMENT5_NV = 0x8CE5; ///
632 enum GL_COLOR_ATTACHMENT6 = 0x8CE6; ///
633 enum GL_COLOR_ATTACHMENT6_EXT = 0x8CE6; ///
634 enum GL_COLOR_ATTACHMENT6_NV = 0x8CE6; ///
635 enum GL_COLOR_ATTACHMENT7 = 0x8CE7; ///
636 enum GL_COLOR_ATTACHMENT7_EXT = 0x8CE7; ///
637 enum GL_COLOR_ATTACHMENT7_NV = 0x8CE7; ///
638 enum GL_COLOR_ATTACHMENT8 = 0x8CE8; ///
639 enum GL_COLOR_ATTACHMENT8_EXT = 0x8CE8; ///
640 enum GL_COLOR_ATTACHMENT8_NV = 0x8CE8; ///
641 enum GL_COLOR_ATTACHMENT9 = 0x8CE9; ///
642 enum GL_COLOR_ATTACHMENT9_EXT = 0x8CE9; ///
643 enum GL_COLOR_ATTACHMENT9_NV = 0x8CE9; ///
644 enum GL_COLOR_ATTACHMENT_EXT = 0x90F0; ///
645 enum GL_COLOR_BUFFER_BIT = 0x00004000; ///
646 enum GL_COLOR_BUFFER_BIT0_QCOM = 0x00000001; ///
647 enum GL_COLOR_BUFFER_BIT1_QCOM = 0x00000002; ///
648 enum GL_COLOR_BUFFER_BIT2_QCOM = 0x00000004; ///
649 enum GL_COLOR_BUFFER_BIT3_QCOM = 0x00000008; ///
650 enum GL_COLOR_BUFFER_BIT4_QCOM = 0x00000010; ///
651 enum GL_COLOR_BUFFER_BIT5_QCOM = 0x00000020; ///
652 enum GL_COLOR_BUFFER_BIT6_QCOM = 0x00000040; ///
653 enum GL_COLOR_BUFFER_BIT7_QCOM = 0x00000080; ///
654 enum GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; ///
655 enum GL_COLOR_CLEAR_VALUE = 0x0C22; ///
656 enum GL_COLOR_COMPONENTS = 0x8283; ///
657 enum GL_COLOR_ENCODING = 0x8296; ///
658 enum GL_COLOR_EXT = 0x1800; ///
659 enum GL_COLOR_FLOAT_APPLE = 0x8A0F; ///
660 enum GL_COLOR_INDEX = 0x1900; ///
661 enum GL_COLOR_INDEX12_EXT = 0x80E6; ///
662 enum GL_COLOR_INDEX16_EXT = 0x80E7; ///
663 enum GL_COLOR_INDEX1_EXT = 0x80E2; ///
664 enum GL_COLOR_INDEX2_EXT = 0x80E3; ///
665 enum GL_COLOR_INDEX4_EXT = 0x80E4; ///
666 enum GL_COLOR_INDEX8_EXT = 0x80E5; ///
667 enum GL_COLOR_INDEXES = 0x1603; ///
668 enum GL_COLOR_LOGIC_OP = 0x0BF2; ///
669 enum GL_COLOR_MATERIAL = 0x0B57; ///
670 enum GL_COLOR_MATERIAL_FACE = 0x0B55; ///
671 enum GL_COLOR_MATERIAL_PARAMETER = 0x0B56; ///
672 enum GL_COLOR_MATRIX = 0x80B1; ///
673 enum GL_COLOR_MATRIX_SGI = 0x80B1; ///
674 enum GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2; ///
675 enum GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; ///
676 enum GL_COLOR_RENDERABLE = 0x8286; ///
677 enum GL_COLOR_SAMPLES_NV = 0x8E20; ///
678 enum GL_COLOR_SUM = 0x8458; ///
679 enum GL_COLOR_SUM_ARB = 0x8458; ///
680 enum GL_COLOR_SUM_CLAMP_NV = 0x854F; ///
681 enum GL_COLOR_SUM_EXT = 0x8458; ///
682 enum GL_COLOR_TABLE = 0x80D0; ///
683 enum GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD; ///
684 enum GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; ///
685 enum GL_COLOR_TABLE_BIAS = 0x80D7; ///
686 enum GL_COLOR_TABLE_BIAS_SGI = 0x80D7; ///
687 enum GL_COLOR_TABLE_BLUE_SIZE = 0x80DC; ///
688 enum GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; ///
689 enum GL_COLOR_TABLE_FORMAT = 0x80D8; ///
690 enum GL_COLOR_TABLE_FORMAT_SGI = 0x80D8; ///
691 enum GL_COLOR_TABLE_GREEN_SIZE = 0x80DB; ///
692 enum GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; ///
693 enum GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF; ///
694 enum GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; ///
695 enum GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE; ///
696 enum GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; ///
697 enum GL_COLOR_TABLE_RED_SIZE = 0x80DA; ///
698 enum GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA; ///
699 enum GL_COLOR_TABLE_SCALE = 0x80D6; ///
700 enum GL_COLOR_TABLE_SCALE_SGI = 0x80D6; ///
701 enum GL_COLOR_TABLE_SGI = 0x80D0; ///
702 enum GL_COLOR_TABLE_WIDTH = 0x80D9; ///
703 enum GL_COLOR_TABLE_WIDTH_SGI = 0x80D9; ///
704 enum GL_COLOR_WRITEMASK = 0x0C23; ///
705 enum GL_COMBINE = 0x8570; ///
706 enum GL_COMBINE4_NV = 0x8503; ///
707 enum GL_COMBINER0_NV = 0x8550; ///
708 enum GL_COMBINER1_NV = 0x8551; ///
709 enum GL_COMBINER2_NV = 0x8552; ///
710 enum GL_COMBINER3_NV = 0x8553; ///
711 enum GL_COMBINER4_NV = 0x8554; ///
712 enum GL_COMBINER5_NV = 0x8555; ///
713 enum GL_COMBINER6_NV = 0x8556; ///
714 enum GL_COMBINER7_NV = 0x8557; ///
715 enum GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545; ///
716 enum GL_COMBINER_AB_OUTPUT_NV = 0x854A; ///
717 enum GL_COMBINER_BIAS_NV = 0x8549; ///
718 enum GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546; ///
719 enum GL_COMBINER_CD_OUTPUT_NV = 0x854B; ///
720 enum GL_COMBINER_COMPONENT_USAGE_NV = 0x8544; ///
721 enum GL_COMBINER_INPUT_NV = 0x8542; ///
722 enum GL_COMBINER_MAPPING_NV = 0x8543; ///
723 enum GL_COMBINER_MUX_SUM_NV = 0x8547; ///
724 enum GL_COMBINER_SCALE_NV = 0x8548; ///
725 enum GL_COMBINER_SUM_OUTPUT_NV = 0x854C; ///
726 enum GL_COMBINE_ALPHA = 0x8572; ///
727 enum GL_COMBINE_ALPHA_ARB = 0x8572; ///
728 enum GL_COMBINE_ALPHA_EXT = 0x8572; ///
729 enum GL_COMBINE_ARB = 0x8570; ///
730 enum GL_COMBINE_EXT = 0x8570; ///
731 enum GL_COMBINE_RGB = 0x8571; ///
732 enum GL_COMBINE_RGB_ARB = 0x8571; ///
733 enum GL_COMBINE_RGB_EXT = 0x8571; ///
734 enum GL_COMMAND_BARRIER_BIT = 0x00000040; ///
735 enum GL_COMMAND_BARRIER_BIT_EXT = 0x00000040; ///
736 enum GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; ///
737 enum GL_COMPARE_REF_TO_TEXTURE = 0x884E; ///
738 enum GL_COMPARE_REF_TO_TEXTURE_EXT = 0x884E; ///
739 enum GL_COMPARE_R_TO_TEXTURE = 0x884E; ///
740 enum GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E; ///
741 enum GL_COMPATIBLE_SUBROUTINES = 0x8E4B; ///
742 enum GL_COMPILE = 0x1300; ///
743 enum GL_COMPILE_AND_EXECUTE = 0x1301; ///
744 enum GL_COMPILE_STATUS = 0x8B81; ///
745 enum GL_COMPLETION_STATUS_ARB = 0x91B1; ///
746 enum GL_COMPRESSED_ALPHA = 0x84E9; ///
747 enum GL_COMPRESSED_ALPHA_ARB = 0x84E9; ///
748 enum GL_COMPRESSED_INTENSITY = 0x84EC; ///
749 enum GL_COMPRESSED_INTENSITY_ARB = 0x84EC; ///
750 enum GL_COMPRESSED_LUMINANCE = 0x84EA; ///
751 enum GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB; ///
752 enum GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = 0x8837; ///
753 enum GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; ///
754 enum GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; ///
755 enum GL_COMPRESSED_LUMINANCE_ARB = 0x84EA; ///
756 enum GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; ///
757 enum GL_COMPRESSED_R11_EAC = 0x9270; ///
758 enum GL_COMPRESSED_R11_EAC_OES = 0x9270; ///
759 enum GL_COMPRESSED_RED = 0x8225; ///
760 enum GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; ///
761 enum GL_COMPRESSED_RED_RGTC1 = 0x8DBB; ///
762 enum GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB; ///
763 enum GL_COMPRESSED_RG = 0x8226; ///
764 enum GL_COMPRESSED_RG11_EAC = 0x9272; ///
765 enum GL_COMPRESSED_RG11_EAC_OES = 0x9272; ///
766 enum GL_COMPRESSED_RGB = 0x84ED; ///
767 enum GL_COMPRESSED_RGB8_ETC2 = 0x9274; ///
768 enum GL_COMPRESSED_RGB8_ETC2_OES = 0x9274; ///
769 enum GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; ///
770 enum GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9276; ///
771 enum GL_COMPRESSED_RGBA = 0x84EE; ///
772 enum GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278; ///
773 enum GL_COMPRESSED_RGBA8_ETC2_EAC_OES = 0x9278; ///
774 enum GL_COMPRESSED_RGBA_ARB = 0x84EE; ///
775 enum GL_COMPRESSED_RGBA_ASTC_10x10 = 0x93BB; ///
776 enum GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; ///
777 enum GL_COMPRESSED_RGBA_ASTC_10x5 = 0x93B8; ///
778 enum GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; ///
779 enum GL_COMPRESSED_RGBA_ASTC_10x6 = 0x93B9; ///
780 enum GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; ///
781 enum GL_COMPRESSED_RGBA_ASTC_10x8 = 0x93BA; ///
782 enum GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; ///
783 enum GL_COMPRESSED_RGBA_ASTC_12x10 = 0x93BC; ///
784 enum GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; ///
785 enum GL_COMPRESSED_RGBA_ASTC_12x12 = 0x93BD; ///
786 enum GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; ///
787 enum GL_COMPRESSED_RGBA_ASTC_3x3x3_OES = 0x93C0; ///
788 enum GL_COMPRESSED_RGBA_ASTC_4x3x3_OES = 0x93C1; ///
789 enum GL_COMPRESSED_RGBA_ASTC_4x4 = 0x93B0; ///
790 enum GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; ///
791 enum GL_COMPRESSED_RGBA_ASTC_4x4x3_OES = 0x93C2; ///
792 enum GL_COMPRESSED_RGBA_ASTC_4x4x4_OES = 0x93C3; ///
793 enum GL_COMPRESSED_RGBA_ASTC_5x4 = 0x93B1; ///
794 enum GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; ///
795 enum GL_COMPRESSED_RGBA_ASTC_5x4x4_OES = 0x93C4; ///
796 enum GL_COMPRESSED_RGBA_ASTC_5x5 = 0x93B2; ///
797 enum GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; ///
798 enum GL_COMPRESSED_RGBA_ASTC_5x5x4_OES = 0x93C5; ///
799 enum GL_COMPRESSED_RGBA_ASTC_5x5x5_OES = 0x93C6; ///
800 enum GL_COMPRESSED_RGBA_ASTC_6x5 = 0x93B3; ///
801 enum GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; ///
802 enum GL_COMPRESSED_RGBA_ASTC_6x5x5_OES = 0x93C7; ///
803 enum GL_COMPRESSED_RGBA_ASTC_6x6 = 0x93B4; ///
804 enum GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; ///
805 enum GL_COMPRESSED_RGBA_ASTC_6x6x5_OES = 0x93C8; ///
806 enum GL_COMPRESSED_RGBA_ASTC_6x6x6_OES = 0x93C9; ///
807 enum GL_COMPRESSED_RGBA_ASTC_8x5 = 0x93B5; ///
808 enum GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; ///
809 enum GL_COMPRESSED_RGBA_ASTC_8x6 = 0x93B6; ///
810 enum GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; ///
811 enum GL_COMPRESSED_RGBA_ASTC_8x8 = 0x93B7; ///
812 enum GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; ///
813 enum GL_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C; ///
814 enum GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; ///
815 enum GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; ///
816 enum GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03; ///
817 enum GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137; ///
818 enum GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02; ///
819 enum GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138; ///
820 enum GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; ///
821 enum GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 0x83F2; ///
822 enum GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; ///
823 enum GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 0x83F3; ///
824 enum GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; ///
825 enum GL_COMPRESSED_RGB_ARB = 0x84ED; ///
826 enum GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E; ///
827 enum GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; ///
828 enum GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F; ///
829 enum GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; ///
830 enum GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0; ///
831 enum GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01; ///
832 enum GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00; ///
833 enum GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; ///
834 enum GL_COMPRESSED_RG_RGTC2 = 0x8DBD; ///
835 enum GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; ///
836 enum GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; ///
837 enum GL_COMPRESSED_SIGNED_R11_EAC = 0x9271; ///
838 enum GL_COMPRESSED_SIGNED_R11_EAC_OES = 0x9271; ///
839 enum GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; ///
840 enum GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC; ///
841 enum GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; ///
842 enum GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273; ///
843 enum GL_COMPRESSED_SIGNED_RG11_EAC_OES = 0x9273; ///
844 enum GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE; ///
845 enum GL_COMPRESSED_SLUMINANCE = 0x8C4A; ///
846 enum GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B; ///
847 enum GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; ///
848 enum GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A; ///
849 enum GL_COMPRESSED_SRGB = 0x8C48; ///
850 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB; ///
851 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; ///
852 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8; ///
853 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; ///
854 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9; ///
855 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; ///
856 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA; ///
857 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; ///
858 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC; ///
859 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; ///
860 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD; ///
861 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; ///
862 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 0x93E0; ///
863 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 0x93E1; ///
864 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0; ///
865 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; ///
866 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 0x93E2; ///
867 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 0x93E3; ///
868 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1; ///
869 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; ///
870 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 0x93E4; ///
871 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2; ///
872 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; ///
873 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 0x93E5; ///
874 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 0x93E6; ///
875 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3; ///
876 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; ///
877 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 0x93E7; ///
878 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4; ///
879 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; ///
880 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 0x93E8; ///
881 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 0x93E9; ///
882 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5; ///
883 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; ///
884 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6; ///
885 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; ///
886 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7; ///
887 enum GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; ///
888 enum GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; ///
889 enum GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES = 0x9279; ///
890 enum GL_COMPRESSED_SRGB8_ETC2 = 0x9275; ///
891 enum GL_COMPRESSED_SRGB8_ETC2_OES = 0x9275; ///
892 enum GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; ///
893 enum GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9277; ///
894 enum GL_COMPRESSED_SRGB_ALPHA = 0x8C49; ///
895 enum GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D; ///
896 enum GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; ///
897 enum GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; ///
898 enum GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56; ///
899 enum GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 0x93F0; ///
900 enum GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 0x8A57; ///
901 enum GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 0x93F1; ///
902 enum GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; ///
903 enum GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 0x8C4D; ///
904 enum GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; ///
905 enum GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 0x8C4E; ///
906 enum GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; ///
907 enum GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 0x8C4F; ///
908 enum GL_COMPRESSED_SRGB_EXT = 0x8C48; ///
909 enum GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 0x8A54; ///
910 enum GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 0x8A55; ///
911 enum GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; ///
912 enum GL_COMPRESSED_SRGB_S3TC_DXT1_NV = 0x8C4C; ///
913 enum GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; ///
914 enum GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; ///
915 enum GL_COMPUTE_PROGRAM_NV = 0x90FB; ///
916 enum GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; ///
917 enum GL_COMPUTE_SHADER = 0x91B9; ///
918 enum GL_COMPUTE_SHADER_BIT = 0x00000020; ///
919 enum GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5; ///
920 enum GL_COMPUTE_SUBROUTINE = 0x92ED; ///
921 enum GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3; ///
922 enum GL_COMPUTE_TEXTURE = 0x82A0; ///
923 enum GL_COMPUTE_WORK_GROUP_SIZE = 0x8267; ///
924 enum GL_COMP_BIT_ATI = 0x00000002; ///
925 enum GL_CONDITION_SATISFIED = 0x911C; ///
926 enum GL_CONDITION_SATISFIED_APPLE = 0x911C; ///
927 enum GL_CONFORMANT_NV = 0x9374; ///
928 enum GL_CONIC_CURVE_TO_NV = 0x1A; ///
929 enum GL_CONJOINT_NV = 0x9284; ///
930 enum GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; ///
931 enum GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346; ///
932 enum GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; ///
933 enum GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379; ///
934 enum GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; ///
935 enum GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D; ///
936 enum GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; ///
937 enum GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; ///
938 enum GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; ///
939 enum GL_CONSTANT = 0x8576; ///
940 enum GL_CONSTANT_ALPHA = 0x8003; ///
941 enum GL_CONSTANT_ALPHA_EXT = 0x8003; ///
942 enum GL_CONSTANT_ARB = 0x8576; ///
943 enum GL_CONSTANT_ATTENUATION = 0x1207; ///
944 enum GL_CONSTANT_BORDER = 0x8151; ///
945 enum GL_CONSTANT_BORDER_HP = 0x8151; ///
946 enum GL_CONSTANT_COLOR = 0x8001; ///
947 enum GL_CONSTANT_COLOR0_NV = 0x852A; ///
948 enum GL_CONSTANT_COLOR1_NV = 0x852B; ///
949 enum GL_CONSTANT_COLOR_EXT = 0x8001; ///
950 enum GL_CONSTANT_EXT = 0x8576; ///
951 enum GL_CONSTANT_NV = 0x8576; ///
952 enum GL_CONST_EYE_NV = 0x86E5; ///
953 enum GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002; ///
954 enum GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001; ///
955 enum GL_CONTEXT_FLAGS = 0x821E; ///
956 enum GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002; ///
957 enum GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002; ///
958 enum GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001; ///
959 enum GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; ///
960 enum GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT = 0x00000010; ///
961 enum GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; ///
962 enum GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004; ///
963 enum GL_CONTEXT_LOST = 0x0507; ///
964 enum GL_CONTEXT_LOST_KHR = 0x0507; ///
965 enum GL_CONTEXT_LOST_WEBGL = 0x9242; ///
966 enum GL_CONTEXT_PROFILE_MASK = 0x9126; ///
967 enum GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB; ///
968 enum GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC; ///
969 enum GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 0x82FC; ///
970 enum GL_CONTEXT_RELEASE_BEHAVIOR_KHR = 0x82FB; ///
971 enum GL_CONTEXT_ROBUST_ACCESS = 0x90F3; ///
972 enum GL_CONTEXT_ROBUST_ACCESS_EXT = 0x90F3; ///
973 enum GL_CONTEXT_ROBUST_ACCESS_KHR = 0x90F3; ///
974 enum GL_CONTINUOUS_AMD = 0x9007; ///
975 enum GL_CONTRAST_NV = 0x92A1; ///
976 enum GL_CONVEX_HULL_NV = 0x908B; ///
977 enum GL_CONVOLUTION_1D = 0x8010; ///
978 enum GL_CONVOLUTION_1D_EXT = 0x8010; ///
979 enum GL_CONVOLUTION_2D = 0x8011; ///
980 enum GL_CONVOLUTION_2D_EXT = 0x8011; ///
981 enum GL_CONVOLUTION_BORDER_COLOR = 0x8154; ///
982 enum GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154; ///
983 enum GL_CONVOLUTION_BORDER_MODE = 0x8013; ///
984 enum GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013; ///
985 enum GL_CONVOLUTION_FILTER_BIAS = 0x8015; ///
986 enum GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015; ///
987 enum GL_CONVOLUTION_FILTER_SCALE = 0x8014; ///
988 enum GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014; ///
989 enum GL_CONVOLUTION_FORMAT = 0x8017; ///
990 enum GL_CONVOLUTION_FORMAT_EXT = 0x8017; ///
991 enum GL_CONVOLUTION_HEIGHT = 0x8019; ///
992 enum GL_CONVOLUTION_HEIGHT_EXT = 0x8019; ///
993 enum GL_CONVOLUTION_HINT_SGIX = 0x8316; ///
994 enum GL_CONVOLUTION_WIDTH = 0x8018; ///
995 enum GL_CONVOLUTION_WIDTH_EXT = 0x8018; ///
996 enum GL_CON_0_ATI = 0x8941; ///
997 enum GL_CON_10_ATI = 0x894B; ///
998 enum GL_CON_11_ATI = 0x894C; ///
999 enum GL_CON_12_ATI = 0x894D; ///
1000 enum GL_CON_13_ATI = 0x894E; ///
1001 enum GL_CON_14_ATI = 0x894F; ///
1002 enum GL_CON_15_ATI = 0x8950; ///
1003 enum GL_CON_16_ATI = 0x8951; ///
1004 enum GL_CON_17_ATI = 0x8952; ///
1005 enum GL_CON_18_ATI = 0x8953; ///
1006 enum GL_CON_19_ATI = 0x8954; ///
1007 enum GL_CON_1_ATI = 0x8942; ///
1008 enum GL_CON_20_ATI = 0x8955; ///
1009 enum GL_CON_21_ATI = 0x8956; ///
1010 enum GL_CON_22_ATI = 0x8957; ///
1011 enum GL_CON_23_ATI = 0x8958; ///
1012 enum GL_CON_24_ATI = 0x8959; ///
1013 enum GL_CON_25_ATI = 0x895A; ///
1014 enum GL_CON_26_ATI = 0x895B; ///
1015 enum GL_CON_27_ATI = 0x895C; ///
1016 enum GL_CON_28_ATI = 0x895D; ///
1017 enum GL_CON_29_ATI = 0x895E; ///
1018 enum GL_CON_2_ATI = 0x8943; ///
1019 enum GL_CON_30_ATI = 0x895F; ///
1020 enum GL_CON_31_ATI = 0x8960; ///
1021 enum GL_CON_3_ATI = 0x8944; ///
1022 enum GL_CON_4_ATI = 0x8945; ///
1023 enum GL_CON_5_ATI = 0x8946; ///
1024 enum GL_CON_6_ATI = 0x8947; ///
1025 enum GL_CON_7_ATI = 0x8948; ///
1026 enum GL_CON_8_ATI = 0x8949; ///
1027 enum GL_CON_9_ATI = 0x894A; ///
1028 enum GL_COORD_REPLACE = 0x8862; ///
1029 enum GL_COORD_REPLACE_ARB = 0x8862; ///
1030 enum GL_COORD_REPLACE_NV = 0x8862; ///
1031 enum GL_COORD_REPLACE_OES = 0x8862; ///
1032 enum GL_COPY = 0x1503; ///
1033 enum GL_COPY_INVERTED = 0x150C; ///
1034 enum GL_COPY_PIXEL_TOKEN = 0x0706; ///
1035 enum GL_COPY_READ_BUFFER = 0x8F36; ///
1036 enum GL_COPY_READ_BUFFER_BINDING = 0x8F36; ///
1037 enum GL_COPY_READ_BUFFER_NV = 0x8F36; ///
1038 enum GL_COPY_WRITE_BUFFER = 0x8F37; ///
1039 enum GL_COPY_WRITE_BUFFER_BINDING = 0x8F37; ///
1040 enum GL_COPY_WRITE_BUFFER_NV = 0x8F37; ///
1041 enum GL_COUNTER_RANGE_AMD = 0x8BC1; ///
1042 enum GL_COUNTER_TYPE_AMD = 0x8BC0; ///
1043 enum GL_COUNT_DOWN_NV = 0x9089; ///
1044 enum GL_COUNT_UP_NV = 0x9088; ///
1045 enum GL_COVERAGE_ALL_FRAGMENTS_NV = 0x8ED5; ///
1046 enum GL_COVERAGE_ATTACHMENT_NV = 0x8ED2; ///
1047 enum GL_COVERAGE_AUTOMATIC_NV = 0x8ED7; ///
1048 enum GL_COVERAGE_BUFFERS_NV = 0x8ED3; ///
1049 enum GL_COVERAGE_BUFFER_BIT_NV = 0x00008000; ///
1050 enum GL_COVERAGE_COMPONENT4_NV = 0x8ED1; ///
1051 enum GL_COVERAGE_COMPONENT_NV = 0x8ED0; ///
1052 enum GL_COVERAGE_EDGE_FRAGMENTS_NV = 0x8ED6; ///
1053 enum GL_COVERAGE_MODULATION_NV = 0x9332; ///
1054 enum GL_COVERAGE_MODULATION_TABLE_NV = 0x9331; ///
1055 enum GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; ///
1056 enum GL_COVERAGE_SAMPLES_NV = 0x8ED4; ///
1057 enum GL_CPU_OPTIMIZED_QCOM = 0x8FB1; ///
1058 enum GL_CUBIC_CURVE_TO_NV = 0x0C; ///
1059 enum GL_CUBIC_EXT = 0x8334; ///
1060 enum GL_CUBIC_HP = 0x815F; ///
1061 enum GL_CUBIC_IMG = 0x9139; ///
1062 enum GL_CUBIC_MIPMAP_LINEAR_IMG = 0x913B; ///
1063 enum GL_CUBIC_MIPMAP_NEAREST_IMG = 0x913A; ///
1064 enum GL_CULL_FACE = 0x0B44; ///
1065 enum GL_CULL_FACE_MODE = 0x0B45; ///
1066 enum GL_CULL_FRAGMENT_NV = 0x86E7; ///
1067 enum GL_CULL_MODES_NV = 0x86E0; ///
1068 enum GL_CULL_VERTEX_EXT = 0x81AA; ///
1069 enum GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; ///
1070 enum GL_CULL_VERTEX_IBM = 0x103050; ///
1071 enum GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; ///
1072 enum GL_CURRENT_ATTRIB_NV = 0x8626; ///
1073 enum GL_CURRENT_BINORMAL_EXT = 0x843C; ///
1074 enum GL_CURRENT_BIT = 0x00000001; ///
1075 enum GL_CURRENT_COLOR = 0x0B00; ///
1076 enum GL_CURRENT_FOG_COORD = 0x8453; ///
1077 enum GL_CURRENT_FOG_COORDINATE = 0x8453; ///
1078 enum GL_CURRENT_FOG_COORDINATE_EXT = 0x8453; ///
1079 enum GL_CURRENT_INDEX = 0x0B01; ///
1080 enum GL_CURRENT_MATRIX_ARB = 0x8641; ///
1081 enum GL_CURRENT_MATRIX_INDEX_ARB = 0x8845; ///
1082 enum GL_CURRENT_MATRIX_NV = 0x8641; ///
1083 enum GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; ///
1084 enum GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; ///
1085 enum GL_CURRENT_NORMAL = 0x0B02; ///
1086 enum GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; ///
1087 enum GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843; ///
1088 enum GL_CURRENT_PALETTE_MATRIX_OES = 0x8843; ///
1089 enum GL_CURRENT_PROGRAM = 0x8B8D; ///
1090 enum GL_CURRENT_QUERY = 0x8865; ///
1091 enum GL_CURRENT_QUERY_ARB = 0x8865; ///
1092 enum GL_CURRENT_QUERY_EXT = 0x8865; ///
1093 enum GL_CURRENT_RASTER_COLOR = 0x0B04; ///
1094 enum GL_CURRENT_RASTER_DISTANCE = 0x0B09; ///
1095 enum GL_CURRENT_RASTER_INDEX = 0x0B05; ///
1096 enum GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406; ///
1097 enum GL_CURRENT_RASTER_POSITION = 0x0B07; ///
1098 enum GL_CURRENT_RASTER_POSITION_VALID = 0x0B08; ///
1099 enum GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F; ///
1100 enum GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06; ///
1101 enum GL_CURRENT_SECONDARY_COLOR = 0x8459; ///
1102 enum GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459; ///
1103 enum GL_CURRENT_TANGENT_EXT = 0x843B; ///
1104 enum GL_CURRENT_TEXTURE_COORDS = 0x0B03; ///
1105 enum GL_CURRENT_TIME_NV = 0x8E28; ///
1106 enum GL_CURRENT_VERTEX_ATTRIB = 0x8626; ///
1107 enum GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626; ///
1108 enum GL_CURRENT_VERTEX_EXT = 0x87E2; ///
1109 enum GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B; ///
1110 enum GL_CURRENT_WEIGHT_ARB = 0x86A8; ///
1111 enum GL_CW = 0x0900; ///
1112 enum GL_DARKEN = 0x9297; ///
1113 enum GL_DARKEN_KHR = 0x9297; ///
1114 enum GL_DARKEN_NV = 0x9297; ///
1115 enum GL_DATA_BUFFER_AMD = 0x9151; ///
1116 enum GL_DEBUG_ASSERT_MESA = 0x875B; ///
1117 enum GL_DEBUG_CALLBACK_FUNCTION = 0x8244; ///
1118 enum GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244; ///
1119 enum GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244; ///
1120 enum GL_DEBUG_CALLBACK_USER_PARAM = 0x8245; ///
1121 enum GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245; ///
1122 enum GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245; ///
1123 enum GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149; ///
1124 enum GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; ///
1125 enum GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B; ///
1126 enum GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150; ///
1127 enum GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D; ///
1128 enum GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; ///
1129 enum GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C; ///
1130 enum GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A; ///
1131 enum GL_DEBUG_GROUP_STACK_DEPTH = 0x826D; ///
1132 enum GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D; ///
1133 enum GL_DEBUG_LOGGED_MESSAGES = 0x9145; ///
1134 enum GL_DEBUG_LOGGED_MESSAGES_AMD = 0x9145; ///
1135 enum GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145; ///
1136 enum GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145; ///
1137 enum GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; ///
1138 enum GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243; ///
1139 enum GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243; ///
1140 enum GL_DEBUG_OBJECT_MESA = 0x8759; ///
1141 enum GL_DEBUG_OUTPUT = 0x92E0; ///
1142 enum GL_DEBUG_OUTPUT_KHR = 0x92E0; ///
1143 enum GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; ///
1144 enum GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; ///
1145 enum GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242; ///
1146 enum GL_DEBUG_PRINT_MESA = 0x875A; ///
1147 enum GL_DEBUG_SEVERITY_HIGH = 0x9146; ///
1148 enum GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146; ///
1149 enum GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146; ///
1150 enum GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146; ///
1151 enum GL_DEBUG_SEVERITY_LOW = 0x9148; ///
1152 enum GL_DEBUG_SEVERITY_LOW_AMD = 0x9148; ///
1153 enum GL_DEBUG_SEVERITY_LOW_ARB = 0x9148; ///
1154 enum GL_DEBUG_SEVERITY_LOW_KHR = 0x9148; ///
1155 enum GL_DEBUG_SEVERITY_MEDIUM = 0x9147; ///
1156 enum GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147; ///
1157 enum GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; ///
1158 enum GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147; ///
1159 enum GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B; ///
1160 enum GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B; ///
1161 enum GL_DEBUG_SOURCE_API = 0x8246; ///
1162 enum GL_DEBUG_SOURCE_API_ARB = 0x8246; ///
1163 enum GL_DEBUG_SOURCE_API_KHR = 0x8246; ///
1164 enum GL_DEBUG_SOURCE_APPLICATION = 0x824A; ///
1165 enum GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A; ///
1166 enum GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A; ///
1167 enum GL_DEBUG_SOURCE_OTHER = 0x824B; ///
1168 enum GL_DEBUG_SOURCE_OTHER_ARB = 0x824B; ///
1169 enum GL_DEBUG_SOURCE_OTHER_KHR = 0x824B; ///
1170 enum GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248; ///
1171 enum GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248; ///
1172 enum GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248; ///
1173 enum GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249; ///
1174 enum GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249; ///
1175 enum GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249; ///
1176 enum GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; ///
1177 enum GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247; ///
1178 enum GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247; ///
1179 enum GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; ///
1180 enum GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D; ///
1181 enum GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D; ///
1182 enum GL_DEBUG_TYPE_ERROR = 0x824C; ///
1183 enum GL_DEBUG_TYPE_ERROR_ARB = 0x824C; ///
1184 enum GL_DEBUG_TYPE_ERROR_KHR = 0x824C; ///
1185 enum GL_DEBUG_TYPE_MARKER = 0x8268; ///
1186 enum GL_DEBUG_TYPE_MARKER_KHR = 0x8268; ///
1187 enum GL_DEBUG_TYPE_OTHER = 0x8251; ///
1188 enum GL_DEBUG_TYPE_OTHER_ARB = 0x8251; ///
1189 enum GL_DEBUG_TYPE_OTHER_KHR = 0x8251; ///
1190 enum GL_DEBUG_TYPE_PERFORMANCE = 0x8250; ///
1191 enum GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250; ///
1192 enum GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250; ///
1193 enum GL_DEBUG_TYPE_POP_GROUP = 0x826A; ///
1194 enum GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A; ///
1195 enum GL_DEBUG_TYPE_PORTABILITY = 0x824F; ///
1196 enum GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F; ///
1197 enum GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F; ///
1198 enum GL_DEBUG_TYPE_PUSH_GROUP = 0x8269; ///
1199 enum GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269; ///
1200 enum GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; ///
1201 enum GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E; ///
1202 enum GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E; ///
1203 enum GL_DECAL = 0x2101; ///
1204 enum GL_DECODE_EXT = 0x8A49; ///
1205 enum GL_DECR = 0x1E03; ///
1206 enum GL_DECR_WRAP = 0x8508; ///
1207 enum GL_DECR_WRAP_EXT = 0x8508; ///
1208 enum GL_DECR_WRAP_OES = 0x8508; ///
1209 enum GL_DEFORMATIONS_MASK_SGIX = 0x8196; ///
1210 enum GL_DELETE_STATUS = 0x8B80; ///
1211 enum GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; ///
1212 enum GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; ///
1213 enum GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; ///
1214 enum GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; ///
1215 enum GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; ///
1216 enum GL_DEPTH = 0x1801; ///
1217 enum GL_DEPTH24_STENCIL8 = 0x88F0; ///
1218 enum GL_DEPTH24_STENCIL8_EXT = 0x88F0; ///
1219 enum GL_DEPTH24_STENCIL8_OES = 0x88F0; ///
1220 enum GL_DEPTH32F_STENCIL8 = 0x8CAD; ///
1221 enum GL_DEPTH32F_STENCIL8_NV = 0x8DAC; ///
1222 enum GL_DEPTH_ATTACHMENT = 0x8D00; ///
1223 enum GL_DEPTH_ATTACHMENT_EXT = 0x8D00; ///
1224 enum GL_DEPTH_ATTACHMENT_OES = 0x8D00; ///
1225 enum GL_DEPTH_BIAS = 0x0D1F; ///
1226 enum GL_DEPTH_BITS = 0x0D56; ///
1227 enum GL_DEPTH_BOUNDS_EXT = 0x8891; ///
1228 enum GL_DEPTH_BOUNDS_TEST_EXT = 0x8890; ///
1229 enum GL_DEPTH_BUFFER_BIT = 0x00000100; ///
1230 enum GL_DEPTH_BUFFER_BIT0_QCOM = 0x00000100; ///
1231 enum GL_DEPTH_BUFFER_BIT1_QCOM = 0x00000200; ///
1232 enum GL_DEPTH_BUFFER_BIT2_QCOM = 0x00000400; ///
1233 enum GL_DEPTH_BUFFER_BIT3_QCOM = 0x00000800; ///
1234 enum GL_DEPTH_BUFFER_BIT4_QCOM = 0x00001000; ///
1235 enum GL_DEPTH_BUFFER_BIT5_QCOM = 0x00002000; ///
1236 enum GL_DEPTH_BUFFER_BIT6_QCOM = 0x00004000; ///
1237 enum GL_DEPTH_BUFFER_BIT7_QCOM = 0x00008000; ///
1238 enum GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; ///
1239 enum GL_DEPTH_CLAMP = 0x864F; ///
1240 enum GL_DEPTH_CLAMP_FAR_AMD = 0x901F; ///
1241 enum GL_DEPTH_CLAMP_NEAR_AMD = 0x901E; ///
1242 enum GL_DEPTH_CLAMP_NV = 0x864F; ///
1243 enum GL_DEPTH_CLEAR_VALUE = 0x0B73; ///
1244 enum GL_DEPTH_COMPONENT = 0x1902; ///
1245 enum GL_DEPTH_COMPONENT16 = 0x81A5; ///
1246 enum GL_DEPTH_COMPONENT16_ARB = 0x81A5; ///
1247 enum GL_DEPTH_COMPONENT16_NONLINEAR_NV = 0x8E2C; ///
1248 enum GL_DEPTH_COMPONENT16_OES = 0x81A5; ///
1249 enum GL_DEPTH_COMPONENT16_SGIX = 0x81A5; ///
1250 enum GL_DEPTH_COMPONENT24 = 0x81A6; ///
1251 enum GL_DEPTH_COMPONENT24_ARB = 0x81A6; ///
1252 enum GL_DEPTH_COMPONENT24_OES = 0x81A6; ///
1253 enum GL_DEPTH_COMPONENT24_SGIX = 0x81A6; ///
1254 enum GL_DEPTH_COMPONENT32 = 0x81A7; ///
1255 enum GL_DEPTH_COMPONENT32F = 0x8CAC; ///
1256 enum GL_DEPTH_COMPONENT32F_NV = 0x8DAB; ///
1257 enum GL_DEPTH_COMPONENT32_ARB = 0x81A7; ///
1258 enum GL_DEPTH_COMPONENT32_OES = 0x81A7; ///
1259 enum GL_DEPTH_COMPONENT32_SGIX = 0x81A7; ///
1260 enum GL_DEPTH_COMPONENTS = 0x8284; ///
1261 enum GL_DEPTH_EXT = 0x1801; ///
1262 enum GL_DEPTH_FUNC = 0x0B74; ///
1263 enum GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311; ///
1264 enum GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312; ///
1265 enum GL_DEPTH_PASS_INSTRUMENT_SGIX = 0x8310; ///
1266 enum GL_DEPTH_RANGE = 0x0B70; ///
1267 enum GL_DEPTH_RENDERABLE = 0x8287; ///
1268 enum GL_DEPTH_SAMPLES_NV = 0x932D; ///
1269 enum GL_DEPTH_SCALE = 0x0D1E; ///
1270 enum GL_DEPTH_STENCIL = 0x84F9; ///
1271 enum GL_DEPTH_STENCIL_ATTACHMENT = 0x821A; ///
1272 enum GL_DEPTH_STENCIL_EXT = 0x84F9; ///
1273 enum GL_DEPTH_STENCIL_MESA = 0x8750; ///
1274 enum GL_DEPTH_STENCIL_NV = 0x84F9; ///
1275 enum GL_DEPTH_STENCIL_OES = 0x84F9; ///
1276 enum GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; ///
1277 enum GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F; ///
1278 enum GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E; ///
1279 enum GL_DEPTH_TEST = 0x0B71; ///
1280 enum GL_DEPTH_TEXTURE_MODE = 0x884B; ///
1281 enum GL_DEPTH_TEXTURE_MODE_ARB = 0x884B; ///
1282 enum GL_DEPTH_WRITEMASK = 0x0B72; ///
1283 enum GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; ///
1284 enum GL_DETAIL_TEXTURE_2D_SGIS = 0x8095; ///
1285 enum GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; ///
1286 enum GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; ///
1287 enum GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B; ///
1288 enum GL_DIFFERENCE = 0x929E; ///
1289 enum GL_DIFFERENCE_KHR = 0x929E; ///
1290 enum GL_DIFFERENCE_NV = 0x929E; ///
1291 enum GL_DIFFUSE = 0x1201; ///
1292 enum GL_DISCARD_ATI = 0x8763; ///
1293 enum GL_DISCARD_NV = 0x8530; ///
1294 enum GL_DISCRETE_AMD = 0x9006; ///
1295 enum GL_DISJOINT_NV = 0x9283; ///
1296 enum GL_DISPATCH_INDIRECT_BUFFER = 0x90EE; ///
1297 enum GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; ///
1298 enum GL_DISPLAY_LIST = 0x82E7; ///
1299 enum GL_DISTANCE_ATTENUATION_EXT = 0x8129; ///
1300 enum GL_DISTANCE_ATTENUATION_SGIS = 0x8129; ///
1301 enum GL_DITHER = 0x0BD0; ///
1302 enum GL_DMP_PROGRAM_BINARY_DMP = 0x9253; ///
1303 enum GL_DOMAIN = 0x0A02; ///
1304 enum GL_DONT_CARE = 0x1100; ///
1305 enum GL_DOT2_ADD_ATI = 0x896C; ///
1306 enum GL_DOT3_ATI = 0x8966; ///
1307 enum GL_DOT3_RGB = 0x86AE; ///
1308 enum GL_DOT3_RGBA = 0x86AF; ///
1309 enum GL_DOT3_RGBA_ARB = 0x86AF; ///
1310 enum GL_DOT3_RGBA_EXT = 0x8741; ///
1311 enum GL_DOT3_RGBA_IMG = 0x86AF; ///
1312 enum GL_DOT3_RGB_ARB = 0x86AE; ///
1313 enum GL_DOT3_RGB_EXT = 0x8740; ///
1314 enum GL_DOT4_ATI = 0x8967; ///
1315 enum GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; ///
1316 enum GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; ///
1317 enum GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; ///
1318 enum GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; ///
1319 enum GL_DOT_PRODUCT_NV = 0x86EC; ///
1320 enum GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; ///
1321 enum GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; ///
1322 enum GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; ///
1323 enum GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; ///
1324 enum GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; ///
1325 enum GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; ///
1326 enum GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; ///
1327 enum GL_DOUBLE = 0x140A; ///
1328 enum GL_DOUBLEBUFFER = 0x0C32; ///
1329 enum GL_DOUBLE_EXT = 0x140A; ///
1330 enum GL_DOUBLE_MAT2 = 0x8F46; ///
1331 enum GL_DOUBLE_MAT2_EXT = 0x8F46; ///
1332 enum GL_DOUBLE_MAT2x3 = 0x8F49; ///
1333 enum GL_DOUBLE_MAT2x3_EXT = 0x8F49; ///
1334 enum GL_DOUBLE_MAT2x4 = 0x8F4A; ///
1335 enum GL_DOUBLE_MAT2x4_EXT = 0x8F4A; ///
1336 enum GL_DOUBLE_MAT3 = 0x8F47; ///
1337 enum GL_DOUBLE_MAT3_EXT = 0x8F47; ///
1338 enum GL_DOUBLE_MAT3x2 = 0x8F4B; ///
1339 enum GL_DOUBLE_MAT3x2_EXT = 0x8F4B; ///
1340 enum GL_DOUBLE_MAT3x4 = 0x8F4C; ///
1341 enum GL_DOUBLE_MAT3x4_EXT = 0x8F4C; ///
1342 enum GL_DOUBLE_MAT4 = 0x8F48; ///
1343 enum GL_DOUBLE_MAT4_EXT = 0x8F48; ///
1344 enum GL_DOUBLE_MAT4x2 = 0x8F4D; ///
1345 enum GL_DOUBLE_MAT4x2_EXT = 0x8F4D; ///
1346 enum GL_DOUBLE_MAT4x3 = 0x8F4E; ///
1347 enum GL_DOUBLE_MAT4x3_EXT = 0x8F4E; ///
1348 enum GL_DOUBLE_VEC2 = 0x8FFC; ///
1349 enum GL_DOUBLE_VEC2_EXT = 0x8FFC; ///
1350 enum GL_DOUBLE_VEC3 = 0x8FFD; ///
1351 enum GL_DOUBLE_VEC3_EXT = 0x8FFD; ///
1352 enum GL_DOUBLE_VEC4 = 0x8FFE; ///
1353 enum GL_DOUBLE_VEC4_EXT = 0x8FFE; ///
1354 enum GL_DOWNSAMPLE_SCALES_IMG = 0x913E; ///
1355 enum GL_DRAW_ARRAYS_COMMAND_NV = 0x0003; ///
1356 enum GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; ///
1357 enum GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; ///
1358 enum GL_DRAW_BUFFER = 0x0C01; ///
1359 enum GL_DRAW_BUFFER0 = 0x8825; ///
1360 enum GL_DRAW_BUFFER0_ARB = 0x8825; ///
1361 enum GL_DRAW_BUFFER0_ATI = 0x8825; ///
1362 enum GL_DRAW_BUFFER0_EXT = 0x8825; ///
1363 enum GL_DRAW_BUFFER0_NV = 0x8825; ///
1364 enum GL_DRAW_BUFFER1 = 0x8826; ///
1365 enum GL_DRAW_BUFFER10 = 0x882F; ///
1366 enum GL_DRAW_BUFFER10_ARB = 0x882F; ///
1367 enum GL_DRAW_BUFFER10_ATI = 0x882F; ///
1368 enum GL_DRAW_BUFFER10_EXT = 0x882F; ///
1369 enum GL_DRAW_BUFFER10_NV = 0x882F; ///
1370 enum GL_DRAW_BUFFER11 = 0x8830; ///
1371 enum GL_DRAW_BUFFER11_ARB = 0x8830; ///
1372 enum GL_DRAW_BUFFER11_ATI = 0x8830; ///
1373 enum GL_DRAW_BUFFER11_EXT = 0x8830; ///
1374 enum GL_DRAW_BUFFER11_NV = 0x8830; ///
1375 enum GL_DRAW_BUFFER12 = 0x8831; ///
1376 enum GL_DRAW_BUFFER12_ARB = 0x8831; ///
1377 enum GL_DRAW_BUFFER12_ATI = 0x8831; ///
1378 enum GL_DRAW_BUFFER12_EXT = 0x8831; ///
1379 enum GL_DRAW_BUFFER12_NV = 0x8831; ///
1380 enum GL_DRAW_BUFFER13 = 0x8832; ///
1381 enum GL_DRAW_BUFFER13_ARB = 0x8832; ///
1382 enum GL_DRAW_BUFFER13_ATI = 0x8832; ///
1383 enum GL_DRAW_BUFFER13_EXT = 0x8832; ///
1384 enum GL_DRAW_BUFFER13_NV = 0x8832; ///
1385 enum GL_DRAW_BUFFER14 = 0x8833; ///
1386 enum GL_DRAW_BUFFER14_ARB = 0x8833; ///
1387 enum GL_DRAW_BUFFER14_ATI = 0x8833; ///
1388 enum GL_DRAW_BUFFER14_EXT = 0x8833; ///
1389 enum GL_DRAW_BUFFER14_NV = 0x8833; ///
1390 enum GL_DRAW_BUFFER15 = 0x8834; ///
1391 enum GL_DRAW_BUFFER15_ARB = 0x8834; ///
1392 enum GL_DRAW_BUFFER15_ATI = 0x8834; ///
1393 enum GL_DRAW_BUFFER15_EXT = 0x8834; ///
1394 enum GL_DRAW_BUFFER15_NV = 0x8834; ///
1395 enum GL_DRAW_BUFFER1_ARB = 0x8826; ///
1396 enum GL_DRAW_BUFFER1_ATI = 0x8826; ///
1397 enum GL_DRAW_BUFFER1_EXT = 0x8826; ///
1398 enum GL_DRAW_BUFFER1_NV = 0x8826; ///
1399 enum GL_DRAW_BUFFER2 = 0x8827; ///
1400 enum GL_DRAW_BUFFER2_ARB = 0x8827; ///
1401 enum GL_DRAW_BUFFER2_ATI = 0x8827; ///
1402 enum GL_DRAW_BUFFER2_EXT = 0x8827; ///
1403 enum GL_DRAW_BUFFER2_NV = 0x8827; ///
1404 enum GL_DRAW_BUFFER3 = 0x8828; ///
1405 enum GL_DRAW_BUFFER3_ARB = 0x8828; ///
1406 enum GL_DRAW_BUFFER3_ATI = 0x8828; ///
1407 enum GL_DRAW_BUFFER3_EXT = 0x8828; ///
1408 enum GL_DRAW_BUFFER3_NV = 0x8828; ///
1409 enum GL_DRAW_BUFFER4 = 0x8829; ///
1410 enum GL_DRAW_BUFFER4_ARB = 0x8829; ///
1411 enum GL_DRAW_BUFFER4_ATI = 0x8829; ///
1412 enum GL_DRAW_BUFFER4_EXT = 0x8829; ///
1413 enum GL_DRAW_BUFFER4_NV = 0x8829; ///
1414 enum GL_DRAW_BUFFER5 = 0x882A; ///
1415 enum GL_DRAW_BUFFER5_ARB = 0x882A; ///
1416 enum GL_DRAW_BUFFER5_ATI = 0x882A; ///
1417 enum GL_DRAW_BUFFER5_EXT = 0x882A; ///
1418 enum GL_DRAW_BUFFER5_NV = 0x882A; ///
1419 enum GL_DRAW_BUFFER6 = 0x882B; ///
1420 enum GL_DRAW_BUFFER6_ARB = 0x882B; ///
1421 enum GL_DRAW_BUFFER6_ATI = 0x882B; ///
1422 enum GL_DRAW_BUFFER6_EXT = 0x882B; ///
1423 enum GL_DRAW_BUFFER6_NV = 0x882B; ///
1424 enum GL_DRAW_BUFFER7 = 0x882C; ///
1425 enum GL_DRAW_BUFFER7_ARB = 0x882C; ///
1426 enum GL_DRAW_BUFFER7_ATI = 0x882C; ///
1427 enum GL_DRAW_BUFFER7_EXT = 0x882C; ///
1428 enum GL_DRAW_BUFFER7_NV = 0x882C; ///
1429 enum GL_DRAW_BUFFER8 = 0x882D; ///
1430 enum GL_DRAW_BUFFER8_ARB = 0x882D; ///
1431 enum GL_DRAW_BUFFER8_ATI = 0x882D; ///
1432 enum GL_DRAW_BUFFER8_EXT = 0x882D; ///
1433 enum GL_DRAW_BUFFER8_NV = 0x882D; ///
1434 enum GL_DRAW_BUFFER9 = 0x882E; ///
1435 enum GL_DRAW_BUFFER9_ARB = 0x882E; ///
1436 enum GL_DRAW_BUFFER9_ATI = 0x882E; ///
1437 enum GL_DRAW_BUFFER9_EXT = 0x882E; ///
1438 enum GL_DRAW_BUFFER9_NV = 0x882E; ///
1439 enum GL_DRAW_BUFFER_EXT = 0x0C01; ///
1440 enum GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002; ///
1441 enum GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; ///
1442 enum GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; ///
1443 enum GL_DRAW_FRAMEBUFFER = 0x8CA9; ///
1444 enum GL_DRAW_FRAMEBUFFER_ANGLE = 0x8CA9; ///
1445 enum GL_DRAW_FRAMEBUFFER_APPLE = 0x8CA9; ///
1446 enum GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6; ///
1447 enum GL_DRAW_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6; ///
1448 enum GL_DRAW_FRAMEBUFFER_BINDING_APPLE = 0x8CA6; ///
1449 enum GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; ///
1450 enum GL_DRAW_FRAMEBUFFER_BINDING_NV = 0x8CA6; ///
1451 enum GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9; ///
1452 enum GL_DRAW_FRAMEBUFFER_NV = 0x8CA9; ///
1453 enum GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41; ///
1454 enum GL_DRAW_INDIRECT_BUFFER = 0x8F3F; ///
1455 enum GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; ///
1456 enum GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42; ///
1457 enum GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40; ///
1458 enum GL_DRAW_PIXELS_APPLE = 0x8A0A; ///
1459 enum GL_DRAW_PIXEL_TOKEN = 0x0705; ///
1460 enum GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B; ///
1461 enum GL_DSDT8_MAG8_NV = 0x870A; ///
1462 enum GL_DSDT8_NV = 0x8709; ///
1463 enum GL_DSDT_MAG_INTENSITY_NV = 0x86DC; ///
1464 enum GL_DSDT_MAG_NV = 0x86F6; ///
1465 enum GL_DSDT_MAG_VIB_NV = 0x86F7; ///
1466 enum GL_DSDT_NV = 0x86F5; ///
1467 enum GL_DST_ALPHA = 0x0304; ///
1468 enum GL_DST_ATOP_NV = 0x928F; ///
1469 enum GL_DST_COLOR = 0x0306; ///
1470 enum GL_DST_IN_NV = 0x928B; ///
1471 enum GL_DST_NV = 0x9287; ///
1472 enum GL_DST_OUT_NV = 0x928D; ///
1473 enum GL_DST_OVER_NV = 0x9289; ///
1474 enum GL_DS_BIAS_NV = 0x8716; ///
1475 enum GL_DS_SCALE_NV = 0x8710; ///
1476 enum GL_DT_BIAS_NV = 0x8717; ///
1477 enum GL_DT_SCALE_NV = 0x8711; ///
1478 enum GL_DU8DV8_ATI = 0x877A; ///
1479 enum GL_DUAL_ALPHA12_SGIS = 0x8112; ///
1480 enum GL_DUAL_ALPHA16_SGIS = 0x8113; ///
1481 enum GL_DUAL_ALPHA4_SGIS = 0x8110; ///
1482 enum GL_DUAL_ALPHA8_SGIS = 0x8111; ///
1483 enum GL_DUAL_INTENSITY12_SGIS = 0x811A; ///
1484 enum GL_DUAL_INTENSITY16_SGIS = 0x811B; ///
1485 enum GL_DUAL_INTENSITY4_SGIS = 0x8118; ///
1486 enum GL_DUAL_INTENSITY8_SGIS = 0x8119; ///
1487 enum GL_DUAL_LUMINANCE12_SGIS = 0x8116; ///
1488 enum GL_DUAL_LUMINANCE16_SGIS = 0x8117; ///
1489 enum GL_DUAL_LUMINANCE4_SGIS = 0x8114; ///
1490 enum GL_DUAL_LUMINANCE8_SGIS = 0x8115; ///
1491 enum GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; ///
1492 enum GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; ///
1493 enum GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124; ///
1494 enum GL_DUDV_ATI = 0x8779; ///
1495 enum GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; ///
1496 enum GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; ///
1497 enum GL_DYNAMIC_ATI = 0x8761; ///
1498 enum GL_DYNAMIC_COPY = 0x88EA; ///
1499 enum GL_DYNAMIC_COPY_ARB = 0x88EA; ///
1500 enum GL_DYNAMIC_DRAW = 0x88E8; ///
1501 enum GL_DYNAMIC_DRAW_ARB = 0x88E8; ///
1502 enum GL_DYNAMIC_READ = 0x88E9; ///
1503 enum GL_DYNAMIC_READ_ARB = 0x88E9; ///
1504 enum GL_DYNAMIC_STORAGE_BIT = 0x0100; ///
1505 enum GL_DYNAMIC_STORAGE_BIT_EXT = 0x0100; ///
1506 enum GL_EDGEFLAG_BIT_PGI = 0x00040000; ///
1507 enum GL_EDGE_FLAG = 0x0B43; ///
1508 enum GL_EDGE_FLAG_ARRAY = 0x8079; ///
1509 enum GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; ///
1510 enum GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B; ///
1511 enum GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; ///
1512 enum GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; ///
1513 enum GL_EDGE_FLAG_ARRAY_EXT = 0x8079; ///
1514 enum GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; ///
1515 enum GL_EDGE_FLAG_ARRAY_LIST_IBM = 0x103075; ///
1516 enum GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 0x103085; ///
1517 enum GL_EDGE_FLAG_ARRAY_POINTER = 0x8093; ///
1518 enum GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; ///
1519 enum GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C; ///
1520 enum GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; ///
1521 enum GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; ///
1522 enum GL_EIGHTH_BIT_ATI = 0x00000020; ///
1523 enum GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008; ///
1524 enum GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; ///
1525 enum GL_ELEMENT_ARRAY_APPLE = 0x8A0C; ///
1526 enum GL_ELEMENT_ARRAY_ATI = 0x8768; ///
1527 enum GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002; ///
1528 enum GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; ///
1529 enum GL_ELEMENT_ARRAY_BUFFER = 0x8893; ///
1530 enum GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893; ///
1531 enum GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; ///
1532 enum GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; ///
1533 enum GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33; ///
1534 enum GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; ///
1535 enum GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A; ///
1536 enum GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; ///
1537 enum GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769; ///
1538 enum GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; ///
1539 enum GL_EMBOSS_CONSTANT_NV = 0x855E; ///
1540 enum GL_EMBOSS_LIGHT_NV = 0x855D; ///
1541 enum GL_EMBOSS_MAP_NV = 0x855F; ///
1542 enum GL_EMISSION = 0x1600; ///
1543 enum GL_ENABLE_BIT = 0x00002000; ///
1544 enum GL_EQUAL = 0x0202; ///
1545 enum GL_EQUIV = 0x1509; ///
1546 enum GL_ETC1_RGB8_OES = 0x8D64; ///
1547 enum GL_ETC1_SRGB8_NV = 0x88EE; ///
1548 enum GL_EVAL_2D_NV = 0x86C0; ///
1549 enum GL_EVAL_BIT = 0x00010000; ///
1550 enum GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; ///
1551 enum GL_EVAL_TRIANGULAR_2D_NV = 0x86C1; ///
1552 enum GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6; ///
1553 enum GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0; ///
1554 enum GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1; ///
1555 enum GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2; ///
1556 enum GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3; ///
1557 enum GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4; ///
1558 enum GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5; ///
1559 enum GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7; ///
1560 enum GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8; ///
1561 enum GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9; ///
1562 enum GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA; ///
1563 enum GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB; ///
1564 enum GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC; ///
1565 enum GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD; ///
1566 enum GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE; ///
1567 enum GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF; ///
1568 enum GL_EXCLUSION = 0x92A0; ///
1569 enum GL_EXCLUSION_KHR = 0x92A0; ///
1570 enum GL_EXCLUSION_NV = 0x92A0; ///
1571 enum GL_EXCLUSIVE_EXT = 0x8F11; ///
1572 enum GL_EXP = 0x0800; ///
1573 enum GL_EXP2 = 0x0801; ///
1574 enum GL_EXPAND_NEGATE_NV = 0x8539; ///
1575 enum GL_EXPAND_NORMAL_NV = 0x8538; ///
1576 enum GL_EXTENSIONS = 0x1F03; ///
1577 enum GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; ///
1578 enum GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; ///
1579 enum GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; ///
1580 enum GL_EYE_LINEAR = 0x2400; ///
1581 enum GL_EYE_LINEAR_NV = 0x2400; ///
1582 enum GL_EYE_LINE_SGIS = 0x81F6; ///
1583 enum GL_EYE_PLANE = 0x2502; ///
1584 enum GL_EYE_PLANE_ABSOLUTE_NV = 0x855C; ///
1585 enum GL_EYE_POINT_SGIS = 0x81F4; ///
1586 enum GL_EYE_RADIAL_NV = 0x855B; ///
1587 enum GL_E_TIMES_F_NV = 0x8531; ///
1588 enum GL_FACTOR_ALPHA_MODULATE_IMG = 0x8C07; ///
1589 enum GL_FACTOR_MAX_AMD = 0x901D; ///
1590 enum GL_FACTOR_MIN_AMD = 0x901C; ///
1591 enum GL_FAILURE_NV = 0x9030; ///
1592 enum GL_FALSE = 0; ///
1593 enum GL_FASTEST = 0x1101; ///
1594 enum GL_FEEDBACK = 0x1C01; ///
1595 enum GL_FEEDBACK_BUFFER_POINTER = 0x0DF0; ///
1596 enum GL_FEEDBACK_BUFFER_SIZE = 0x0DF1; ///
1597 enum GL_FEEDBACK_BUFFER_TYPE = 0x0DF2; ///
1598 enum GL_FENCE_APPLE = 0x8A0B; ///
1599 enum GL_FENCE_CONDITION_NV = 0x84F4; ///
1600 enum GL_FENCE_STATUS_NV = 0x84F3; ///
1601 enum GL_FETCH_PER_SAMPLE_ARM = 0x8F65; ///
1602 enum GL_FIELDS_NV = 0x8E27; ///
1603 enum GL_FIELD_LOWER_NV = 0x9023; ///
1604 enum GL_FIELD_UPPER_NV = 0x9022; ///
1605 enum GL_FILE_NAME_NV = 0x9074; ///
1606 enum GL_FILL = 0x1B02; ///
1607 enum GL_FILL_NV = 0x1B02; ///
1608 enum GL_FILL_RECTANGLE_NV = 0x933C; ///
1609 enum GL_FILTER = 0x829A; ///
1610 enum GL_FILTER4_SGIS = 0x8146; ///
1611 enum GL_FIRST_TO_REST_NV = 0x90AF; ///
1612 enum GL_FIRST_VERTEX_CONVENTION = 0x8E4D; ///
1613 enum GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; ///
1614 enum GL_FIRST_VERTEX_CONVENTION_OES = 0x8E4D; ///
1615 enum GL_FIXED = 0x140C; ///
1616 enum GL_FIXED_OES = 0x140C; ///
1617 enum GL_FIXED_ONLY = 0x891D; ///
1618 enum GL_FIXED_ONLY_ARB = 0x891D; ///
1619 enum GL_FLAT = 0x1D00; ///
1620 enum GL_FLOAT = 0x1406; ///
1621 enum GL_FLOAT16_MAT2_AMD = 0x91C5; ///
1622 enum GL_FLOAT16_MAT2x3_AMD = 0x91C8; ///
1623 enum GL_FLOAT16_MAT2x4_AMD = 0x91C9; ///
1624 enum GL_FLOAT16_MAT3_AMD = 0x91C6; ///
1625 enum GL_FLOAT16_MAT3x2_AMD = 0x91CA; ///
1626 enum GL_FLOAT16_MAT3x4_AMD = 0x91CB; ///
1627 enum GL_FLOAT16_MAT4_AMD = 0x91C7; ///
1628 enum GL_FLOAT16_MAT4x2_AMD = 0x91CC; ///
1629 enum GL_FLOAT16_MAT4x3_AMD = 0x91CD; ///
1630 enum GL_FLOAT16_NV = 0x8FF8; ///
1631 enum GL_FLOAT16_VEC2_NV = 0x8FF9; ///
1632 enum GL_FLOAT16_VEC3_NV = 0x8FFA; ///
1633 enum GL_FLOAT16_VEC4_NV = 0x8FFB; ///
1634 enum GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD; ///
1635 enum GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; ///
1636 enum GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; ///
1637 enum GL_FLOAT_MAT2 = 0x8B5A; ///
1638 enum GL_FLOAT_MAT2_ARB = 0x8B5A; ///
1639 enum GL_FLOAT_MAT2x3 = 0x8B65; ///
1640 enum GL_FLOAT_MAT2x3_NV = 0x8B65; ///
1641 enum GL_FLOAT_MAT2x4 = 0x8B66; ///
1642 enum GL_FLOAT_MAT2x4_NV = 0x8B66; ///
1643 enum GL_FLOAT_MAT3 = 0x8B5B; ///
1644 enum GL_FLOAT_MAT3_ARB = 0x8B5B; ///
1645 enum GL_FLOAT_MAT3x2 = 0x8B67; ///
1646 enum GL_FLOAT_MAT3x2_NV = 0x8B67; ///
1647 enum GL_FLOAT_MAT3x4 = 0x8B68; ///
1648 enum GL_FLOAT_MAT3x4_NV = 0x8B68; ///
1649 enum GL_FLOAT_MAT4 = 0x8B5C; ///
1650 enum GL_FLOAT_MAT4_ARB = 0x8B5C; ///
1651 enum GL_FLOAT_MAT4x2 = 0x8B69; ///
1652 enum GL_FLOAT_MAT4x2_NV = 0x8B69; ///
1653 enum GL_FLOAT_MAT4x3 = 0x8B6A; ///
1654 enum GL_FLOAT_MAT4x3_NV = 0x8B6A; ///
1655 enum GL_FLOAT_R16_NV = 0x8884; ///
1656 enum GL_FLOAT_R32_NV = 0x8885; ///
1657 enum GL_FLOAT_RG16_NV = 0x8886; ///
1658 enum GL_FLOAT_RG32_NV = 0x8887; ///
1659 enum GL_FLOAT_RGB16_NV = 0x8888; ///
1660 enum GL_FLOAT_RGB32_NV = 0x8889; ///
1661 enum GL_FLOAT_RGBA16_NV = 0x888A; ///
1662 enum GL_FLOAT_RGBA32_NV = 0x888B; ///
1663 enum GL_FLOAT_RGBA_MODE_NV = 0x888E; ///
1664 enum GL_FLOAT_RGBA_NV = 0x8883; ///
1665 enum GL_FLOAT_RGB_NV = 0x8882; ///
1666 enum GL_FLOAT_RG_NV = 0x8881; ///
1667 enum GL_FLOAT_R_NV = 0x8880; ///
1668 enum GL_FLOAT_VEC2 = 0x8B50; ///
1669 enum GL_FLOAT_VEC2_ARB = 0x8B50; ///
1670 enum GL_FLOAT_VEC3 = 0x8B51; ///
1671 enum GL_FLOAT_VEC3_ARB = 0x8B51; ///
1672 enum GL_FLOAT_VEC4 = 0x8B52; ///
1673 enum GL_FLOAT_VEC4_ARB = 0x8B52; ///
1674 enum GL_FOG = 0x0B60; ///
1675 enum GL_FOG_BIT = 0x00000080; ///
1676 enum GL_FOG_COLOR = 0x0B66; ///
1677 enum GL_FOG_COORD = 0x8451; ///
1678 enum GL_FOG_COORDINATE = 0x8451; ///
1679 enum GL_FOG_COORDINATE_ARRAY = 0x8457; ///
1680 enum GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D; ///
1681 enum GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; ///
1682 enum GL_FOG_COORDINATE_ARRAY_EXT = 0x8457; ///
1683 enum GL_FOG_COORDINATE_ARRAY_LIST_IBM = 0x103076; ///
1684 enum GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 0x103086; ///
1685 enum GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456; ///
1686 enum GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; ///
1687 enum GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455; ///
1688 enum GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; ///
1689 enum GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454; ///
1690 enum GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; ///
1691 enum GL_FOG_COORDINATE_EXT = 0x8451; ///
1692 enum GL_FOG_COORDINATE_SOURCE = 0x8450; ///
1693 enum GL_FOG_COORDINATE_SOURCE_EXT = 0x8450; ///
1694 enum GL_FOG_COORD_ARRAY = 0x8457; ///
1695 enum GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; ///
1696 enum GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D; ///
1697 enum GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; ///
1698 enum GL_FOG_COORD_ARRAY_POINTER = 0x8456; ///
1699 enum GL_FOG_COORD_ARRAY_STRIDE = 0x8455; ///
1700 enum GL_FOG_COORD_ARRAY_TYPE = 0x8454; ///
1701 enum GL_FOG_COORD_SRC = 0x8450; ///
1702 enum GL_FOG_DENSITY = 0x0B62; ///
1703 enum GL_FOG_DISTANCE_MODE_NV = 0x855A; ///
1704 enum GL_FOG_END = 0x0B64; ///
1705 enum GL_FOG_FUNC_POINTS_SGIS = 0x812B; ///
1706 enum GL_FOG_FUNC_SGIS = 0x812A; ///
1707 enum GL_FOG_HINT = 0x0C54; ///
1708 enum GL_FOG_INDEX = 0x0B61; ///
1709 enum GL_FOG_MODE = 0x0B65; ///
1710 enum GL_FOG_OFFSET_SGIX = 0x8198; ///
1711 enum GL_FOG_OFFSET_VALUE_SGIX = 0x8199; ///
1712 enum GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC; ///
1713 enum GL_FOG_START = 0x0B63; ///
1714 enum GL_FONT_ASCENDER_BIT_NV = 0x00200000; ///
1715 enum GL_FONT_DESCENDER_BIT_NV = 0x00400000; ///
1716 enum GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368; ///
1717 enum GL_FONT_HAS_KERNING_BIT_NV = 0x10000000; ///
1718 enum GL_FONT_HEIGHT_BIT_NV = 0x00800000; ///
1719 enum GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; ///
1720 enum GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; ///
1721 enum GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; ///
1722 enum GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369; ///
1723 enum GL_FONT_UNAVAILABLE_NV = 0x936A; ///
1724 enum GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; ///
1725 enum GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; ///
1726 enum GL_FONT_UNINTELLIGIBLE_NV = 0x936B; ///
1727 enum GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000; ///
1728 enum GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; ///
1729 enum GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; ///
1730 enum GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; ///
1731 enum GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; ///
1732 enum GL_FORCE_BLUE_TO_ONE_NV = 0x8860; ///
1733 enum GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983; ///
1734 enum GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982; ///
1735 enum GL_FRACTIONAL_EVEN = 0x8E7C; ///
1736 enum GL_FRACTIONAL_EVEN_EXT = 0x8E7C; ///
1737 enum GL_FRACTIONAL_EVEN_OES = 0x8E7C; ///
1738 enum GL_FRACTIONAL_ODD = 0x8E7B; ///
1739 enum GL_FRACTIONAL_ODD_EXT = 0x8E7B; ///
1740 enum GL_FRACTIONAL_ODD_OES = 0x8E7B; ///
1741 enum GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314; ///
1742 enum GL_FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315; ///
1743 enum GL_FRAGMENTS_INSTRUMENT_SGIX = 0x8313; ///
1744 enum GL_FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08; ///
1745 enum GL_FRAGMENT_COLOR_EXT = 0x834C; ///
1746 enum GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; ///
1747 enum GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; ///
1748 enum GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; ///
1749 enum GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; ///
1750 enum GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; ///
1751 enum GL_FRAGMENT_DEPTH = 0x8452; ///
1752 enum GL_FRAGMENT_DEPTH_EXT = 0x8452; ///
1753 enum GL_FRAGMENT_INPUT_NV = 0x936D; ///
1754 enum GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; ///
1755 enum GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D; ///
1756 enum GL_FRAGMENT_LIGHT0_SGIX = 0x840C; ///
1757 enum GL_FRAGMENT_LIGHT1_SGIX = 0x840D; ///
1758 enum GL_FRAGMENT_LIGHT2_SGIX = 0x840E; ///
1759 enum GL_FRAGMENT_LIGHT3_SGIX = 0x840F; ///
1760 enum GL_FRAGMENT_LIGHT4_SGIX = 0x8410; ///
1761 enum GL_FRAGMENT_LIGHT5_SGIX = 0x8411; ///
1762 enum GL_FRAGMENT_LIGHT6_SGIX = 0x8412; ///
1763 enum GL_FRAGMENT_LIGHT7_SGIX = 0x8413; ///
1764 enum GL_FRAGMENT_LIGHTING_SGIX = 0x8400; ///
1765 enum GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; ///
1766 enum GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; ///
1767 enum GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; ///
1768 enum GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; ///
1769 enum GL_FRAGMENT_MATERIAL_EXT = 0x8349; ///
1770 enum GL_FRAGMENT_NORMAL_EXT = 0x834A; ///
1771 enum GL_FRAGMENT_PROGRAM_ARB = 0x8804; ///
1772 enum GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873; ///
1773 enum GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3; ///
1774 enum GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2; ///
1775 enum GL_FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1; ///
1776 enum GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; ///
1777 enum GL_FRAGMENT_PROGRAM_NV = 0x8870; ///
1778 enum GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; ///
1779 enum GL_FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0; ///
1780 enum GL_FRAGMENT_SHADER = 0x8B30; ///
1781 enum GL_FRAGMENT_SHADER_ARB = 0x8B30; ///
1782 enum GL_FRAGMENT_SHADER_ATI = 0x8920; ///
1783 enum GL_FRAGMENT_SHADER_BIT = 0x00000002; ///
1784 enum GL_FRAGMENT_SHADER_BIT_EXT = 0x00000002; ///
1785 enum GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; ///
1786 enum GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; ///
1787 enum GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B; ///
1788 enum GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; ///
1789 enum GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66; ///
1790 enum GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4; ///
1791 enum GL_FRAGMENT_SUBROUTINE = 0x92EC; ///
1792 enum GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2; ///
1793 enum GL_FRAGMENT_TEXTURE = 0x829F; ///
1794 enum GL_FRAMEBUFFER = 0x8D40; ///
1795 enum GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; ///
1796 enum GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3; ///
1797 enum GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; ///
1798 enum GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; ///
1799 enum GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210; ///
1800 enum GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; ///
1801 enum GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211; ///
1802 enum GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; ///
1803 enum GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; ///
1804 enum GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; ///
1805 enum GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7; ///
1806 enum GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; ///
1807 enum GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = 0x8DA7; ///
1808 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; ///
1809 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; ///
1810 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1; ///
1811 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; ///
1812 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; ///
1813 enum GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0; ///
1814 enum GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; ///
1815 enum GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; ///
1816 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; ///
1817 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4; ///
1818 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; ///
1819 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; ///
1820 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; ///
1821 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3; ///
1822 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; ///
1823 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; ///
1824 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; ///
1825 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; ///
1826 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2; ///
1827 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; ///
1828 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 0x8D6C; ///
1829 enum GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG = 0x913F; ///
1830 enum GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400; ///
1831 enum GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; ///
1832 enum GL_FRAMEBUFFER_BINDING = 0x8CA6; ///
1833 enum GL_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6; ///
1834 enum GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6; ///
1835 enum GL_FRAMEBUFFER_BINDING_OES = 0x8CA6; ///
1836 enum GL_FRAMEBUFFER_BLEND = 0x828B; ///
1837 enum GL_FRAMEBUFFER_COMPLETE = 0x8CD5; ///
1838 enum GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; ///
1839 enum GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5; ///
1840 enum GL_FRAMEBUFFER_DEFAULT = 0x8218; ///
1841 enum GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; ///
1842 enum GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; ///
1843 enum GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; ///
1844 enum GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312; ///
1845 enum GL_FRAMEBUFFER_DEFAULT_LAYERS_OES = 0x9312; ///
1846 enum GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; ///
1847 enum GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; ///
1848 enum GL_FRAMEBUFFER_EXT = 0x8D40; ///
1849 enum GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; ///
1850 enum GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; ///
1851 enum GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6; ///
1852 enum GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9; ///
1853 enum GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; ///
1854 enum GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9; ///
1855 enum GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; ///
1856 enum GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; ///
1857 enum GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB; ///
1858 enum GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; ///
1859 enum GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA; ///
1860 enum GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT = 0x9652; ///
1861 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9; ///
1862 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; ///
1863 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; ///
1864 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8; ///
1865 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; ///
1866 enum GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = 0x8DA8; ///
1867 enum GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; ///
1868 enum GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; ///
1869 enum GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7; ///
1870 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; ///
1871 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG = 0x913C; ///
1872 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 0x8D56; ///
1873 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 0x8D56; ///
1874 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; ///
1875 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 0x9134; ///
1876 enum GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 0x8D56; ///
1877 enum GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; ///
1878 enum GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; ///
1879 enum GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC; ///
1880 enum GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; ///
1881 enum GL_FRAMEBUFFER_OES = 0x8D40; ///
1882 enum GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; ///
1883 enum GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; ///
1884 enum GL_FRAMEBUFFER_RENDERABLE = 0x8289; ///
1885 enum GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A; ///
1886 enum GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; ///
1887 enum GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; ///
1888 enum GL_FRAMEBUFFER_SRGB = 0x8DB9; ///
1889 enum GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; ///
1890 enum GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9; ///
1891 enum GL_FRAMEBUFFER_UNDEFINED = 0x8219; ///
1892 enum GL_FRAMEBUFFER_UNDEFINED_OES = 0x8219; ///
1893 enum GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD; ///
1894 enum GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; ///
1895 enum GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD; ///
1896 enum GL_FRAMEZOOM_FACTOR_SGIX = 0x818C; ///
1897 enum GL_FRAMEZOOM_SGIX = 0x818B; ///
1898 enum GL_FRAME_NV = 0x8E26; ///
1899 enum GL_FRONT = 0x0404; ///
1900 enum GL_FRONT_AND_BACK = 0x0408; ///
1901 enum GL_FRONT_FACE = 0x0B46; ///
1902 enum GL_FRONT_FACE_COMMAND_NV = 0x0012; ///
1903 enum GL_FRONT_LEFT = 0x0400; ///
1904 enum GL_FRONT_RIGHT = 0x0401; ///
1905 enum GL_FULL_RANGE_EXT = 0x87E1; ///
1906 enum GL_FULL_STIPPLE_HINT_PGI = 0x1A219; ///
1907 enum GL_FULL_SUPPORT = 0x82B7; ///
1908 enum GL_FUNC_ADD = 0x8006; ///
1909 enum GL_FUNC_ADD_EXT = 0x8006; ///
1910 enum GL_FUNC_ADD_OES = 0x8006; ///
1911 enum GL_FUNC_REVERSE_SUBTRACT = 0x800B; ///
1912 enum GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B; ///
1913 enum GL_FUNC_REVERSE_SUBTRACT_OES = 0x800B; ///
1914 enum GL_FUNC_SUBTRACT = 0x800A; ///
1915 enum GL_FUNC_SUBTRACT_EXT = 0x800A; ///
1916 enum GL_FUNC_SUBTRACT_OES = 0x800A; ///
1917 enum GL_GCCSO_SHADER_BINARY_FJ = 0x9260; ///
1918 enum GL_GENERATE_MIPMAP = 0x8191; ///
1919 enum GL_GENERATE_MIPMAP_HINT = 0x8192; ///
1920 enum GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192; ///
1921 enum GL_GENERATE_MIPMAP_SGIS = 0x8191; ///
1922 enum GL_GENERIC_ATTRIB_NV = 0x8C7D; ///
1923 enum GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; ///
1924 enum GL_GEOMETRY_DEFORMATION_SGIX = 0x8194; ///
1925 enum GL_GEOMETRY_INPUT_TYPE = 0x8917; ///
1926 enum GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB; ///
1927 enum GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; ///
1928 enum GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917; ///
1929 enum GL_GEOMETRY_LINKED_INPUT_TYPE_OES = 0x8917; ///
1930 enum GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918; ///
1931 enum GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES = 0x8918; ///
1932 enum GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916; ///
1933 enum GL_GEOMETRY_LINKED_VERTICES_OUT_OES = 0x8916; ///
1934 enum GL_GEOMETRY_OUTPUT_TYPE = 0x8918; ///
1935 enum GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC; ///
1936 enum GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; ///
1937 enum GL_GEOMETRY_PROGRAM_NV = 0x8C26; ///
1938 enum GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; ///
1939 enum GL_GEOMETRY_SHADER = 0x8DD9; ///
1940 enum GL_GEOMETRY_SHADER_ARB = 0x8DD9; ///
1941 enum GL_GEOMETRY_SHADER_BIT = 0x00000004; ///
1942 enum GL_GEOMETRY_SHADER_BIT_EXT = 0x00000004; ///
1943 enum GL_GEOMETRY_SHADER_BIT_OES = 0x00000004; ///
1944 enum GL_GEOMETRY_SHADER_EXT = 0x8DD9; ///
1945 enum GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F; ///
1946 enum GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F; ///
1947 enum GL_GEOMETRY_SHADER_INVOCATIONS_OES = 0x887F; ///
1948 enum GL_GEOMETRY_SHADER_OES = 0x8DD9; ///
1949 enum GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3; ///
1950 enum GL_GEOMETRY_SUBROUTINE = 0x92EB; ///
1951 enum GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1; ///
1952 enum GL_GEOMETRY_TEXTURE = 0x829E; ///
1953 enum GL_GEOMETRY_VERTICES_OUT = 0x8916; ///
1954 enum GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA; ///
1955 enum GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; ///
1956 enum GL_GEQUAL = 0x0206; ///
1957 enum GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291; ///
1958 enum GL_GET_TEXTURE_IMAGE_TYPE = 0x8292; ///
1959 enum GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; ///
1960 enum GL_GLOBAL_ALPHA_SUN = 0x81D9; ///
1961 enum GL_GLYPH_HAS_KERNING_BIT_NV = 0x100; ///
1962 enum GL_GLYPH_HEIGHT_BIT_NV = 0x02; ///
1963 enum GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; ///
1964 enum GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; ///
1965 enum GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; ///
1966 enum GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; ///
1967 enum GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; ///
1968 enum GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; ///
1969 enum GL_GLYPH_WIDTH_BIT_NV = 0x01; ///
1970 enum GL_GPU_ADDRESS_NV = 0x8F34; ///
1971 enum GL_GPU_DISJOINT_EXT = 0x8FBB; ///
1972 enum GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; ///
1973 enum GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; ///
1974 enum GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; ///
1975 enum GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; ///
1976 enum GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; ///
1977 enum GL_GPU_OPTIMIZED_QCOM = 0x8FB2; ///
1978 enum GL_GREATER = 0x0204; ///
1979 enum GL_GREEN = 0x1904; ///
1980 enum GL_GREEN_BIAS = 0x0D19; ///
1981 enum GL_GREEN_BITS = 0x0D53; ///
1982 enum GL_GREEN_BIT_ATI = 0x00000002; ///
1983 enum GL_GREEN_INTEGER = 0x8D95; ///
1984 enum GL_GREEN_INTEGER_EXT = 0x8D95; ///
1985 enum GL_GREEN_MAX_CLAMP_INGR = 0x8565; ///
1986 enum GL_GREEN_MIN_CLAMP_INGR = 0x8561; ///
1987 enum GL_GREEN_NV = 0x1904; ///
1988 enum GL_GREEN_SCALE = 0x0D18; ///
1989 enum GL_GS_PROGRAM_BINARY_MTK = 0x9641; ///
1990 enum GL_GS_SHADER_BINARY_MTK = 0x9640; ///
1991 enum GL_GUILTY_CONTEXT_RESET = 0x8253; ///
1992 enum GL_GUILTY_CONTEXT_RESET_ARB = 0x8253; ///
1993 enum GL_GUILTY_CONTEXT_RESET_EXT = 0x8253; ///
1994 enum GL_GUILTY_CONTEXT_RESET_KHR = 0x8253; ///
1995 enum GL_HALF_APPLE = 0x140B; ///
1996 enum GL_HALF_BIAS_NEGATE_NV = 0x853B; ///
1997 enum GL_HALF_BIAS_NORMAL_NV = 0x853A; ///
1998 enum GL_HALF_BIT_ATI = 0x00000008; ///
1999 enum GL_HALF_FLOAT = 0x140B; ///
2000 enum GL_HALF_FLOAT_ARB = 0x140B; ///
2001 enum GL_HALF_FLOAT_NV = 0x140B; ///
2002 enum GL_HALF_FLOAT_OES = 0x8D61; ///
2003 enum GL_HARDLIGHT = 0x929B; ///
2004 enum GL_HARDLIGHT_KHR = 0x929B; ///
2005 enum GL_HARDLIGHT_NV = 0x929B; ///
2006 enum GL_HARDMIX_NV = 0x92A9; ///
2007 enum GL_HIGH_FLOAT = 0x8DF2; ///
2008 enum GL_HIGH_INT = 0x8DF5; ///
2009 enum GL_HILO16_NV = 0x86F8; ///
2010 enum GL_HILO8_NV = 0x885E; ///
2011 enum GL_HILO_NV = 0x86F4; ///
2012 enum GL_HINT_BIT = 0x00008000; ///
2013 enum GL_HISTOGRAM = 0x8024; ///
2014 enum GL_HISTOGRAM_ALPHA_SIZE = 0x802B; ///
2015 enum GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; ///
2016 enum GL_HISTOGRAM_BLUE_SIZE = 0x802A; ///
2017 enum GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A; ///
2018 enum GL_HISTOGRAM_EXT = 0x8024; ///
2019 enum GL_HISTOGRAM_FORMAT = 0x8027; ///
2020 enum GL_HISTOGRAM_FORMAT_EXT = 0x8027; ///
2021 enum GL_HISTOGRAM_GREEN_SIZE = 0x8029; ///
2022 enum GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029; ///
2023 enum GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C; ///
2024 enum GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; ///
2025 enum GL_HISTOGRAM_RED_SIZE = 0x8028; ///
2026 enum GL_HISTOGRAM_RED_SIZE_EXT = 0x8028; ///
2027 enum GL_HISTOGRAM_SINK = 0x802D; ///
2028 enum GL_HISTOGRAM_SINK_EXT = 0x802D; ///
2029 enum GL_HISTOGRAM_WIDTH = 0x8026; ///
2030 enum GL_HISTOGRAM_WIDTH_EXT = 0x8026; ///
2031 enum GL_HI_BIAS_NV = 0x8714; ///
2032 enum GL_HI_SCALE_NV = 0x870E; ///
2033 enum GL_HORIZONTAL_LINE_TO_NV = 0x06; ///
2034 enum GL_HSL_COLOR = 0x92AF; ///
2035 enum GL_HSL_COLOR_KHR = 0x92AF; ///
2036 enum GL_HSL_COLOR_NV = 0x92AF; ///
2037 enum GL_HSL_HUE = 0x92AD; ///
2038 enum GL_HSL_HUE_KHR = 0x92AD; ///
2039 enum GL_HSL_HUE_NV = 0x92AD; ///
2040 enum GL_HSL_LUMINOSITY = 0x92B0; ///
2041 enum GL_HSL_LUMINOSITY_KHR = 0x92B0; ///
2042 enum GL_HSL_LUMINOSITY_NV = 0x92B0; ///
2043 enum GL_HSL_SATURATION = 0x92AE; ///
2044 enum GL_HSL_SATURATION_KHR = 0x92AE; ///
2045 enum GL_HSL_SATURATION_NV = 0x92AE; ///
2046 enum GL_IDENTITY_NV = 0x862A; ///
2047 enum GL_IGNORE_BORDER_HP = 0x8150; ///
2048 enum GL_IMAGE_1D = 0x904C; ///
2049 enum GL_IMAGE_1D_ARRAY = 0x9052; ///
2050 enum GL_IMAGE_1D_ARRAY_EXT = 0x9052; ///
2051 enum GL_IMAGE_1D_EXT = 0x904C; ///
2052 enum GL_IMAGE_2D = 0x904D; ///
2053 enum GL_IMAGE_2D_ARRAY = 0x9053; ///
2054 enum GL_IMAGE_2D_ARRAY_EXT = 0x9053; ///
2055 enum GL_IMAGE_2D_EXT = 0x904D; ///
2056 enum GL_IMAGE_2D_MULTISAMPLE = 0x9055; ///
2057 enum GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056; ///
2058 enum GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; ///
2059 enum GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055; ///
2060 enum GL_IMAGE_2D_RECT = 0x904F; ///
2061 enum GL_IMAGE_2D_RECT_EXT = 0x904F; ///
2062 enum GL_IMAGE_3D = 0x904E; ///
2063 enum GL_IMAGE_3D_EXT = 0x904E; ///
2064 enum GL_IMAGE_BINDING_ACCESS = 0x8F3E; ///
2065 enum GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E; ///
2066 enum GL_IMAGE_BINDING_FORMAT = 0x906E; ///
2067 enum GL_IMAGE_BINDING_FORMAT_EXT = 0x906E; ///
2068 enum GL_IMAGE_BINDING_LAYER = 0x8F3D; ///
2069 enum GL_IMAGE_BINDING_LAYERED = 0x8F3C; ///
2070 enum GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C; ///
2071 enum GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D; ///
2072 enum GL_IMAGE_BINDING_LEVEL = 0x8F3B; ///
2073 enum GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B; ///
2074 enum GL_IMAGE_BINDING_NAME = 0x8F3A; ///
2075 enum GL_IMAGE_BINDING_NAME_EXT = 0x8F3A; ///
2076 enum GL_IMAGE_BUFFER = 0x9051; ///
2077 enum GL_IMAGE_BUFFER_EXT = 0x9051; ///
2078 enum GL_IMAGE_BUFFER_OES = 0x9051; ///
2079 enum GL_IMAGE_CLASS_10_10_10_2 = 0x82C3; ///
2080 enum GL_IMAGE_CLASS_11_11_10 = 0x82C2; ///
2081 enum GL_IMAGE_CLASS_1_X_16 = 0x82BE; ///
2082 enum GL_IMAGE_CLASS_1_X_32 = 0x82BB; ///
2083 enum GL_IMAGE_CLASS_1_X_8 = 0x82C1; ///
2084 enum GL_IMAGE_CLASS_2_X_16 = 0x82BD; ///
2085 enum GL_IMAGE_CLASS_2_X_32 = 0x82BA; ///
2086 enum GL_IMAGE_CLASS_2_X_8 = 0x82C0; ///
2087 enum GL_IMAGE_CLASS_4_X_16 = 0x82BC; ///
2088 enum GL_IMAGE_CLASS_4_X_32 = 0x82B9; ///
2089 enum GL_IMAGE_CLASS_4_X_8 = 0x82BF; ///
2090 enum GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8; ///
2091 enum GL_IMAGE_CUBE = 0x9050; ///
2092 enum GL_IMAGE_CUBE_EXT = 0x9050; ///
2093 enum GL_IMAGE_CUBE_MAP_ARRAY = 0x9054; ///
2094 enum GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; ///
2095 enum GL_IMAGE_CUBE_MAP_ARRAY_OES = 0x9054; ///
2096 enum GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E; ///
2097 enum GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; ///
2098 enum GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; ///
2099 enum GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; ///
2100 enum GL_IMAGE_MAG_FILTER_HP = 0x815C; ///
2101 enum GL_IMAGE_MIN_FILTER_HP = 0x815D; ///
2102 enum GL_IMAGE_PIXEL_FORMAT = 0x82A9; ///
2103 enum GL_IMAGE_PIXEL_TYPE = 0x82AA; ///
2104 enum GL_IMAGE_ROTATE_ANGLE_HP = 0x8159; ///
2105 enum GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; ///
2106 enum GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; ///
2107 enum GL_IMAGE_SCALE_X_HP = 0x8155; ///
2108 enum GL_IMAGE_SCALE_Y_HP = 0x8156; ///
2109 enum GL_IMAGE_TEXEL_SIZE = 0x82A7; ///
2110 enum GL_IMAGE_TRANSFORM_2D_HP = 0x8161; ///
2111 enum GL_IMAGE_TRANSLATE_X_HP = 0x8157; ///
2112 enum GL_IMAGE_TRANSLATE_Y_HP = 0x8158; ///
2113 enum GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; ///
2114 enum GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; ///
2115 enum GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; ///
2116 enum GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; ///
2117 enum GL_INCLUSIVE_EXT = 0x8F10; ///
2118 enum GL_INCR = 0x1E02; ///
2119 enum GL_INCR_WRAP = 0x8507; ///
2120 enum GL_INCR_WRAP_EXT = 0x8507; ///
2121 enum GL_INCR_WRAP_OES = 0x8507; ///
2122 enum GL_INDEX = 0x8222; ///
2123 enum GL_INDEX_ARRAY = 0x8077; ///
2124 enum GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24; ///
2125 enum GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899; ///
2126 enum GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; ///
2127 enum GL_INDEX_ARRAY_COUNT_EXT = 0x8087; ///
2128 enum GL_INDEX_ARRAY_EXT = 0x8077; ///
2129 enum GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E; ///
2130 enum GL_INDEX_ARRAY_LIST_IBM = 0x103073; ///
2131 enum GL_INDEX_ARRAY_LIST_STRIDE_IBM = 0x103083; ///
2132 enum GL_INDEX_ARRAY_POINTER = 0x8091; ///
2133 enum GL_INDEX_ARRAY_POINTER_EXT = 0x8091; ///
2134 enum GL_INDEX_ARRAY_STRIDE = 0x8086; ///
2135 enum GL_INDEX_ARRAY_STRIDE_EXT = 0x8086; ///
2136 enum GL_INDEX_ARRAY_TYPE = 0x8085; ///
2137 enum GL_INDEX_ARRAY_TYPE_EXT = 0x8085; ///
2138 enum GL_INDEX_BITS = 0x0D51; ///
2139 enum GL_INDEX_BIT_PGI = 0x00080000; ///
2140 enum GL_INDEX_CLEAR_VALUE = 0x0C20; ///
2141 enum GL_INDEX_LOGIC_OP = 0x0BF1; ///
2142 enum GL_INDEX_MATERIAL_EXT = 0x81B8; ///
2143 enum GL_INDEX_MATERIAL_FACE_EXT = 0x81BA; ///
2144 enum GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; ///
2145 enum GL_INDEX_MODE = 0x0C30; ///
2146 enum GL_INDEX_OFFSET = 0x0D13; ///
2147 enum GL_INDEX_SHIFT = 0x0D12; ///
2148 enum GL_INDEX_TEST_EXT = 0x81B5; ///
2149 enum GL_INDEX_TEST_FUNC_EXT = 0x81B6; ///
2150 enum GL_INDEX_TEST_REF_EXT = 0x81B7; ///
2151 enum GL_INDEX_WRITEMASK = 0x0C21; ///
2152 enum GL_INFO_LOG_LENGTH = 0x8B84; ///
2153 enum GL_INNOCENT_CONTEXT_RESET = 0x8254; ///
2154 enum GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254; ///
2155 enum GL_INNOCENT_CONTEXT_RESET_EXT = 0x8254; ///
2156 enum GL_INNOCENT_CONTEXT_RESET_KHR = 0x8254; ///
2157 enum GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; ///
2158 enum GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; ///
2159 enum GL_INT = 0x1404; ///
2160 enum GL_INT16_NV = 0x8FE4; ///
2161 enum GL_INT16_VEC2_NV = 0x8FE5; ///
2162 enum GL_INT16_VEC3_NV = 0x8FE6; ///
2163 enum GL_INT16_VEC4_NV = 0x8FE7; ///
2164 enum GL_INT64_ARB = 0x140E; ///
2165 enum GL_INT64_NV = 0x140E; ///
2166 enum GL_INT64_VEC2_ARB = 0x8FE9; ///
2167 enum GL_INT64_VEC2_NV = 0x8FE9; ///
2168 enum GL_INT64_VEC3_ARB = 0x8FEA; ///
2169 enum GL_INT64_VEC3_NV = 0x8FEA; ///
2170 enum GL_INT64_VEC4_ARB = 0x8FEB; ///
2171 enum GL_INT64_VEC4_NV = 0x8FEB; ///
2172 enum GL_INT8_NV = 0x8FE0; ///
2173 enum GL_INT8_VEC2_NV = 0x8FE1; ///
2174 enum GL_INT8_VEC3_NV = 0x8FE2; ///
2175 enum GL_INT8_VEC4_NV = 0x8FE3; ///
2176 enum GL_INTENSITY = 0x8049; ///
2177 enum GL_INTENSITY12 = 0x804C; ///
2178 enum GL_INTENSITY12_EXT = 0x804C; ///
2179 enum GL_INTENSITY16 = 0x804D; ///
2180 enum GL_INTENSITY16F_ARB = 0x881D; ///
2181 enum GL_INTENSITY16I_EXT = 0x8D8B; ///
2182 enum GL_INTENSITY16UI_EXT = 0x8D79; ///
2183 enum GL_INTENSITY16_EXT = 0x804D; ///
2184 enum GL_INTENSITY16_SNORM = 0x901B; ///
2185 enum GL_INTENSITY32F_ARB = 0x8817; ///
2186 enum GL_INTENSITY32I_EXT = 0x8D85; ///
2187 enum GL_INTENSITY32UI_EXT = 0x8D73; ///
2188 enum GL_INTENSITY4 = 0x804A; ///
2189 enum GL_INTENSITY4_EXT = 0x804A; ///
2190 enum GL_INTENSITY8 = 0x804B; ///
2191 enum GL_INTENSITY8I_EXT = 0x8D91; ///
2192 enum GL_INTENSITY8UI_EXT = 0x8D7F; ///
2193 enum GL_INTENSITY8_EXT = 0x804B; ///
2194 enum GL_INTENSITY8_SNORM = 0x9017; ///
2195 enum GL_INTENSITY_EXT = 0x8049; ///
2196 enum GL_INTENSITY_FLOAT16_APPLE = 0x881D; ///
2197 enum GL_INTENSITY_FLOAT16_ATI = 0x881D; ///
2198 enum GL_INTENSITY_FLOAT32_APPLE = 0x8817; ///
2199 enum GL_INTENSITY_FLOAT32_ATI = 0x8817; ///
2200 enum GL_INTENSITY_SNORM = 0x9013; ///
2201 enum GL_INTERLACE_OML = 0x8980; ///
2202 enum GL_INTERLACE_READ_INGR = 0x8568; ///
2203 enum GL_INTERLACE_READ_OML = 0x8981; ///
2204 enum GL_INTERLACE_SGIX = 0x8094; ///
2205 enum GL_INTERLEAVED_ATTRIBS = 0x8C8C; ///
2206 enum GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C; ///
2207 enum GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C; ///
2208 enum GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274; ///
2209 enum GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B; ///
2210 enum GL_INTERNALFORMAT_BLUE_SIZE = 0x8273; ///
2211 enum GL_INTERNALFORMAT_BLUE_TYPE = 0x827A; ///
2212 enum GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275; ///
2213 enum GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C; ///
2214 enum GL_INTERNALFORMAT_GREEN_SIZE = 0x8272; ///
2215 enum GL_INTERNALFORMAT_GREEN_TYPE = 0x8279; ///
2216 enum GL_INTERNALFORMAT_PREFERRED = 0x8270; ///
2217 enum GL_INTERNALFORMAT_RED_SIZE = 0x8271; ///
2218 enum GL_INTERNALFORMAT_RED_TYPE = 0x8278; ///
2219 enum GL_INTERNALFORMAT_SHARED_SIZE = 0x8277; ///
2220 enum GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276; ///
2221 enum GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D; ///
2222 enum GL_INTERNALFORMAT_SUPPORTED = 0x826F; ///
2223 enum GL_INTERPOLATE = 0x8575; ///
2224 enum GL_INTERPOLATE_ARB = 0x8575; ///
2225 enum GL_INTERPOLATE_EXT = 0x8575; ///
2226 enum GL_INT_10_10_10_2_OES = 0x8DF7; ///
2227 enum GL_INT_2_10_10_10_REV = 0x8D9F; ///
2228 enum GL_INT_IMAGE_1D = 0x9057; ///
2229 enum GL_INT_IMAGE_1D_ARRAY = 0x905D; ///
2230 enum GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D; ///
2231 enum GL_INT_IMAGE_1D_EXT = 0x9057; ///
2232 enum GL_INT_IMAGE_2D = 0x9058; ///
2233 enum GL_INT_IMAGE_2D_ARRAY = 0x905E; ///
2234 enum GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E; ///
2235 enum GL_INT_IMAGE_2D_EXT = 0x9058; ///
2236 enum GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060; ///
2237 enum GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061; ///
2238 enum GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; ///
2239 enum GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; ///
2240 enum GL_INT_IMAGE_2D_RECT = 0x905A; ///
2241 enum GL_INT_IMAGE_2D_RECT_EXT = 0x905A; ///
2242 enum GL_INT_IMAGE_3D = 0x9059; ///
2243 enum GL_INT_IMAGE_3D_EXT = 0x9059; ///
2244 enum GL_INT_IMAGE_BUFFER = 0x905C; ///
2245 enum GL_INT_IMAGE_BUFFER_EXT = 0x905C; ///
2246 enum GL_INT_IMAGE_BUFFER_OES = 0x905C; ///
2247 enum GL_INT_IMAGE_CUBE = 0x905B; ///
2248 enum GL_INT_IMAGE_CUBE_EXT = 0x905B; ///
2249 enum GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; ///
2250 enum GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; ///
2251 enum GL_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x905F; ///
2252 enum GL_INT_SAMPLER_1D = 0x8DC9; ///
2253 enum GL_INT_SAMPLER_1D_ARRAY = 0x8DCE; ///
2254 enum GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; ///
2255 enum GL_INT_SAMPLER_1D_EXT = 0x8DC9; ///
2256 enum GL_INT_SAMPLER_2D = 0x8DCA; ///
2257 enum GL_INT_SAMPLER_2D_ARRAY = 0x8DCF; ///
2258 enum GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; ///
2259 enum GL_INT_SAMPLER_2D_EXT = 0x8DCA; ///
2260 enum GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109; ///
2261 enum GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; ///
2262 enum GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C; ///
2263 enum GL_INT_SAMPLER_2D_RECT = 0x8DCD; ///
2264 enum GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD; ///
2265 enum GL_INT_SAMPLER_3D = 0x8DCB; ///
2266 enum GL_INT_SAMPLER_3D_EXT = 0x8DCB; ///
2267 enum GL_INT_SAMPLER_BUFFER = 0x8DD0; ///
2268 enum GL_INT_SAMPLER_BUFFER_AMD = 0x9002; ///
2269 enum GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0; ///
2270 enum GL_INT_SAMPLER_BUFFER_OES = 0x8DD0; ///
2271 enum GL_INT_SAMPLER_CUBE = 0x8DCC; ///
2272 enum GL_INT_SAMPLER_CUBE_EXT = 0x8DCC; ///
2273 enum GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; ///
2274 enum GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; ///
2275 enum GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E; ///
2276 enum GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900E; ///
2277 enum GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; ///
2278 enum GL_INT_VEC2 = 0x8B53; ///
2279 enum GL_INT_VEC2_ARB = 0x8B53; ///
2280 enum GL_INT_VEC3 = 0x8B54; ///
2281 enum GL_INT_VEC3_ARB = 0x8B54; ///
2282 enum GL_INT_VEC4 = 0x8B55; ///
2283 enum GL_INT_VEC4_ARB = 0x8B55; ///
2284 enum GL_INVALID_ENUM = 0x0500; ///
2285 enum GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506; ///
2286 enum GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; ///
2287 enum GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506; ///
2288 enum GL_INVALID_INDEX = 0xFFFFFFFF; ///
2289 enum GL_INVALID_OPERATION = 0x0502; ///
2290 enum GL_INVALID_VALUE = 0x0501; ///
2291 enum GL_INVARIANT_DATATYPE_EXT = 0x87EB; ///
2292 enum GL_INVARIANT_EXT = 0x87C2; ///
2293 enum GL_INVARIANT_VALUE_EXT = 0x87EA; ///
2294 enum GL_INVERSE_NV = 0x862B; ///
2295 enum GL_INVERSE_TRANSPOSE_NV = 0x862D; ///
2296 enum GL_INVERT = 0x150A; ///
2297 enum GL_INVERTED_SCREEN_W_REND = 0x8491; ///
2298 enum GL_INVERT_OVG_NV = 0x92B4; ///
2299 enum GL_INVERT_RGB_NV = 0x92A3; ///
2300 enum GL_IR_INSTRUMENT1_SGIX = 0x817F; ///
2301 enum GL_ISOLINES = 0x8E7A; ///
2302 enum GL_ISOLINES_EXT = 0x8E7A; ///
2303 enum GL_ISOLINES_OES = 0x8E7A; ///
2304 enum GL_IS_PER_PATCH = 0x92E7; ///
2305 enum GL_IS_PER_PATCH_EXT = 0x92E7; ///
2306 enum GL_IS_PER_PATCH_OES = 0x92E7; ///
2307 enum GL_IS_ROW_MAJOR = 0x9300; ///
2308 enum GL_ITALIC_BIT_NV = 0x02; ///
2309 enum GL_IUI_N3F_V2F_EXT = 0x81AF; ///
2310 enum GL_IUI_N3F_V3F_EXT = 0x81B0; ///
2311 enum GL_IUI_V2F_EXT = 0x81AD; ///
2312 enum GL_IUI_V3F_EXT = 0x81AE; ///
2313 enum GL_KEEP = 0x1E00; ///
2314 enum GL_LARGE_CCW_ARC_TO_NV = 0x16; ///
2315 enum GL_LARGE_CW_ARC_TO_NV = 0x18; ///
2316 enum GL_LAST_VERTEX_CONVENTION = 0x8E4E; ///
2317 enum GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E; ///
2318 enum GL_LAST_VERTEX_CONVENTION_OES = 0x8E4E; ///
2319 enum GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; ///
2320 enum GL_LAYER_NV = 0x8DAA; ///
2321 enum GL_LAYER_PROVOKING_VERTEX = 0x825E; ///
2322 enum GL_LAYER_PROVOKING_VERTEX_EXT = 0x825E; ///
2323 enum GL_LAYER_PROVOKING_VERTEX_OES = 0x825E; ///
2324 enum GL_LAYOUT_DEFAULT_INTEL = 0; ///
2325 enum GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; ///
2326 enum GL_LAYOUT_LINEAR_INTEL = 1; ///
2327 enum GL_LEFT = 0x0406; ///
2328 enum GL_LEQUAL = 0x0203; ///
2329 enum GL_LERP_ATI = 0x8969; ///
2330 enum GL_LESS = 0x0201; ///
2331 enum GL_LIGHT0 = 0x4000; ///
2332 enum GL_LIGHT1 = 0x4001; ///
2333 enum GL_LIGHT2 = 0x4002; ///
2334 enum GL_LIGHT3 = 0x4003; ///
2335 enum GL_LIGHT4 = 0x4004; ///
2336 enum GL_LIGHT5 = 0x4005; ///
2337 enum GL_LIGHT6 = 0x4006; ///
2338 enum GL_LIGHT7 = 0x4007; ///
2339 enum GL_LIGHTEN = 0x9298; ///
2340 enum GL_LIGHTEN_KHR = 0x9298; ///
2341 enum GL_LIGHTEN_NV = 0x9298; ///
2342 enum GL_LIGHTING = 0x0B50; ///
2343 enum GL_LIGHTING_BIT = 0x00000040; ///
2344 enum GL_LIGHT_ENV_MODE_SGIX = 0x8407; ///
2345 enum GL_LIGHT_MODEL_AMBIENT = 0x0B53; ///
2346 enum GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8; ///
2347 enum GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; ///
2348 enum GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51; ///
2349 enum GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; ///
2350 enum GL_LIGHT_MODEL_TWO_SIDE = 0x0B52; ///
2351 enum GL_LINE = 0x1B01; ///
2352 enum GL_LINEAR = 0x2601; ///
2353 enum GL_LINEARBURN_NV = 0x92A5; ///
2354 enum GL_LINEARDODGE_NV = 0x92A4; ///
2355 enum GL_LINEARLIGHT_NV = 0x92A7; ///
2356 enum GL_LINEAR_ATTENUATION = 0x1208; ///
2357 enum GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; ///
2358 enum GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; ///
2359 enum GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098; ///
2360 enum GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099; ///
2361 enum GL_LINEAR_DETAIL_SGIS = 0x8097; ///
2362 enum GL_LINEAR_MIPMAP_LINEAR = 0x2703; ///
2363 enum GL_LINEAR_MIPMAP_NEAREST = 0x2701; ///
2364 enum GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; ///
2365 enum GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; ///
2366 enum GL_LINEAR_SHARPEN_SGIS = 0x80AD; ///
2367 enum GL_LINES = 0x0001; ///
2368 enum GL_LINES_ADJACENCY = 0x000A; ///
2369 enum GL_LINES_ADJACENCY_ARB = 0x000A; ///
2370 enum GL_LINES_ADJACENCY_EXT = 0x000A; ///
2371 enum GL_LINES_ADJACENCY_OES = 0x000A; ///
2372 enum GL_LINE_BIT = 0x00000004; ///
2373 enum GL_LINE_LOOP = 0x0002; ///
2374 enum GL_LINE_NV = 0x1B01; ///
2375 enum GL_LINE_QUALITY_HINT_SGIX = 0x835B; ///
2376 enum GL_LINE_RESET_TOKEN = 0x0707; ///
2377 enum GL_LINE_SMOOTH = 0x0B20; ///
2378 enum GL_LINE_SMOOTH_HINT = 0x0C52; ///
2379 enum GL_LINE_STIPPLE = 0x0B24; ///
2380 enum GL_LINE_STIPPLE_PATTERN = 0x0B25; ///
2381 enum GL_LINE_STIPPLE_REPEAT = 0x0B26; ///
2382 enum GL_LINE_STRIP = 0x0003; ///
2383 enum GL_LINE_STRIP_ADJACENCY = 0x000B; ///
2384 enum GL_LINE_STRIP_ADJACENCY_ARB = 0x000B; ///
2385 enum GL_LINE_STRIP_ADJACENCY_EXT = 0x000B; ///
2386 enum GL_LINE_STRIP_ADJACENCY_OES = 0x000B; ///
2387 enum GL_LINE_TOKEN = 0x0702; ///
2388 enum GL_LINE_TO_NV = 0x04; ///
2389 enum GL_LINE_WIDTH = 0x0B21; ///
2390 enum GL_LINE_WIDTH_COMMAND_NV = 0x000D; ///
2391 enum GL_LINE_WIDTH_GRANULARITY = 0x0B23; ///
2392 enum GL_LINE_WIDTH_RANGE = 0x0B22; ///
2393 enum GL_LINK_STATUS = 0x8B82; ///
2394 enum GL_LIST_BASE = 0x0B32; ///
2395 enum GL_LIST_BIT = 0x00020000; ///
2396 enum GL_LIST_INDEX = 0x0B33; ///
2397 enum GL_LIST_MODE = 0x0B30; ///
2398 enum GL_LIST_PRIORITY_SGIX = 0x8182; ///
2399 enum GL_LOAD = 0x0101; ///
2400 enum GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; ///
2401 enum GL_LOCAL_CONSTANT_EXT = 0x87C3; ///
2402 enum GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC; ///
2403 enum GL_LOCAL_EXT = 0x87C4; ///
2404 enum GL_LOCATION = 0x930E; ///
2405 enum GL_LOCATION_COMPONENT = 0x934A; ///
2406 enum GL_LOCATION_INDEX = 0x930F; ///
2407 enum GL_LOCATION_INDEX_EXT = 0x930F; ///
2408 enum GL_LOGIC_OP = 0x0BF1; ///
2409 enum GL_LOGIC_OP_MODE = 0x0BF0; ///
2410 enum GL_LOSE_CONTEXT_ON_RESET = 0x8252; ///
2411 enum GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252; ///
2412 enum GL_LOSE_CONTEXT_ON_RESET_EXT = 0x8252; ///
2413 enum GL_LOSE_CONTEXT_ON_RESET_KHR = 0x8252; ///
2414 enum GL_LOWER_LEFT = 0x8CA1; ///
2415 enum GL_LOW_FLOAT = 0x8DF0; ///
2416 enum GL_LOW_INT = 0x8DF3; ///
2417 enum GL_LO_BIAS_NV = 0x8715; ///
2418 enum GL_LO_SCALE_NV = 0x870F; ///
2419 enum GL_LUMINANCE = 0x1909; ///
2420 enum GL_LUMINANCE12 = 0x8041; ///
2421 enum GL_LUMINANCE12_ALPHA12 = 0x8047; ///
2422 enum GL_LUMINANCE12_ALPHA12_EXT = 0x8047; ///
2423 enum GL_LUMINANCE12_ALPHA4 = 0x8046; ///
2424 enum GL_LUMINANCE12_ALPHA4_EXT = 0x8046; ///
2425 enum GL_LUMINANCE12_EXT = 0x8041; ///
2426 enum GL_LUMINANCE16 = 0x8042; ///
2427 enum GL_LUMINANCE16F_ARB = 0x881E; ///
2428 enum GL_LUMINANCE16F_EXT = 0x881E; ///
2429 enum GL_LUMINANCE16I_EXT = 0x8D8C; ///
2430 enum GL_LUMINANCE16UI_EXT = 0x8D7A; ///
2431 enum GL_LUMINANCE16_ALPHA16 = 0x8048; ///
2432 enum GL_LUMINANCE16_ALPHA16_EXT = 0x8048; ///
2433 enum GL_LUMINANCE16_ALPHA16_SNORM = 0x901A; ///
2434 enum GL_LUMINANCE16_EXT = 0x8042; ///
2435 enum GL_LUMINANCE16_SNORM = 0x9019; ///
2436 enum GL_LUMINANCE32F_ARB = 0x8818; ///
2437 enum GL_LUMINANCE32F_EXT = 0x8818; ///
2438 enum GL_LUMINANCE32I_EXT = 0x8D86; ///
2439 enum GL_LUMINANCE32UI_EXT = 0x8D74; ///
2440 enum GL_LUMINANCE4 = 0x803F; ///
2441 enum GL_LUMINANCE4_ALPHA4 = 0x8043; ///
2442 enum GL_LUMINANCE4_ALPHA4_EXT = 0x8043; ///
2443 enum GL_LUMINANCE4_ALPHA4_OES = 0x8043; ///
2444 enum GL_LUMINANCE4_EXT = 0x803F; ///
2445 enum GL_LUMINANCE6_ALPHA2 = 0x8044; ///
2446 enum GL_LUMINANCE6_ALPHA2_EXT = 0x8044; ///
2447 enum GL_LUMINANCE8 = 0x8040; ///
2448 enum GL_LUMINANCE8I_EXT = 0x8D92; ///
2449 enum GL_LUMINANCE8UI_EXT = 0x8D80; ///
2450 enum GL_LUMINANCE8_ALPHA8 = 0x8045; ///
2451 enum GL_LUMINANCE8_ALPHA8_EXT = 0x8045; ///
2452 enum GL_LUMINANCE8_ALPHA8_OES = 0x8045; ///
2453 enum GL_LUMINANCE8_ALPHA8_SNORM = 0x9016; ///
2454 enum GL_LUMINANCE8_EXT = 0x8040; ///
2455 enum GL_LUMINANCE8_OES = 0x8040; ///
2456 enum GL_LUMINANCE8_SNORM = 0x9015; ///
2457 enum GL_LUMINANCE_ALPHA = 0x190A; ///
2458 enum GL_LUMINANCE_ALPHA16F_ARB = 0x881F; ///
2459 enum GL_LUMINANCE_ALPHA16F_EXT = 0x881F; ///
2460 enum GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D; ///
2461 enum GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B; ///
2462 enum GL_LUMINANCE_ALPHA32F_ARB = 0x8819; ///
2463 enum GL_LUMINANCE_ALPHA32F_EXT = 0x8819; ///
2464 enum GL_LUMINANCE_ALPHA32I_EXT = 0x8D87; ///
2465 enum GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75; ///
2466 enum GL_LUMINANCE_ALPHA8I_EXT = 0x8D93; ///
2467 enum GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81; ///
2468 enum GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; ///
2469 enum GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; ///
2470 enum GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; ///
2471 enum GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; ///
2472 enum GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; ///
2473 enum GL_LUMINANCE_ALPHA_SNORM = 0x9012; ///
2474 enum GL_LUMINANCE_FLOAT16_APPLE = 0x881E; ///
2475 enum GL_LUMINANCE_FLOAT16_ATI = 0x881E; ///
2476 enum GL_LUMINANCE_FLOAT32_APPLE = 0x8818; ///
2477 enum GL_LUMINANCE_FLOAT32_ATI = 0x8818; ///
2478 enum GL_LUMINANCE_INTEGER_EXT = 0x8D9C; ///
2479 enum GL_LUMINANCE_SNORM = 0x9011; ///
2480 enum GL_MAD_ATI = 0x8968; ///
2481 enum GL_MAGNITUDE_BIAS_NV = 0x8718; ///
2482 enum GL_MAGNITUDE_SCALE_NV = 0x8712; ///
2483 enum GL_MAJOR_VERSION = 0x821B; ///
2484 enum GL_MALI_PROGRAM_BINARY_ARM = 0x8F61; ///
2485 enum GL_MALI_SHADER_BINARY_ARM = 0x8F60; ///
2486 enum GL_MANUAL_GENERATE_MIPMAP = 0x8294; ///
2487 enum GL_MAP1_BINORMAL_EXT = 0x8446; ///
2488 enum GL_MAP1_COLOR_4 = 0x0D90; ///
2489 enum GL_MAP1_GRID_DOMAIN = 0x0DD0; ///
2490 enum GL_MAP1_GRID_SEGMENTS = 0x0DD1; ///
2491 enum GL_MAP1_INDEX = 0x0D91; ///
2492 enum GL_MAP1_NORMAL = 0x0D92; ///
2493 enum GL_MAP1_TANGENT_EXT = 0x8444; ///
2494 enum GL_MAP1_TEXTURE_COORD_1 = 0x0D93; ///
2495 enum GL_MAP1_TEXTURE_COORD_2 = 0x0D94; ///
2496 enum GL_MAP1_TEXTURE_COORD_3 = 0x0D95; ///
2497 enum GL_MAP1_TEXTURE_COORD_4 = 0x0D96; ///
2498 enum GL_MAP1_VERTEX_3 = 0x0D97; ///
2499 enum GL_MAP1_VERTEX_4 = 0x0D98; ///
2500 enum GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; ///
2501 enum GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; ///
2502 enum GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; ///
2503 enum GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; ///
2504 enum GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; ///
2505 enum GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; ///
2506 enum GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; ///
2507 enum GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; ///
2508 enum GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; ///
2509 enum GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; ///
2510 enum GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; ///
2511 enum GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; ///
2512 enum GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; ///
2513 enum GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; ///
2514 enum GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; ///
2515 enum GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; ///
2516 enum GL_MAP2_BINORMAL_EXT = 0x8447; ///
2517 enum GL_MAP2_COLOR_4 = 0x0DB0; ///
2518 enum GL_MAP2_GRID_DOMAIN = 0x0DD2; ///
2519 enum GL_MAP2_GRID_SEGMENTS = 0x0DD3; ///
2520 enum GL_MAP2_INDEX = 0x0DB1; ///
2521 enum GL_MAP2_NORMAL = 0x0DB2; ///
2522 enum GL_MAP2_TANGENT_EXT = 0x8445; ///
2523 enum GL_MAP2_TEXTURE_COORD_1 = 0x0DB3; ///
2524 enum GL_MAP2_TEXTURE_COORD_2 = 0x0DB4; ///
2525 enum GL_MAP2_TEXTURE_COORD_3 = 0x0DB5; ///
2526 enum GL_MAP2_TEXTURE_COORD_4 = 0x0DB6; ///
2527 enum GL_MAP2_VERTEX_3 = 0x0DB7; ///
2528 enum GL_MAP2_VERTEX_4 = 0x0DB8; ///
2529 enum GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; ///
2530 enum GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; ///
2531 enum GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; ///
2532 enum GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; ///
2533 enum GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; ///
2534 enum GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; ///
2535 enum GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; ///
2536 enum GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; ///
2537 enum GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; ///
2538 enum GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; ///
2539 enum GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; ///
2540 enum GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; ///
2541 enum GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; ///
2542 enum GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; ///
2543 enum GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; ///
2544 enum GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; ///
2545 enum GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3; ///
2546 enum GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4; ///
2547 enum GL_MAP_COHERENT_BIT = 0x0080; ///
2548 enum GL_MAP_COHERENT_BIT_EXT = 0x0080; ///
2549 enum GL_MAP_COLOR = 0x0D10; ///
2550 enum GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010; ///
2551 enum GL_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010; ///
2552 enum GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008; ///
2553 enum GL_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008; ///
2554 enum GL_MAP_INVALIDATE_RANGE_BIT = 0x0004; ///
2555 enum GL_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004; ///
2556 enum GL_MAP_PERSISTENT_BIT = 0x0040; ///
2557 enum GL_MAP_PERSISTENT_BIT_EXT = 0x0040; ///
2558 enum GL_MAP_READ_BIT = 0x0001; ///
2559 enum GL_MAP_READ_BIT_EXT = 0x0001; ///
2560 enum GL_MAP_STENCIL = 0x0D11; ///
2561 enum GL_MAP_TESSELLATION_NV = 0x86C2; ///
2562 enum GL_MAP_UNSYNCHRONIZED_BIT = 0x0020; ///
2563 enum GL_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020; ///
2564 enum GL_MAP_WRITE_BIT = 0x0002; ///
2565 enum GL_MAP_WRITE_BIT_EXT = 0x0002; ///
2566 enum GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C; ///
2567 enum GL_MATRIX0_ARB = 0x88C0; ///
2568 enum GL_MATRIX0_NV = 0x8630; ///
2569 enum GL_MATRIX10_ARB = 0x88CA; ///
2570 enum GL_MATRIX11_ARB = 0x88CB; ///
2571 enum GL_MATRIX12_ARB = 0x88CC; ///
2572 enum GL_MATRIX13_ARB = 0x88CD; ///
2573 enum GL_MATRIX14_ARB = 0x88CE; ///
2574 enum GL_MATRIX15_ARB = 0x88CF; ///
2575 enum GL_MATRIX16_ARB = 0x88D0; ///
2576 enum GL_MATRIX17_ARB = 0x88D1; ///
2577 enum GL_MATRIX18_ARB = 0x88D2; ///
2578 enum GL_MATRIX19_ARB = 0x88D3; ///
2579 enum GL_MATRIX1_ARB = 0x88C1; ///
2580 enum GL_MATRIX1_NV = 0x8631; ///
2581 enum GL_MATRIX20_ARB = 0x88D4; ///
2582 enum GL_MATRIX21_ARB = 0x88D5; ///
2583 enum GL_MATRIX22_ARB = 0x88D6; ///
2584 enum GL_MATRIX23_ARB = 0x88D7; ///
2585 enum GL_MATRIX24_ARB = 0x88D8; ///
2586 enum GL_MATRIX25_ARB = 0x88D9; ///
2587 enum GL_MATRIX26_ARB = 0x88DA; ///
2588 enum GL_MATRIX27_ARB = 0x88DB; ///
2589 enum GL_MATRIX28_ARB = 0x88DC; ///
2590 enum GL_MATRIX29_ARB = 0x88DD; ///
2591 enum GL_MATRIX2_ARB = 0x88C2; ///
2592 enum GL_MATRIX2_NV = 0x8632; ///
2593 enum GL_MATRIX30_ARB = 0x88DE; ///
2594 enum GL_MATRIX31_ARB = 0x88DF; ///
2595 enum GL_MATRIX3_ARB = 0x88C3; ///
2596 enum GL_MATRIX3_NV = 0x8633; ///
2597 enum GL_MATRIX4_ARB = 0x88C4; ///
2598 enum GL_MATRIX4_NV = 0x8634; ///
2599 enum GL_MATRIX5_ARB = 0x88C5; ///
2600 enum GL_MATRIX5_NV = 0x8635; ///
2601 enum GL_MATRIX6_ARB = 0x88C6; ///
2602 enum GL_MATRIX6_NV = 0x8636; ///
2603 enum GL_MATRIX7_ARB = 0x88C7; ///
2604 enum GL_MATRIX7_NV = 0x8637; ///
2605 enum GL_MATRIX8_ARB = 0x88C8; ///
2606 enum GL_MATRIX9_ARB = 0x88C9; ///
2607 enum GL_MATRIX_EXT = 0x87C0; ///
2608 enum GL_MATRIX_INDEX_ARRAY_ARB = 0x8844; ///
2609 enum GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E; ///
2610 enum GL_MATRIX_INDEX_ARRAY_OES = 0x8844; ///
2611 enum GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; ///
2612 enum GL_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849; ///
2613 enum GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; ///
2614 enum GL_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846; ///
2615 enum GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; ///
2616 enum GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848; ///
2617 enum GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; ///
2618 enum GL_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847; ///
2619 enum GL_MATRIX_MODE = 0x0BA0; ///
2620 enum GL_MATRIX_PALETTE_ARB = 0x8840; ///
2621 enum GL_MATRIX_PALETTE_OES = 0x8840; ///
2622 enum GL_MATRIX_STRIDE = 0x92FF; ///
2623 enum GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; ///
2624 enum GL_MAT_AMBIENT_BIT_PGI = 0x00100000; ///
2625 enum GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; ///
2626 enum GL_MAT_DIFFUSE_BIT_PGI = 0x00400000; ///
2627 enum GL_MAT_EMISSION_BIT_PGI = 0x00800000; ///
2628 enum GL_MAT_SHININESS_BIT_PGI = 0x02000000; ///
2629 enum GL_MAT_SPECULAR_BIT_PGI = 0x04000000; ///
2630 enum GL_MAX = 0x8008; ///
2631 enum GL_MAX_3D_TEXTURE_SIZE = 0x8073; ///
2632 enum GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073; ///
2633 enum GL_MAX_3D_TEXTURE_SIZE_OES = 0x8073; ///
2634 enum GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; ///
2635 enum GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405; ///
2636 enum GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF; ///
2637 enum GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; ///
2638 enum GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; ///
2639 enum GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; ///
2640 enum GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; ///
2641 enum GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; ///
2642 enum GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; ///
2643 enum GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; ///
2644 enum GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35; ///
2645 enum GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; ///
2646 enum GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B; ///
2647 enum GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177; ///
2648 enum GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; ///
2649 enum GL_MAX_CLIP_DISTANCES = 0x0D32; ///
2650 enum GL_MAX_CLIP_DISTANCES_APPLE = 0x0D32; ///
2651 enum GL_MAX_CLIP_DISTANCES_EXT = 0x0D32; ///
2652 enum GL_MAX_CLIP_PLANES = 0x0D32; ///
2653 enum GL_MAX_CLIP_PLANES_IMG = 0x0D32; ///
2654 enum GL_MAX_COLOR_ATTACHMENTS = 0x8CDF; ///
2655 enum GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; ///
2656 enum GL_MAX_COLOR_ATTACHMENTS_NV = 0x8CDF; ///
2657 enum GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3; ///
2658 enum GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; ///
2659 enum GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E; ///
2660 enum GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; ///
2661 enum GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; ///
2662 enum GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA; ///
2663 enum GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT = 0x82FA; ///
2664 enum GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; ///
2665 enum GL_MAX_COMBINED_DIMENSIONS = 0x8282; ///
2666 enum GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33; ///
2667 enum GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; ///
2668 enum GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32; ///
2669 enum GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8A32; ///
2670 enum GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; ///
2671 enum GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39; ///
2672 enum GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; ///
2673 enum GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; ///
2674 enum GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; ///
2675 enum GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; ///
2676 enum GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E; ///
2677 enum GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E1E; ///
2678 enum GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; ///
2679 enum GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F; ///
2680 enum GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E1F; ///
2681 enum GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; ///
2682 enum GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; ///
2683 enum GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E; ///
2684 enum GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31; ///
2685 enum GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; ///
2686 enum GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; ///
2687 enum GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; ///
2688 enum GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; ///
2689 enum GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; ///
2690 enum GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; ///
2691 enum GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; ///
2692 enum GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; ///
2693 enum GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; ///
2694 enum GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; ///
2695 enum GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; ///
2696 enum GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; ///
2697 enum GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; ///
2698 enum GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; ///
2699 enum GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; ///
2700 enum GL_MAX_CONVOLUTION_HEIGHT = 0x801B; ///
2701 enum GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; ///
2702 enum GL_MAX_CONVOLUTION_WIDTH = 0x801A; ///
2703 enum GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A; ///
2704 enum GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; ///
2705 enum GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; ///
2706 enum GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; ///
2707 enum GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C; ///
2708 enum GL_MAX_CULL_DISTANCES = 0x82F9; ///
2709 enum GL_MAX_CULL_DISTANCES_EXT = 0x82F9; ///
2710 enum GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; ///
2711 enum GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C; ///
2712 enum GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144; ///
2713 enum GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; ///
2714 enum GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144; ///
2715 enum GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144; ///
2716 enum GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143; ///
2717 enum GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; ///
2718 enum GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143; ///
2719 enum GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143; ///
2720 enum GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; ///
2721 enum GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; ///
2722 enum GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197; ///
2723 enum GL_MAX_DEPTH = 0x8280; ///
2724 enum GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; ///
2725 enum GL_MAX_DRAW_BUFFERS = 0x8824; ///
2726 enum GL_MAX_DRAW_BUFFERS_ARB = 0x8824; ///
2727 enum GL_MAX_DRAW_BUFFERS_ATI = 0x8824; ///
2728 enum GL_MAX_DRAW_BUFFERS_EXT = 0x8824; ///
2729 enum GL_MAX_DRAW_BUFFERS_NV = 0x8824; ///
2730 enum GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC; ///
2731 enum GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 0x88FC; ///
2732 enum GL_MAX_ELEMENTS_INDICES = 0x80E9; ///
2733 enum GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9; ///
2734 enum GL_MAX_ELEMENTS_VERTICES = 0x80E8; ///
2735 enum GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8; ///
2736 enum GL_MAX_ELEMENT_INDEX = 0x8D6B; ///
2737 enum GL_MAX_EVAL_ORDER = 0x0D30; ///
2738 enum GL_MAX_EXT = 0x8008; ///
2739 enum GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C; ///
2740 enum GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; ///
2741 enum GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; ///
2742 enum GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; ///
2743 enum GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; ///
2744 enum GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; ///
2745 enum GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; ///
2746 enum GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; ///
2747 enum GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C; ///
2748 enum GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; ///
2749 enum GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; ///
2750 enum GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; ///
2751 enum GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D; ///
2752 enum GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49; ///
2753 enum GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; ///
2754 enum GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; ///
2755 enum GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316; ///
2756 enum GL_MAX_FRAMEBUFFER_LAYERS = 0x9317; ///
2757 enum GL_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317; ///
2758 enum GL_MAX_FRAMEBUFFER_LAYERS_OES = 0x9317; ///
2759 enum GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318; ///
2760 enum GL_MAX_FRAMEBUFFER_WIDTH = 0x9315; ///
2761 enum GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; ///
2762 enum GL_MAX_GENERAL_COMBINERS_NV = 0x854D; ///
2763 enum GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; ///
2764 enum GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5; ///
2765 enum GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = 0x92D5; ///
2766 enum GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; ///
2767 enum GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF; ///
2768 enum GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = 0x92CF; ///
2769 enum GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; ///
2770 enum GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; ///
2771 enum GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD; ///
2772 enum GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = 0x90CD; ///
2773 enum GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; ///
2774 enum GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123; ///
2775 enum GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES = 0x9123; ///
2776 enum GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; ///
2777 enum GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124; ///
2778 enum GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = 0x9124; ///
2779 enum GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; ///
2780 enum GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; ///
2781 enum GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; ///
2782 enum GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES = 0x8DE0; ///
2783 enum GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; ///
2784 enum GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; ///
2785 enum GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A; ///
2786 enum GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = 0x8E5A; ///
2787 enum GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; ///
2788 enum GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7; ///
2789 enum GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = 0x90D7; ///
2790 enum GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; ///
2791 enum GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29; ///
2792 enum GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; ///
2793 enum GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = 0x8C29; ///
2794 enum GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; ///
2795 enum GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; ///
2796 enum GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; ///
2797 enum GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = 0x8DE1; ///
2798 enum GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; ///
2799 enum GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C; ///
2800 enum GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = 0x8A2C; ///
2801 enum GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; ///
2802 enum GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; ///
2803 enum GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; ///
2804 enum GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8DDF; ///
2805 enum GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD; ///
2806 enum GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; ///
2807 enum GL_MAX_HEIGHT = 0x827F; ///
2808 enum GL_MAX_IMAGE_SAMPLES = 0x906D; ///
2809 enum GL_MAX_IMAGE_SAMPLES_EXT = 0x906D; ///
2810 enum GL_MAX_IMAGE_UNITS = 0x8F38; ///
2811 enum GL_MAX_IMAGE_UNITS_EXT = 0x8F38; ///
2812 enum GL_MAX_INTEGER_SAMPLES = 0x9110; ///
2813 enum GL_MAX_LABEL_LENGTH = 0x82E8; ///
2814 enum GL_MAX_LABEL_LENGTH_KHR = 0x82E8; ///
2815 enum GL_MAX_LAYERS = 0x8281; ///
2816 enum GL_MAX_LIGHTS = 0x0D31; ///
2817 enum GL_MAX_LIST_NESTING = 0x0B31; ///
2818 enum GL_MAX_MAP_TESSELLATION_NV = 0x86D6; ///
2819 enum GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; ///
2820 enum GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36; ///
2821 enum GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; ///
2822 enum GL_MAX_MULTIVIEW_BUFFERS_EXT = 0x90F2; ///
2823 enum GL_MAX_NAME_LENGTH = 0x92F6; ///
2824 enum GL_MAX_NAME_STACK_DEPTH = 0x0D37; ///
2825 enum GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7; ///
2826 enum GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8; ///
2827 enum GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; ///
2828 enum GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; ///
2829 enum GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; ///
2830 enum GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; ///
2831 enum GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; ///
2832 enum GL_MAX_PALETTE_MATRICES_ARB = 0x8842; ///
2833 enum GL_MAX_PALETTE_MATRICES_OES = 0x8842; ///
2834 enum GL_MAX_PATCH_VERTICES = 0x8E7D; ///
2835 enum GL_MAX_PATCH_VERTICES_EXT = 0x8E7D; ///
2836 enum GL_MAX_PATCH_VERTICES_OES = 0x8E7D; ///
2837 enum GL_MAX_PIXEL_MAP_TABLE = 0x0D34; ///
2838 enum GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; ///
2839 enum GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; ///
2840 enum GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; ///
2841 enum GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; ///
2842 enum GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; ///
2843 enum GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; ///
2844 enum GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; ///
2845 enum GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; ///
2846 enum GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; ///
2847 enum GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; ///
2848 enum GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; ///
2849 enum GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; ///
2850 enum GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; ///
2851 enum GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; ///
2852 enum GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; ///
2853 enum GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; ///
2854 enum GL_MAX_PROGRAM_MATRICES_ARB = 0x862F; ///
2855 enum GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; ///
2856 enum GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; ///
2857 enum GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; ///
2858 enum GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; ///
2859 enum GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; ///
2860 enum GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; ///
2861 enum GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; ///
2862 enum GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; ///
2863 enum GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; ///
2864 enum GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; ///
2865 enum GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; ///
2866 enum GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; ///
2867 enum GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; ///
2868 enum GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; ///
2869 enum GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; ///
2870 enum GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; ///
2871 enum GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; ///
2872 enum GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; ///
2873 enum GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905; ///
2874 enum GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; ///
2875 enum GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; ///
2876 enum GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; ///
2877 enum GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; ///
2878 enum GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; ///
2879 enum GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; ///
2880 enum GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; ///
2881 enum GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; ///
2882 enum GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; ///
2883 enum GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38; ///
2884 enum GL_MAX_RASTER_SAMPLES_EXT = 0x9329; ///
2885 enum GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; ///
2886 enum GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8; ///
2887 enum GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; ///
2888 enum GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; ///
2889 enum GL_MAX_RENDERBUFFER_SIZE = 0x84E8; ///
2890 enum GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; ///
2891 enum GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8; ///
2892 enum GL_MAX_SAMPLES = 0x8D57; ///
2893 enum GL_MAX_SAMPLES_ANGLE = 0x8D57; ///
2894 enum GL_MAX_SAMPLES_APPLE = 0x8D57; ///
2895 enum GL_MAX_SAMPLES_EXT = 0x8D57; ///
2896 enum GL_MAX_SAMPLES_IMG = 0x9135; ///
2897 enum GL_MAX_SAMPLES_NV = 0x8D57; ///
2898 enum GL_MAX_SAMPLE_MASK_WORDS = 0x8E59; ///
2899 enum GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; ///
2900 enum GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111; ///
2901 enum GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111; ///
2902 enum GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; ///
2903 enum GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT = 0x9650; ///
2904 enum GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT = 0x9651; ///
2905 enum GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; ///
2906 enum GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63; ///
2907 enum GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67; ///
2908 enum GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; ///
2909 enum GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; ///
2910 enum GL_MAX_SHININESS_NV = 0x8504; ///
2911 enum GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; ///
2912 enum GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; ///
2913 enum GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = 0x9199; ///
2914 enum GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; ///
2915 enum GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; ///
2916 enum GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = 0x919A; ///
2917 enum GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; ///
2918 enum GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; ///
2919 enum GL_MAX_SPARSE_TEXTURE_SIZE_EXT = 0x9198; ///
2920 enum GL_MAX_SPOT_EXPONENT_NV = 0x8505; ///
2921 enum GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; ///
2922 enum GL_MAX_SUBROUTINES = 0x8DE7; ///
2923 enum GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8; ///
2924 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; ///
2925 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3; ///
2926 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = 0x92D3; ///
2927 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; ///
2928 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD; ///
2929 enum GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = 0x92CD; ///
2930 enum GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; ///
2931 enum GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB; ///
2932 enum GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = 0x90CB; ///
2933 enum GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; ///
2934 enum GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C; ///
2935 enum GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = 0x886C; ///
2936 enum GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; ///
2937 enum GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83; ///
2938 enum GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = 0x8E83; ///
2939 enum GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; ///
2940 enum GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8; ///
2941 enum GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = 0x90D8; ///
2942 enum GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; ///
2943 enum GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81; ///
2944 enum GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = 0x8E81; ///
2945 enum GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; ///
2946 enum GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85; ///
2947 enum GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = 0x8E85; ///
2948 enum GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; ///
2949 enum GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89; ///
2950 enum GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = 0x8E89; ///
2951 enum GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; ///
2952 enum GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F; ///
2953 enum GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E7F; ///
2954 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; ///
2955 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4; ///
2956 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = 0x92D4; ///
2957 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; ///
2958 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE; ///
2959 enum GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = 0x92CE; ///
2960 enum GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; ///
2961 enum GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC; ///
2962 enum GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = 0x90CC; ///
2963 enum GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; ///
2964 enum GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D; ///
2965 enum GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = 0x886D; ///
2966 enum GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; ///
2967 enum GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86; ///
2968 enum GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = 0x8E86; ///
2969 enum GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; ///
2970 enum GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9; ///
2971 enum GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = 0x90D9; ///
2972 enum GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; ///
2973 enum GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82; ///
2974 enum GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = 0x8E82; ///
2975 enum GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; ///
2976 enum GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A; ///
2977 enum GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = 0x8E8A; ///
2978 enum GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; ///
2979 enum GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80; ///
2980 enum GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E80; ///
2981 enum GL_MAX_TESS_GEN_LEVEL = 0x8E7E; ///
2982 enum GL_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E; ///
2983 enum GL_MAX_TESS_GEN_LEVEL_OES = 0x8E7E; ///
2984 enum GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84; ///
2985 enum GL_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84; ///
2986 enum GL_MAX_TESS_PATCH_COMPONENTS_OES = 0x8E84; ///
2987 enum GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; ///
2988 enum GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; ///
2989 enum GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; ///
2990 enum GL_MAX_TEXTURE_BUFFER_SIZE_OES = 0x8C2B; ///
2991 enum GL_MAX_TEXTURE_COORDS = 0x8871; ///
2992 enum GL_MAX_TEXTURE_COORDS_ARB = 0x8871; ///
2993 enum GL_MAX_TEXTURE_COORDS_NV = 0x8871; ///
2994 enum GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872; ///
2995 enum GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; ///
2996 enum GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; ///
2997 enum GL_MAX_TEXTURE_LOD_BIAS = 0x84FD; ///
2998 enum GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; ///
2999 enum GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; ///
3000 enum GL_MAX_TEXTURE_SIZE = 0x0D33; ///
3001 enum GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39; ///
3002 enum GL_MAX_TEXTURE_UNITS = 0x84E2; ///
3003 enum GL_MAX_TEXTURE_UNITS_ARB = 0x84E2; ///
3004 enum GL_MAX_TRACK_MATRICES_NV = 0x862F; ///
3005 enum GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; ///
3006 enum GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70; ///
3007 enum GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A; ///
3008 enum GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; ///
3009 enum GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; ///
3010 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B; ///
3011 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; ///
3012 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; ///
3013 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80; ///
3014 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; ///
3015 enum GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; ///
3016 enum GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30; ///
3017 enum GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F; ///
3018 enum GL_MAX_UNIFORM_LOCATIONS = 0x826E; ///
3019 enum GL_MAX_VARYING_COMPONENTS = 0x8B4B; ///
3020 enum GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B; ///
3021 enum GL_MAX_VARYING_FLOATS = 0x8B4B; ///
3022 enum GL_MAX_VARYING_FLOATS_ARB = 0x8B4B; ///
3023 enum GL_MAX_VARYING_VECTORS = 0x8DFC; ///
3024 enum GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; ///
3025 enum GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; ///
3026 enum GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; ///
3027 enum GL_MAX_VERTEX_ATTRIBS = 0x8869; ///
3028 enum GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869; ///
3029 enum GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; ///
3030 enum GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; ///
3031 enum GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; ///
3032 enum GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; ///
3033 enum GL_MAX_VERTEX_HINT_PGI = 0x1A22D; ///
3034 enum GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; ///
3035 enum GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; ///
3036 enum GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; ///
3037 enum GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; ///
3038 enum GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; ///
3039 enum GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; ///
3040 enum GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; ///
3041 enum GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; ///
3042 enum GL_MAX_VERTEX_STREAMS = 0x8E71; ///
3043 enum GL_MAX_VERTEX_STREAMS_ATI = 0x876B; ///
3044 enum GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; ///
3045 enum GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; ///
3046 enum GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B; ///
3047 enum GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A; ///
3048 enum GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; ///
3049 enum GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; ///
3050 enum GL_MAX_VERTEX_UNITS_ARB = 0x86A4; ///
3051 enum GL_MAX_VERTEX_UNITS_OES = 0x86A4; ///
3052 enum GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE; ///
3053 enum GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; ///
3054 enum GL_MAX_VIEWPORTS = 0x825B; ///
3055 enum GL_MAX_VIEWPORTS_NV = 0x825B; ///
3056 enum GL_MAX_VIEWPORTS_OES = 0x825B; ///
3057 enum GL_MAX_VIEWPORT_DIMS = 0x0D3A; ///
3058 enum GL_MAX_VIEWS_OVR = 0x9631; ///
3059 enum GL_MAX_WIDTH = 0x827E; ///
3060 enum GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14; ///
3061 enum GL_MEDIUM_FLOAT = 0x8DF1; ///
3062 enum GL_MEDIUM_INT = 0x8DF4; ///
3063 enum GL_MIN = 0x8007; ///
3064 enum GL_MINMAX = 0x802E; ///
3065 enum GL_MINMAX_EXT = 0x802E; ///
3066 enum GL_MINMAX_FORMAT = 0x802F; ///
3067 enum GL_MINMAX_FORMAT_EXT = 0x802F; ///
3068 enum GL_MINMAX_SINK = 0x8030; ///
3069 enum GL_MINMAX_SINK_EXT = 0x8030; ///
3070 enum GL_MINOR_VERSION = 0x821C; ///
3071 enum GL_MINUS_CLAMPED_NV = 0x92B3; ///
3072 enum GL_MINUS_NV = 0x929F; ///
3073 enum GL_MIN_EXT = 0x8007; ///
3074 enum GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; ///
3075 enum GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; ///
3076 enum GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B; ///
3077 enum GL_MIN_LOD_WARNING_AMD = 0x919C; ///
3078 enum GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC; ///
3079 enum GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904; ///
3080 enum GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; ///
3081 enum GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; ///
3082 enum GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; ///
3083 enum GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; ///
3084 enum GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; ///
3085 enum GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37; ///
3086 enum GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; ///
3087 enum GL_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37; ///
3088 enum GL_MIN_SPARSE_LEVEL_AMD = 0x919B; ///
3089 enum GL_MIPMAP = 0x8293; ///
3090 enum GL_MIRRORED_REPEAT = 0x8370; ///
3091 enum GL_MIRRORED_REPEAT_ARB = 0x8370; ///
3092 enum GL_MIRRORED_REPEAT_IBM = 0x8370; ///
3093 enum GL_MIRRORED_REPEAT_OES = 0x8370; ///
3094 enum GL_MIRROR_CLAMP_ATI = 0x8742; ///
3095 enum GL_MIRROR_CLAMP_EXT = 0x8742; ///
3096 enum GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; ///
3097 enum GL_MIRROR_CLAMP_TO_EDGE = 0x8743; ///
3098 enum GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; ///
3099 enum GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; ///
3100 enum GL_MITER_REVERT_NV = 0x90A7; ///
3101 enum GL_MITER_TRUNCATE_NV = 0x90A8; ///
3102 enum GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; ///
3103 enum GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; ///
3104 enum GL_MODELVIEW = 0x1700; ///
3105 enum GL_MODELVIEW0_ARB = 0x1700; ///
3106 enum GL_MODELVIEW0_EXT = 0x1700; ///
3107 enum GL_MODELVIEW0_MATRIX_EXT = 0x0BA6; ///
3108 enum GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; ///
3109 enum GL_MODELVIEW10_ARB = 0x872A; ///
3110 enum GL_MODELVIEW11_ARB = 0x872B; ///
3111 enum GL_MODELVIEW12_ARB = 0x872C; ///
3112 enum GL_MODELVIEW13_ARB = 0x872D; ///
3113 enum GL_MODELVIEW14_ARB = 0x872E; ///
3114 enum GL_MODELVIEW15_ARB = 0x872F; ///
3115 enum GL_MODELVIEW16_ARB = 0x8730; ///
3116 enum GL_MODELVIEW17_ARB = 0x8731; ///
3117 enum GL_MODELVIEW18_ARB = 0x8732; ///
3118 enum GL_MODELVIEW19_ARB = 0x8733; ///
3119 enum GL_MODELVIEW1_ARB = 0x850A; ///
3120 enum GL_MODELVIEW1_EXT = 0x850A; ///
3121 enum GL_MODELVIEW1_MATRIX_EXT = 0x8506; ///
3122 enum GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502; ///
3123 enum GL_MODELVIEW20_ARB = 0x8734; ///
3124 enum GL_MODELVIEW21_ARB = 0x8735; ///
3125 enum GL_MODELVIEW22_ARB = 0x8736; ///
3126 enum GL_MODELVIEW23_ARB = 0x8737; ///
3127 enum GL_MODELVIEW24_ARB = 0x8738; ///
3128 enum GL_MODELVIEW25_ARB = 0x8739; ///
3129 enum GL_MODELVIEW26_ARB = 0x873A; ///
3130 enum GL_MODELVIEW27_ARB = 0x873B; ///
3131 enum GL_MODELVIEW28_ARB = 0x873C; ///
3132 enum GL_MODELVIEW29_ARB = 0x873D; ///
3133 enum GL_MODELVIEW2_ARB = 0x8722; ///
3134 enum GL_MODELVIEW30_ARB = 0x873E; ///
3135 enum GL_MODELVIEW31_ARB = 0x873F; ///
3136 enum GL_MODELVIEW3_ARB = 0x8723; ///
3137 enum GL_MODELVIEW4_ARB = 0x8724; ///
3138 enum GL_MODELVIEW5_ARB = 0x8725; ///
3139 enum GL_MODELVIEW6_ARB = 0x8726; ///
3140 enum GL_MODELVIEW7_ARB = 0x8727; ///
3141 enum GL_MODELVIEW8_ARB = 0x8728; ///
3142 enum GL_MODELVIEW9_ARB = 0x8729; ///
3143 enum GL_MODELVIEW_MATRIX = 0x0BA6; ///
3144 enum GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D; ///
3145 enum GL_MODELVIEW_PROJECTION_NV = 0x8629; ///
3146 enum GL_MODELVIEW_STACK_DEPTH = 0x0BA3; ///
3147 enum GL_MODULATE = 0x2100; ///
3148 enum GL_MODULATE_ADD_ATI = 0x8744; ///
3149 enum GL_MODULATE_COLOR_IMG = 0x8C04; ///
3150 enum GL_MODULATE_SIGNED_ADD_ATI = 0x8745; ///
3151 enum GL_MODULATE_SUBTRACT_ATI = 0x8746; ///
3152 enum GL_MOVE_TO_CONTINUES_NV = 0x90B6; ///
3153 enum GL_MOVE_TO_NV = 0x02; ///
3154 enum GL_MOVE_TO_RESETS_NV = 0x90B5; ///
3155 enum GL_MOV_ATI = 0x8961; ///
3156 enum GL_MULT = 0x0103; ///
3157 enum GL_MULTIPLY = 0x9294; ///
3158 enum GL_MULTIPLY_KHR = 0x9294; ///
3159 enum GL_MULTIPLY_NV = 0x9294; ///
3160 enum GL_MULTISAMPLE = 0x809D; ///
3161 enum GL_MULTISAMPLES_NV = 0x9371; ///
3162 enum GL_MULTISAMPLE_3DFX = 0x86B2; ///
3163 enum GL_MULTISAMPLE_ARB = 0x809D; ///
3164 enum GL_MULTISAMPLE_BIT = 0x20000000; ///
3165 enum GL_MULTISAMPLE_BIT_3DFX = 0x20000000; ///
3166 enum GL_MULTISAMPLE_BIT_ARB = 0x20000000; ///
3167 enum GL_MULTISAMPLE_BIT_EXT = 0x20000000; ///
3168 enum GL_MULTISAMPLE_BUFFER_BIT0_QCOM = 0x01000000; ///
3169 enum GL_MULTISAMPLE_BUFFER_BIT1_QCOM = 0x02000000; ///
3170 enum GL_MULTISAMPLE_BUFFER_BIT2_QCOM = 0x04000000; ///
3171 enum GL_MULTISAMPLE_BUFFER_BIT3_QCOM = 0x08000000; ///
3172 enum GL_MULTISAMPLE_BUFFER_BIT4_QCOM = 0x10000000; ///
3173 enum GL_MULTISAMPLE_BUFFER_BIT5_QCOM = 0x20000000; ///
3174 enum GL_MULTISAMPLE_BUFFER_BIT6_QCOM = 0x40000000; ///
3175 enum GL_MULTISAMPLE_BUFFER_BIT7_QCOM = 0x80000000; ///
3176 enum GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; ///
3177 enum GL_MULTISAMPLE_EXT = 0x809D; ///
3178 enum GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534; ///
3179 enum GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382; ///
3180 enum GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; ///
3181 enum GL_MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381; ///
3182 enum GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; ///
3183 enum GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; ///
3184 enum GL_MULTISAMPLE_SGIS = 0x809D; ///
3185 enum GL_MULTIVIEW_EXT = 0x90F1; ///
3186 enum GL_MUL_ATI = 0x8964; ///
3187 enum GL_MVP_MATRIX_EXT = 0x87E3; ///
3188 enum GL_N3F_V3F = 0x2A25; ///
3189 enum GL_NAMED_STRING_LENGTH_ARB = 0x8DE9; ///
3190 enum GL_NAMED_STRING_TYPE_ARB = 0x8DEA; ///
3191 enum GL_NAME_LENGTH = 0x92F9; ///
3192 enum GL_NAME_STACK_DEPTH = 0x0D70; ///
3193 enum GL_NAND = 0x150E; ///
3194 enum GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; ///
3195 enum GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; ///
3196 enum GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; ///
3197 enum GL_NEAREST = 0x2600; ///
3198 enum GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; ///
3199 enum GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; ///
3200 enum GL_NEAREST_MIPMAP_LINEAR = 0x2702; ///
3201 enum GL_NEAREST_MIPMAP_NEAREST = 0x2700; ///
3202 enum GL_NEGATE_BIT_ATI = 0x00000004; ///
3203 enum GL_NEGATIVE_ONE_EXT = 0x87DF; ///
3204 enum GL_NEGATIVE_ONE_TO_ONE = 0x935E; ///
3205 enum GL_NEGATIVE_W_EXT = 0x87DC; ///
3206 enum GL_NEGATIVE_X_EXT = 0x87D9; ///
3207 enum GL_NEGATIVE_Y_EXT = 0x87DA; ///
3208 enum GL_NEGATIVE_Z_EXT = 0x87DB; ///
3209 enum GL_NEVER = 0x0200; ///
3210 enum GL_NEXT_BUFFER_NV = -2; ///
3211 enum GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; ///
3212 enum GL_NICEST = 0x1102; ///
3213 enum GL_NONE = 0; ///
3214 enum GL_NONE_OES = 0; ///
3215 enum GL_NOOP = 0x1505; ///
3216 enum GL_NOP_COMMAND_NV = 0x0001; ///
3217 enum GL_NOR = 0x1508; ///
3218 enum GL_NORMALIZE = 0x0BA1; ///
3219 enum GL_NORMALIZED_RANGE_EXT = 0x87E0; ///
3220 enum GL_NORMAL_ARRAY = 0x8075; ///
3221 enum GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22; ///
3222 enum GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897; ///
3223 enum GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; ///
3224 enum GL_NORMAL_ARRAY_COUNT_EXT = 0x8080; ///
3225 enum GL_NORMAL_ARRAY_EXT = 0x8075; ///
3226 enum GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C; ///
3227 enum GL_NORMAL_ARRAY_LIST_IBM = 0x103071; ///
3228 enum GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 0x103081; ///
3229 enum GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; ///
3230 enum GL_NORMAL_ARRAY_POINTER = 0x808F; ///
3231 enum GL_NORMAL_ARRAY_POINTER_EXT = 0x808F; ///
3232 enum GL_NORMAL_ARRAY_STRIDE = 0x807F; ///
3233 enum GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F; ///
3234 enum GL_NORMAL_ARRAY_TYPE = 0x807E; ///
3235 enum GL_NORMAL_ARRAY_TYPE_EXT = 0x807E; ///
3236 enum GL_NORMAL_BIT_PGI = 0x08000000; ///
3237 enum GL_NORMAL_MAP = 0x8511; ///
3238 enum GL_NORMAL_MAP_ARB = 0x8511; ///
3239 enum GL_NORMAL_MAP_EXT = 0x8511; ///
3240 enum GL_NORMAL_MAP_NV = 0x8511; ///
3241 enum GL_NORMAL_MAP_OES = 0x8511; ///
3242 enum GL_NOTEQUAL = 0x0205; ///
3243 enum GL_NO_ERROR = 0; ///
3244 enum GL_NO_RESET_NOTIFICATION = 0x8261; ///
3245 enum GL_NO_RESET_NOTIFICATION_ARB = 0x8261; ///
3246 enum GL_NO_RESET_NOTIFICATION_EXT = 0x8261; ///
3247 enum GL_NO_RESET_NOTIFICATION_KHR = 0x8261; ///
3248 enum GL_NUM_ACTIVE_VARIABLES = 0x9304; ///
3249 enum GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A; ///
3250 enum GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; ///
3251 enum GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; ///
3252 enum GL_NUM_DOWNSAMPLE_SCALES_IMG = 0x913D; ///
3253 enum GL_NUM_EXTENSIONS = 0x821D; ///
3254 enum GL_NUM_FILL_STREAMS_NV = 0x8E29; ///
3255 enum GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; ///
3256 enum GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E; ///
3257 enum GL_NUM_GENERAL_COMBINERS_NV = 0x854E; ///
3258 enum GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; ///
3259 enum GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; ///
3260 enum GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; ///
3261 enum GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; ///
3262 enum GL_NUM_PASSES_ATI = 0x8970; ///
3263 enum GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE; ///
3264 enum GL_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE; ///
3265 enum GL_NUM_SAMPLE_COUNTS = 0x9380; ///
3266 enum GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9; ///
3267 enum GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9; ///
3268 enum GL_NUM_SPARSE_LEVELS_ARB = 0x91AA; ///
3269 enum GL_NUM_SPARSE_LEVELS_EXT = 0x91AA; ///
3270 enum GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; ///
3271 enum GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; ///
3272 enum GL_NUM_VIRTUAL_PAGE_SIZES_EXT = 0x91A8; ///
3273 enum GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15; ///
3274 enum GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; ///
3275 enum GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; ///
3276 enum GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; ///
3277 enum GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; ///
3278 enum GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; ///
3279 enum GL_OBJECT_BUFFER_SIZE_ATI = 0x8764; ///
3280 enum GL_OBJECT_BUFFER_USAGE_ATI = 0x8765; ///
3281 enum GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81; ///
3282 enum GL_OBJECT_DELETE_STATUS_ARB = 0x8B80; ///
3283 enum GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; ///
3284 enum GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; ///
3285 enum GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; ///
3286 enum GL_OBJECT_LINEAR = 0x2401; ///
3287 enum GL_OBJECT_LINEAR_NV = 0x2401; ///
3288 enum GL_OBJECT_LINE_SGIS = 0x81F7; ///
3289 enum GL_OBJECT_LINK_STATUS_ARB = 0x8B82; ///
3290 enum GL_OBJECT_PLANE = 0x2501; ///
3291 enum GL_OBJECT_POINT_SGIS = 0x81F5; ///
3292 enum GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; ///
3293 enum GL_OBJECT_SUBTYPE_ARB = 0x8B4F; ///
3294 enum GL_OBJECT_TYPE = 0x9112; ///
3295 enum GL_OBJECT_TYPE_APPLE = 0x9112; ///
3296 enum GL_OBJECT_TYPE_ARB = 0x8B4E; ///
3297 enum GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83; ///
3298 enum GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; ///
3299 enum GL_OCCLUSION_TEST_HP = 0x8165; ///
3300 enum GL_OCCLUSION_TEST_RESULT_HP = 0x8166; ///
3301 enum GL_OFFSET = 0x92FC; ///
3302 enum GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; ///
3303 enum GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; ///
3304 enum GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854; ///
3305 enum GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; ///
3306 enum GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; ///
3307 enum GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; ///
3308 enum GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; ///
3309 enum GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; ///
3310 enum GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; ///
3311 enum GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; ///
3312 enum GL_OFFSET_TEXTURE_2D_NV = 0x86E8; ///
3313 enum GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; ///
3314 enum GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3; ///
3315 enum GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1; ///
3316 enum GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; ///
3317 enum GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; ///
3318 enum GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2; ///
3319 enum GL_ONE = 1; ///
3320 enum GL_ONE_EXT = 0x87DE; ///
3321 enum GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004; ///
3322 enum GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; ///
3323 enum GL_ONE_MINUS_CONSTANT_COLOR = 0x8002; ///
3324 enum GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; ///
3325 enum GL_ONE_MINUS_DST_ALPHA = 0x0305; ///
3326 enum GL_ONE_MINUS_DST_COLOR = 0x0307; ///
3327 enum GL_ONE_MINUS_SRC1_ALPHA = 0x88FB; ///
3328 enum GL_ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB; ///
3329 enum GL_ONE_MINUS_SRC1_COLOR = 0x88FA; ///
3330 enum GL_ONE_MINUS_SRC1_COLOR_EXT = 0x88FA; ///
3331 enum GL_ONE_MINUS_SRC_ALPHA = 0x0303; ///
3332 enum GL_ONE_MINUS_SRC_COLOR = 0x0301; ///
3333 enum GL_OPERAND0_ALPHA = 0x8598; ///
3334 enum GL_OPERAND0_ALPHA_ARB = 0x8598; ///
3335 enum GL_OPERAND0_ALPHA_EXT = 0x8598; ///
3336 enum GL_OPERAND0_RGB = 0x8590; ///
3337 enum GL_OPERAND0_RGB_ARB = 0x8590; ///
3338 enum GL_OPERAND0_RGB_EXT = 0x8590; ///
3339 enum GL_OPERAND1_ALPHA = 0x8599; ///
3340 enum GL_OPERAND1_ALPHA_ARB = 0x8599; ///
3341 enum GL_OPERAND1_ALPHA_EXT = 0x8599; ///
3342 enum GL_OPERAND1_RGB = 0x8591; ///
3343 enum GL_OPERAND1_RGB_ARB = 0x8591; ///
3344 enum GL_OPERAND1_RGB_EXT = 0x8591; ///
3345 enum GL_OPERAND2_ALPHA = 0x859A; ///
3346 enum GL_OPERAND2_ALPHA_ARB = 0x859A; ///
3347 enum GL_OPERAND2_ALPHA_EXT = 0x859A; ///
3348 enum GL_OPERAND2_RGB = 0x8592; ///
3349 enum GL_OPERAND2_RGB_ARB = 0x8592; ///
3350 enum GL_OPERAND2_RGB_EXT = 0x8592; ///
3351 enum GL_OPERAND3_ALPHA_NV = 0x859B; ///
3352 enum GL_OPERAND3_RGB_NV = 0x8593; ///
3353 enum GL_OP_ADD_EXT = 0x8787; ///
3354 enum GL_OP_CLAMP_EXT = 0x878E; ///
3355 enum GL_OP_CROSS_PRODUCT_EXT = 0x8797; ///
3356 enum GL_OP_DOT3_EXT = 0x8784; ///
3357 enum GL_OP_DOT4_EXT = 0x8785; ///
3358 enum GL_OP_EXP_BASE_2_EXT = 0x8791; ///
3359 enum GL_OP_FLOOR_EXT = 0x878F; ///
3360 enum GL_OP_FRAC_EXT = 0x8789; ///
3361 enum GL_OP_INDEX_EXT = 0x8782; ///
3362 enum GL_OP_LOG_BASE_2_EXT = 0x8792; ///
3363 enum GL_OP_MADD_EXT = 0x8788; ///
3364 enum GL_OP_MAX_EXT = 0x878A; ///
3365 enum GL_OP_MIN_EXT = 0x878B; ///
3366 enum GL_OP_MOV_EXT = 0x8799; ///
3367 enum GL_OP_MULTIPLY_MATRIX_EXT = 0x8798; ///
3368 enum GL_OP_MUL_EXT = 0x8786; ///
3369 enum GL_OP_NEGATE_EXT = 0x8783; ///
3370 enum GL_OP_POWER_EXT = 0x8793; ///
3371 enum GL_OP_RECIP_EXT = 0x8794; ///
3372 enum GL_OP_RECIP_SQRT_EXT = 0x8795; ///
3373 enum GL_OP_ROUND_EXT = 0x8790; ///
3374 enum GL_OP_SET_GE_EXT = 0x878C; ///
3375 enum GL_OP_SET_LT_EXT = 0x878D; ///
3376 enum GL_OP_SUB_EXT = 0x8796; ///
3377 enum GL_OR = 0x1507; ///
3378 enum GL_ORDER = 0x0A01; ///
3379 enum GL_OR_INVERTED = 0x150D; ///
3380 enum GL_OR_REVERSE = 0x150B; ///
3381 enum GL_OUTPUT_COLOR0_EXT = 0x879B; ///
3382 enum GL_OUTPUT_COLOR1_EXT = 0x879C; ///
3383 enum GL_OUTPUT_FOG_EXT = 0x87BD; ///
3384 enum GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D; ///
3385 enum GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; ///
3386 enum GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; ///
3387 enum GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; ///
3388 enum GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; ///
3389 enum GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; ///
3390 enum GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; ///
3391 enum GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; ///
3392 enum GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; ///
3393 enum GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; ///
3394 enum GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; ///
3395 enum GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E; ///
3396 enum GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; ///
3397 enum GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; ///
3398 enum GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; ///
3399 enum GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; ///
3400 enum GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; ///
3401 enum GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; ///
3402 enum GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; ///
3403 enum GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; ///
3404 enum GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; ///
3405 enum GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; ///
3406 enum GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F; ///
3407 enum GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; ///
3408 enum GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; ///
3409 enum GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; ///
3410 enum GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; ///
3411 enum GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; ///
3412 enum GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; ///
3413 enum GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; ///
3414 enum GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; ///
3415 enum GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; ///
3416 enum GL_OUTPUT_VERTEX_EXT = 0x879A; ///
3417 enum GL_OUT_OF_MEMORY = 0x0505; ///
3418 enum GL_OVERLAY = 0x9296; ///
3419 enum GL_OVERLAY_KHR = 0x9296; ///
3420 enum GL_OVERLAY_NV = 0x9296; ///
3421 enum GL_PACK_ALIGNMENT = 0x0D05; ///
3422 enum GL_PACK_CMYK_HINT_EXT = 0x800E; ///
3423 enum GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D; ///
3424 enum GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C; ///
3425 enum GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E; ///
3426 enum GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B; ///
3427 enum GL_PACK_COMPRESSED_SIZE_SGIX = 0x831C; ///
3428 enum GL_PACK_IMAGE_DEPTH_SGIS = 0x8131; ///
3429 enum GL_PACK_IMAGE_HEIGHT = 0x806C; ///
3430 enum GL_PACK_IMAGE_HEIGHT_EXT = 0x806C; ///
3431 enum GL_PACK_INVERT_MESA = 0x8758; ///
3432 enum GL_PACK_LSB_FIRST = 0x0D01; ///
3433 enum GL_PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B; ///
3434 enum GL_PACK_RESAMPLE_OML = 0x8984; ///
3435 enum GL_PACK_RESAMPLE_SGIX = 0x842E; ///
3436 enum GL_PACK_REVERSE_ROW_ORDER_ANGLE = 0x93A4; ///
3437 enum GL_PACK_ROW_BYTES_APPLE = 0x8A15; ///
3438 enum GL_PACK_ROW_LENGTH = 0x0D02; ///
3439 enum GL_PACK_SKIP_IMAGES = 0x806B; ///
3440 enum GL_PACK_SKIP_IMAGES_EXT = 0x806B; ///
3441 enum GL_PACK_SKIP_PIXELS = 0x0D04; ///
3442 enum GL_PACK_SKIP_ROWS = 0x0D03; ///
3443 enum GL_PACK_SKIP_VOLUMES_SGIS = 0x8130; ///
3444 enum GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; ///
3445 enum GL_PACK_SWAP_BYTES = 0x0D00; ///
3446 enum GL_PALETTE4_R5_G6_B5_OES = 0x8B92; ///
3447 enum GL_PALETTE4_RGB5_A1_OES = 0x8B94; ///
3448 enum GL_PALETTE4_RGB8_OES = 0x8B90; ///
3449 enum GL_PALETTE4_RGBA4_OES = 0x8B93; ///
3450 enum GL_PALETTE4_RGBA8_OES = 0x8B91; ///
3451 enum GL_PALETTE8_R5_G6_B5_OES = 0x8B97; ///
3452 enum GL_PALETTE8_RGB5_A1_OES = 0x8B99; ///
3453 enum GL_PALETTE8_RGB8_OES = 0x8B95; ///
3454 enum GL_PALETTE8_RGBA4_OES = 0x8B98; ///
3455 enum GL_PALETTE8_RGBA8_OES = 0x8B96; ///
3456 enum GL_PARALLEL_ARRAYS_INTEL = 0x83F4; ///
3457 enum GL_PARAMETER_BUFFER_ARB = 0x80EE; ///
3458 enum GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF; ///
3459 enum GL_PARTIAL_SUCCESS_NV = 0x902E; ///
3460 enum GL_PASS_THROUGH_NV = 0x86E6; ///
3461 enum GL_PASS_THROUGH_TOKEN = 0x0700; ///
3462 enum GL_PATCHES = 0x000E; ///
3463 enum GL_PATCHES_EXT = 0x000E; ///
3464 enum GL_PATCHES_OES = 0x000E; ///
3465 enum GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73; ///
3466 enum GL_PATCH_DEFAULT_INNER_LEVEL_EXT = 0x8E73; ///
3467 enum GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74; ///
3468 enum GL_PATCH_DEFAULT_OUTER_LEVEL_EXT = 0x8E74; ///
3469 enum GL_PATCH_VERTICES = 0x8E72; ///
3470 enum GL_PATCH_VERTICES_EXT = 0x8E72; ///
3471 enum GL_PATCH_VERTICES_OES = 0x8E72; ///
3472 enum GL_PATH_CLIENT_LENGTH_NV = 0x907F; ///
3473 enum GL_PATH_COMMAND_COUNT_NV = 0x909D; ///
3474 enum GL_PATH_COMPUTED_LENGTH_NV = 0x90A0; ///
3475 enum GL_PATH_COORD_COUNT_NV = 0x909E; ///
3476 enum GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF; ///
3477 enum GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F; ///
3478 enum GL_PATH_DASH_CAPS_NV = 0x907B; ///
3479 enum GL_PATH_DASH_OFFSET_NV = 0x907E; ///
3480 enum GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4; ///
3481 enum GL_PATH_END_CAPS_NV = 0x9076; ///
3482 enum GL_PATH_ERROR_POSITION_NV = 0x90AB; ///
3483 enum GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1; ///
3484 enum GL_PATH_FILL_COVER_MODE_NV = 0x9082; ///
3485 enum GL_PATH_FILL_MASK_NV = 0x9081; ///
3486 enum GL_PATH_FILL_MODE_NV = 0x9080; ///
3487 enum GL_PATH_FOG_GEN_MODE_NV = 0x90AC; ///
3488 enum GL_PATH_FORMAT_PS_NV = 0x9071; ///
3489 enum GL_PATH_FORMAT_SVG_NV = 0x9070; ///
3490 enum GL_PATH_GEN_COEFF_NV = 0x90B1; ///
3491 enum GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2; ///
3492 enum GL_PATH_GEN_COMPONENTS_NV = 0x90B3; ///
3493 enum GL_PATH_GEN_MODE_NV = 0x90B0; ///
3494 enum GL_PATH_INITIAL_DASH_CAP_NV = 0x907C; ///
3495 enum GL_PATH_INITIAL_END_CAP_NV = 0x9077; ///
3496 enum GL_PATH_JOIN_STYLE_NV = 0x9079; ///
3497 enum GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; ///
3498 enum GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; ///
3499 enum GL_PATH_MITER_LIMIT_NV = 0x907A; ///
3500 enum GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6; ///
3501 enum GL_PATH_MODELVIEW_NV = 0x1700; ///
3502 enum GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; ///
3503 enum GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; ///
3504 enum GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7; ///
3505 enum GL_PATH_PROJECTION_NV = 0x1701; ///
3506 enum GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; ///
3507 enum GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; ///
3508 enum GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; ///
3509 enum GL_PATH_STENCIL_FUNC_NV = 0x90B7; ///
3510 enum GL_PATH_STENCIL_REF_NV = 0x90B8; ///
3511 enum GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9; ///
3512 enum GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; ///
3513 enum GL_PATH_STROKE_COVER_MODE_NV = 0x9083; ///
3514 enum GL_PATH_STROKE_MASK_NV = 0x9084; ///
3515 enum GL_PATH_STROKE_WIDTH_NV = 0x9075; ///
3516 enum GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D; ///
3517 enum GL_PATH_TERMINAL_END_CAP_NV = 0x9078; ///
3518 enum GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; ///
3519 enum GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; ///
3520 enum GL_PERCENTAGE_AMD = 0x8BC3; ///
3521 enum GL_PERFMON_GLOBAL_MODE_QCOM = 0x8FA0; ///
3522 enum GL_PERFMON_RESULT_AMD = 0x8BC6; ///
3523 enum GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; ///
3524 enum GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5; ///
3525 enum GL_PERFORMANCE_MONITOR_AMD = 0x9152; ///
3526 enum GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; ///
3527 enum GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; ///
3528 enum GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; ///
3529 enum GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; ///
3530 enum GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; ///
3531 enum GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; ///
3532 enum GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; ///
3533 enum GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; ///
3534 enum GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; ///
3535 enum GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; ///
3536 enum GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; ///
3537 enum GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; ///
3538 enum GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; ///
3539 enum GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; ///
3540 enum GL_PERFQUERY_FLUSH_INTEL = 0x83FA; ///
3541 enum GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; ///
3542 enum GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; ///
3543 enum GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; ///
3544 enum GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; ///
3545 enum GL_PERFQUERY_WAIT_INTEL = 0x83FB; ///
3546 enum GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50; ///
3547 enum GL_PERTURB_EXT = 0x85AE; ///
3548 enum GL_PER_STAGE_CONSTANTS_NV = 0x8535; ///
3549 enum GL_PHONG_HINT_WIN = 0x80EB; ///
3550 enum GL_PHONG_WIN = 0x80EA; ///
3551 enum GL_PINLIGHT_NV = 0x92A8; ///
3552 enum GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080; ///
3553 enum GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; ///
3554 enum GL_PIXEL_COUNTER_BITS_NV = 0x8864; ///
3555 enum GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867; ///
3556 enum GL_PIXEL_COUNT_NV = 0x8866; ///
3557 enum GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333; ///
3558 enum GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; ///
3559 enum GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; ///
3560 enum GL_PIXEL_GROUP_COLOR_SGIS = 0x8356; ///
3561 enum GL_PIXEL_MAG_FILTER_EXT = 0x8331; ///
3562 enum GL_PIXEL_MAP_A_TO_A = 0x0C79; ///
3563 enum GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9; ///
3564 enum GL_PIXEL_MAP_B_TO_B = 0x0C78; ///
3565 enum GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8; ///
3566 enum GL_PIXEL_MAP_G_TO_G = 0x0C77; ///
3567 enum GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7; ///
3568 enum GL_PIXEL_MAP_I_TO_A = 0x0C75; ///
3569 enum GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5; ///
3570 enum GL_PIXEL_MAP_I_TO_B = 0x0C74; ///
3571 enum GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4; ///
3572 enum GL_PIXEL_MAP_I_TO_G = 0x0C73; ///
3573 enum GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3; ///
3574 enum GL_PIXEL_MAP_I_TO_I = 0x0C70; ///
3575 enum GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0; ///
3576 enum GL_PIXEL_MAP_I_TO_R = 0x0C72; ///
3577 enum GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2; ///
3578 enum GL_PIXEL_MAP_R_TO_R = 0x0C76; ///
3579 enum GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6; ///
3580 enum GL_PIXEL_MAP_S_TO_S = 0x0C71; ///
3581 enum GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1; ///
3582 enum GL_PIXEL_MIN_FILTER_EXT = 0x8332; ///
3583 enum GL_PIXEL_MODE_BIT = 0x00000020; ///
3584 enum GL_PIXEL_PACK_BUFFER = 0x88EB; ///
3585 enum GL_PIXEL_PACK_BUFFER_ARB = 0x88EB; ///
3586 enum GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED; ///
3587 enum GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED; ///
3588 enum GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; ///
3589 enum GL_PIXEL_PACK_BUFFER_EXT = 0x88EB; ///
3590 enum GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; ///
3591 enum GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; ///
3592 enum GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; ///
3593 enum GL_PIXEL_TEXTURE_SGIS = 0x8353; ///
3594 enum GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189; ///
3595 enum GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A; ///
3596 enum GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188; ///
3597 enum GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187; ///
3598 enum GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B; ///
3599 enum GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184; ///
3600 enum GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186; ///
3601 enum GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185; ///
3602 enum GL_PIXEL_TEX_GEN_SGIX = 0x8139; ///
3603 enum GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; ///
3604 enum GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; ///
3605 enum GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; ///
3606 enum GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; ///
3607 enum GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; ///
3608 enum GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; ///
3609 enum GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141; ///
3610 enum GL_PIXEL_TILE_WIDTH_SGIX = 0x8140; ///
3611 enum GL_PIXEL_TRANSFORM_2D_EXT = 0x8330; ///
3612 enum GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; ///
3613 enum GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; ///
3614 enum GL_PIXEL_UNPACK_BUFFER = 0x88EC; ///
3615 enum GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC; ///
3616 enum GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; ///
3617 enum GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF; ///
3618 enum GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; ///
3619 enum GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC; ///
3620 enum GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2; ///
3621 enum GL_PLUS_CLAMPED_NV = 0x92B1; ///
3622 enum GL_PLUS_DARKER_NV = 0x9292; ///
3623 enum GL_PLUS_NV = 0x9291; ///
3624 enum GL_PN_TRIANGLES_ATI = 0x87F0; ///
3625 enum GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; ///
3626 enum GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; ///
3627 enum GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; ///
3628 enum GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; ///
3629 enum GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; ///
3630 enum GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; ///
3631 enum GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; ///
3632 enum GL_POINT = 0x1B00; ///
3633 enum GL_POINTS = 0x0000; ///
3634 enum GL_POINT_BIT = 0x00000002; ///
3635 enum GL_POINT_DISTANCE_ATTENUATION = 0x8129; ///
3636 enum GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129; ///
3637 enum GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; ///
3638 enum GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; ///
3639 enum GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; ///
3640 enum GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; ///
3641 enum GL_POINT_NV = 0x1B00; ///
3642 enum GL_POINT_SIZE = 0x0B11; ///
3643 enum GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F; ///
3644 enum GL_POINT_SIZE_ARRAY_OES = 0x8B9C; ///
3645 enum GL_POINT_SIZE_ARRAY_POINTER_OES = 0x898C; ///
3646 enum GL_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B; ///
3647 enum GL_POINT_SIZE_ARRAY_TYPE_OES = 0x898A; ///
3648 enum GL_POINT_SIZE_GRANULARITY = 0x0B13; ///
3649 enum GL_POINT_SIZE_MAX = 0x8127; ///
3650 enum GL_POINT_SIZE_MAX_ARB = 0x8127; ///
3651 enum GL_POINT_SIZE_MAX_EXT = 0x8127; ///
3652 enum GL_POINT_SIZE_MAX_SGIS = 0x8127; ///
3653 enum GL_POINT_SIZE_MIN = 0x8126; ///
3654 enum GL_POINT_SIZE_MIN_ARB = 0x8126; ///
3655 enum GL_POINT_SIZE_MIN_EXT = 0x8126; ///
3656 enum GL_POINT_SIZE_MIN_SGIS = 0x8126; ///
3657 enum GL_POINT_SIZE_RANGE = 0x0B12; ///
3658 enum GL_POINT_SMOOTH = 0x0B10; ///
3659 enum GL_POINT_SMOOTH_HINT = 0x0C51; ///
3660 enum GL_POINT_SPRITE = 0x8861; ///
3661 enum GL_POINT_SPRITE_ARB = 0x8861; ///
3662 enum GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0; ///
3663 enum GL_POINT_SPRITE_NV = 0x8861; ///
3664 enum GL_POINT_SPRITE_OES = 0x8861; ///
3665 enum GL_POINT_SPRITE_R_MODE_NV = 0x8863; ///
3666 enum GL_POINT_TOKEN = 0x0701; ///
3667 enum GL_POLYGON = 0x0009; ///
3668 enum GL_POLYGON_BIT = 0x00000008; ///
3669 enum GL_POLYGON_MODE = 0x0B40; ///
3670 enum GL_POLYGON_MODE_NV = 0x0B40; ///
3671 enum GL_POLYGON_OFFSET_BIAS_EXT = 0x8039; ///
3672 enum GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; ///
3673 enum GL_POLYGON_OFFSET_COMMAND_NV = 0x000E; ///
3674 enum GL_POLYGON_OFFSET_EXT = 0x8037; ///
3675 enum GL_POLYGON_OFFSET_FACTOR = 0x8038; ///
3676 enum GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038; ///
3677 enum GL_POLYGON_OFFSET_FILL = 0x8037; ///
3678 enum GL_POLYGON_OFFSET_LINE = 0x2A02; ///
3679 enum GL_POLYGON_OFFSET_LINE_NV = 0x2A02; ///
3680 enum GL_POLYGON_OFFSET_POINT = 0x2A01; ///
3681 enum GL_POLYGON_OFFSET_POINT_NV = 0x2A01; ///
3682 enum GL_POLYGON_OFFSET_UNITS = 0x2A00; ///
3683 enum GL_POLYGON_SMOOTH = 0x0B41; ///
3684 enum GL_POLYGON_SMOOTH_HINT = 0x0C53; ///
3685 enum GL_POLYGON_STIPPLE = 0x0B42; ///
3686 enum GL_POLYGON_STIPPLE_BIT = 0x00000010; ///
3687 enum GL_POLYGON_TOKEN = 0x0703; ///
3688 enum GL_POSITION = 0x1203; ///
3689 enum GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB; ///
3690 enum GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; ///
3691 enum GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7; ///
3692 enum GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; ///
3693 enum GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA; ///
3694 enum GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; ///
3695 enum GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6; ///
3696 enum GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; ///
3697 enum GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2; ///
3698 enum GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; ///
3699 enum GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9; ///
3700 enum GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; ///
3701 enum GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5; ///
3702 enum GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; ///
3703 enum GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8; ///
3704 enum GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; ///
3705 enum GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4; ///
3706 enum GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; ///
3707 enum GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023; ///
3708 enum GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; ///
3709 enum GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F; ///
3710 enum GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; ///
3711 enum GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022; ///
3712 enum GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; ///
3713 enum GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E; ///
3714 enum GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; ///
3715 enum GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1; ///
3716 enum GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; ///
3717 enum GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021; ///
3718 enum GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; ///
3719 enum GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D; ///
3720 enum GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; ///
3721 enum GL_POST_CONVOLUTION_RED_BIAS = 0x8020; ///
3722 enum GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; ///
3723 enum GL_POST_CONVOLUTION_RED_SCALE = 0x801C; ///
3724 enum GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; ///
3725 enum GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; ///
3726 enum GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; ///
3727 enum GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; ///
3728 enum GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; ///
3729 enum GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; ///
3730 enum GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; ///
3731 enum GL_PRESENT_DURATION_NV = 0x8E2B; ///
3732 enum GL_PRESENT_TIME_NV = 0x8E2A; ///
3733 enum GL_PRESERVE_ATI = 0x8762; ///
3734 enum GL_PREVIOUS = 0x8578; ///
3735 enum GL_PREVIOUS_ARB = 0x8578; ///
3736 enum GL_PREVIOUS_EXT = 0x8578; ///
3737 enum GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; ///
3738 enum GL_PRIMARY_COLOR = 0x8577; ///
3739 enum GL_PRIMARY_COLOR_ARB = 0x8577; ///
3740 enum GL_PRIMARY_COLOR_EXT = 0x8577; ///
3741 enum GL_PRIMARY_COLOR_NV = 0x852C; ///
3742 enum GL_PRIMITIVES_GENERATED = 0x8C87; ///
3743 enum GL_PRIMITIVES_GENERATED_EXT = 0x8C87; ///
3744 enum GL_PRIMITIVES_GENERATED_NV = 0x8C87; ///
3745 enum GL_PRIMITIVES_GENERATED_OES = 0x8C87; ///
3746 enum GL_PRIMITIVES_SUBMITTED_ARB = 0x82EF; ///
3747 enum GL_PRIMITIVE_BOUNDING_BOX = 0x92BE; ///
3748 enum GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; ///
3749 enum GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE; ///
3750 enum GL_PRIMITIVE_BOUNDING_BOX_OES = 0x92BE; ///
3751 enum GL_PRIMITIVE_ID_NV = 0x8C7C; ///
3752 enum GL_PRIMITIVE_RESTART = 0x8F9D; ///
3753 enum GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69; ///
3754 enum GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; ///
3755 enum GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = 0x8221; ///
3756 enum GL_PRIMITIVE_RESTART_INDEX = 0x8F9E; ///
3757 enum GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559; ///
3758 enum GL_PRIMITIVE_RESTART_NV = 0x8558; ///
3759 enum GL_PROGRAM = 0x82E2; ///
3760 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; ///
3761 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; ///
3762 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; ///
3763 enum GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; ///
3764 enum GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; ///
3765 enum GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; ///
3766 enum GL_PROGRAM_ATTRIBS_ARB = 0x88AC; ///
3767 enum GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; ///
3768 enum GL_PROGRAM_BINARY_ANGLE = 0x93A6; ///
3769 enum GL_PROGRAM_BINARY_FORMATS = 0x87FF; ///
3770 enum GL_PROGRAM_BINARY_FORMATS_OES = 0x87FF; ///
3771 enum GL_PROGRAM_BINARY_LENGTH = 0x8741; ///
3772 enum GL_PROGRAM_BINARY_LENGTH_OES = 0x8741; ///
3773 enum GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257; ///
3774 enum GL_PROGRAM_BINDING_ARB = 0x8677; ///
3775 enum GL_PROGRAM_ERROR_POSITION_ARB = 0x864B; ///
3776 enum GL_PROGRAM_ERROR_POSITION_NV = 0x864B; ///
3777 enum GL_PROGRAM_ERROR_STRING_ARB = 0x8874; ///
3778 enum GL_PROGRAM_ERROR_STRING_NV = 0x8874; ///
3779 enum GL_PROGRAM_FORMAT_ARB = 0x8876; ///
3780 enum GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875; ///
3781 enum GL_PROGRAM_INPUT = 0x92E3; ///
3782 enum GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0; ///
3783 enum GL_PROGRAM_KHR = 0x82E2; ///
3784 enum GL_PROGRAM_LENGTH_ARB = 0x8627; ///
3785 enum GL_PROGRAM_LENGTH_NV = 0x8627; ///
3786 enum GL_PROGRAM_MATRIX_EXT = 0x8E2D; ///
3787 enum GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; ///
3788 enum GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; ///
3789 enum GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; ///
3790 enum GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; ///
3791 enum GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; ///
3792 enum GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; ///
3793 enum GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; ///
3794 enum GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; ///
3795 enum GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; ///
3796 enum GL_PROGRAM_OBJECT_ARB = 0x8B40; ///
3797 enum GL_PROGRAM_OBJECT_EXT = 0x8B40; ///
3798 enum GL_PROGRAM_OUTPUT = 0x92E4; ///
3799 enum GL_PROGRAM_PARAMETERS_ARB = 0x88A8; ///
3800 enum GL_PROGRAM_PARAMETER_NV = 0x8644; ///
3801 enum GL_PROGRAM_PIPELINE = 0x82E4; ///
3802 enum GL_PROGRAM_PIPELINE_BINDING = 0x825A; ///
3803 enum GL_PROGRAM_PIPELINE_BINDING_EXT = 0x825A; ///
3804 enum GL_PROGRAM_PIPELINE_KHR = 0x82E4; ///
3805 enum GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; ///
3806 enum GL_PROGRAM_POINT_SIZE = 0x8642; ///
3807 enum GL_PROGRAM_POINT_SIZE_ARB = 0x8642; ///
3808 enum GL_PROGRAM_POINT_SIZE_EXT = 0x8642; ///
3809 enum GL_PROGRAM_RESIDENT_NV = 0x8647; ///
3810 enum GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907; ///
3811 enum GL_PROGRAM_SEPARABLE = 0x8258; ///
3812 enum GL_PROGRAM_SEPARABLE_EXT = 0x8258; ///
3813 enum GL_PROGRAM_STRING_ARB = 0x8628; ///
3814 enum GL_PROGRAM_STRING_NV = 0x8628; ///
3815 enum GL_PROGRAM_TARGET_NV = 0x8646; ///
3816 enum GL_PROGRAM_TEMPORARIES_ARB = 0x88A4; ///
3817 enum GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; ///
3818 enum GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; ///
3819 enum GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; ///
3820 enum GL_PROJECTION = 0x1701; ///
3821 enum GL_PROJECTION_MATRIX = 0x0BA7; ///
3822 enum GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E; ///
3823 enum GL_PROJECTION_STACK_DEPTH = 0x0BA4; ///
3824 enum GL_PROVOKING_VERTEX = 0x8E4F; ///
3825 enum GL_PROVOKING_VERTEX_EXT = 0x8E4F; ///
3826 enum GL_PROXY_COLOR_TABLE = 0x80D3; ///
3827 enum GL_PROXY_COLOR_TABLE_SGI = 0x80D3; ///
3828 enum GL_PROXY_HISTOGRAM = 0x8025; ///
3829 enum GL_PROXY_HISTOGRAM_EXT = 0x8025; ///
3830 enum GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5; ///
3831 enum GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; ///
3832 enum GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4; ///
3833 enum GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; ///
3834 enum GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; ///
3835 enum GL_PROXY_TEXTURE_1D = 0x8063; ///
3836 enum GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19; ///
3837 enum GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; ///
3838 enum GL_PROXY_TEXTURE_1D_EXT = 0x8063; ///
3839 enum GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; ///
3840 enum GL_PROXY_TEXTURE_2D = 0x8064; ///
3841 enum GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B; ///
3842 enum GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; ///
3843 enum GL_PROXY_TEXTURE_2D_EXT = 0x8064; ///
3844 enum GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; ///
3845 enum GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; ///
3846 enum GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; ///
3847 enum GL_PROXY_TEXTURE_3D = 0x8070; ///
3848 enum GL_PROXY_TEXTURE_3D_EXT = 0x8070; ///
3849 enum GL_PROXY_TEXTURE_4D_SGIS = 0x8135; ///
3850 enum GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; ///
3851 enum GL_PROXY_TEXTURE_CUBE_MAP = 0x851B; ///
3852 enum GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; ///
3853 enum GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B; ///
3854 enum GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; ///
3855 enum GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; ///
3856 enum GL_PROXY_TEXTURE_RECTANGLE = 0x84F7; ///
3857 enum GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; ///
3858 enum GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; ///
3859 enum GL_PURGEABLE_APPLE = 0x8A1D; ///
3860 enum GL_PURGED_CONTEXT_RESET_NV = 0x92BB; ///
3861 enum GL_Q = 0x2003; ///
3862 enum GL_QUADRATIC_ATTENUATION = 0x1209; ///
3863 enum GL_QUADRATIC_CURVE_TO_NV = 0x0A; ///
3864 enum GL_QUADS = 0x0007; ///
3865 enum GL_QUADS_EXT = 0x0007; ///
3866 enum GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; ///
3867 enum GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; ///
3868 enum GL_QUADS_OES = 0x0007; ///
3869 enum GL_QUAD_ALPHA4_SGIS = 0x811E; ///
3870 enum GL_QUAD_ALPHA8_SGIS = 0x811F; ///
3871 enum GL_QUAD_INTENSITY4_SGIS = 0x8122; ///
3872 enum GL_QUAD_INTENSITY8_SGIS = 0x8123; ///
3873 enum GL_QUAD_LUMINANCE4_SGIS = 0x8120; ///
3874 enum GL_QUAD_LUMINANCE8_SGIS = 0x8121; ///
3875 enum GL_QUAD_MESH_SUN = 0x8614; ///
3876 enum GL_QUAD_STRIP = 0x0008; ///
3877 enum GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125; ///
3878 enum GL_QUARTER_BIT_ATI = 0x00000010; ///
3879 enum GL_QUERY = 0x82E3; ///
3880 enum GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; ///
3881 enum GL_QUERY_BUFFER = 0x9192; ///
3882 enum GL_QUERY_BUFFER_AMD = 0x9192; ///
3883 enum GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000; ///
3884 enum GL_QUERY_BUFFER_BINDING = 0x9193; ///
3885 enum GL_QUERY_BUFFER_BINDING_AMD = 0x9193; ///
3886 enum GL_QUERY_BY_REGION_NO_WAIT = 0x8E16; ///
3887 enum GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A; ///
3888 enum GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; ///
3889 enum GL_QUERY_BY_REGION_WAIT = 0x8E15; ///
3890 enum GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19; ///
3891 enum GL_QUERY_BY_REGION_WAIT_NV = 0x8E15; ///
3892 enum GL_QUERY_COUNTER_BITS = 0x8864; ///
3893 enum GL_QUERY_COUNTER_BITS_ARB = 0x8864; ///
3894 enum GL_QUERY_COUNTER_BITS_EXT = 0x8864; ///
3895 enum GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; ///
3896 enum GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; ///
3897 enum GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; ///
3898 enum GL_QUERY_KHR = 0x82E3; ///
3899 enum GL_QUERY_NO_WAIT = 0x8E14; ///
3900 enum GL_QUERY_NO_WAIT_INVERTED = 0x8E18; ///
3901 enum GL_QUERY_NO_WAIT_NV = 0x8E14; ///
3902 enum GL_QUERY_OBJECT_AMD = 0x9153; ///
3903 enum GL_QUERY_OBJECT_EXT = 0x9153; ///
3904 enum GL_QUERY_RESULT = 0x8866; ///
3905 enum GL_QUERY_RESULT_ARB = 0x8866; ///
3906 enum GL_QUERY_RESULT_AVAILABLE = 0x8867; ///
3907 enum GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867; ///
3908 enum GL_QUERY_RESULT_AVAILABLE_EXT = 0x8867; ///
3909 enum GL_QUERY_RESULT_EXT = 0x8866; ///
3910 enum GL_QUERY_RESULT_NO_WAIT = 0x9194; ///
3911 enum GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194; ///
3912 enum GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; ///
3913 enum GL_QUERY_TARGET = 0x82EA; ///
3914 enum GL_QUERY_WAIT = 0x8E13; ///
3915 enum GL_QUERY_WAIT_INVERTED = 0x8E17; ///
3916 enum GL_QUERY_WAIT_NV = 0x8E13; ///
3917 enum GL_R = 0x2002; ///
3918 enum GL_R11F_G11F_B10F = 0x8C3A; ///
3919 enum GL_R11F_G11F_B10F_APPLE = 0x8C3A; ///
3920 enum GL_R11F_G11F_B10F_EXT = 0x8C3A; ///
3921 enum GL_R16 = 0x822A; ///
3922 enum GL_R16F = 0x822D; ///
3923 enum GL_R16F_EXT = 0x822D; ///
3924 enum GL_R16I = 0x8233; ///
3925 enum GL_R16UI = 0x8234; ///
3926 enum GL_R16_EXT = 0x822A; ///
3927 enum GL_R16_SNORM = 0x8F98; ///
3928 enum GL_R16_SNORM_EXT = 0x8F98; ///
3929 enum GL_R1UI_C3F_V3F_SUN = 0x85C6; ///
3930 enum GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8; ///
3931 enum GL_R1UI_C4UB_V3F_SUN = 0x85C5; ///
3932 enum GL_R1UI_N3F_V3F_SUN = 0x85C7; ///
3933 enum GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; ///
3934 enum GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA; ///
3935 enum GL_R1UI_T2F_V3F_SUN = 0x85C9; ///
3936 enum GL_R1UI_V3F_SUN = 0x85C4; ///
3937 enum GL_R32F = 0x822E; ///
3938 enum GL_R32F_EXT = 0x822E; ///
3939 enum GL_R32I = 0x8235; ///
3940 enum GL_R32UI = 0x8236; ///
3941 enum GL_R3_G3_B2 = 0x2A10; ///
3942 enum GL_R8 = 0x8229; ///
3943 enum GL_R8I = 0x8231; ///
3944 enum GL_R8UI = 0x8232; ///
3945 enum GL_R8_EXT = 0x8229; ///
3946 enum GL_R8_SNORM = 0x8F94; ///
3947 enum GL_RASTERIZER_DISCARD = 0x8C89; ///
3948 enum GL_RASTERIZER_DISCARD_EXT = 0x8C89; ///
3949 enum GL_RASTERIZER_DISCARD_NV = 0x8C89; ///
3950 enum GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; ///
3951 enum GL_RASTER_MULTISAMPLE_EXT = 0x9327; ///
3952 enum GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262; ///
3953 enum GL_RASTER_SAMPLES_EXT = 0x9328; ///
3954 enum GL_READ_BUFFER = 0x0C02; ///
3955 enum GL_READ_BUFFER_EXT = 0x0C02; ///
3956 enum GL_READ_BUFFER_NV = 0x0C02; ///
3957 enum GL_READ_FRAMEBUFFER = 0x8CA8; ///
3958 enum GL_READ_FRAMEBUFFER_ANGLE = 0x8CA8; ///
3959 enum GL_READ_FRAMEBUFFER_APPLE = 0x8CA8; ///
3960 enum GL_READ_FRAMEBUFFER_BINDING = 0x8CAA; ///
3961 enum GL_READ_FRAMEBUFFER_BINDING_ANGLE = 0x8CAA; ///
3962 enum GL_READ_FRAMEBUFFER_BINDING_APPLE = 0x8CAA; ///
3963 enum GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; ///
3964 enum GL_READ_FRAMEBUFFER_BINDING_NV = 0x8CAA; ///
3965 enum GL_READ_FRAMEBUFFER_EXT = 0x8CA8; ///
3966 enum GL_READ_FRAMEBUFFER_NV = 0x8CA8; ///
3967 enum GL_READ_ONLY = 0x88B8; ///
3968 enum GL_READ_ONLY_ARB = 0x88B8; ///
3969 enum GL_READ_PIXELS = 0x828C; ///
3970 enum GL_READ_PIXELS_FORMAT = 0x828D; ///
3971 enum GL_READ_PIXELS_TYPE = 0x828E; ///
3972 enum GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; ///
3973 enum GL_READ_PIXEL_DATA_RANGE_NV = 0x8879; ///
3974 enum GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; ///
3975 enum GL_READ_WRITE = 0x88BA; ///
3976 enum GL_READ_WRITE_ARB = 0x88BA; ///
3977 enum GL_RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05; ///
3978 enum GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; ///
3979 enum GL_RECT_NV = 0xF6; ///
3980 enum GL_RED = 0x1903; ///
3981 enum GL_REDUCE = 0x8016; ///
3982 enum GL_REDUCE_EXT = 0x8016; ///
3983 enum GL_RED_BIAS = 0x0D15; ///
3984 enum GL_RED_BITS = 0x0D52; ///
3985 enum GL_RED_BIT_ATI = 0x00000001; ///
3986 enum GL_RED_EXT = 0x1903; ///
3987 enum GL_RED_INTEGER = 0x8D94; ///
3988 enum GL_RED_INTEGER_EXT = 0x8D94; ///
3989 enum GL_RED_MAX_CLAMP_INGR = 0x8564; ///
3990 enum GL_RED_MIN_CLAMP_INGR = 0x8560; ///
3991 enum GL_RED_NV = 0x1903; ///
3992 enum GL_RED_SCALE = 0x0D14; ///
3993 enum GL_RED_SNORM = 0x8F90; ///
3994 enum GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B; ///
3995 enum GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A; ///
3996 enum GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309; ///
3997 enum GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309; ///
3998 enum GL_REFERENCED_BY_GEOMETRY_SHADER_OES = 0x9309; ///
3999 enum GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; ///
4000 enum GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307; ///
4001 enum GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES = 0x9307; ///
4002 enum GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; ///
4003 enum GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308; ///
4004 enum GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = 0x9308; ///
4005 enum GL_REFERENCED_BY_VERTEX_SHADER = 0x9306; ///
4006 enum GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E; ///
4007 enum GL_REFERENCE_PLANE_SGIX = 0x817D; ///
4008 enum GL_REFLECTION_MAP = 0x8512; ///
4009 enum GL_REFLECTION_MAP_ARB = 0x8512; ///
4010 enum GL_REFLECTION_MAP_EXT = 0x8512; ///
4011 enum GL_REFLECTION_MAP_NV = 0x8512; ///
4012 enum GL_REFLECTION_MAP_OES = 0x8512; ///
4013 enum GL_REGISTER_COMBINERS_NV = 0x8522; ///
4014 enum GL_REG_0_ATI = 0x8921; ///
4015 enum GL_REG_10_ATI = 0x892B; ///
4016 enum GL_REG_11_ATI = 0x892C; ///
4017 enum GL_REG_12_ATI = 0x892D; ///
4018 enum GL_REG_13_ATI = 0x892E; ///
4019 enum GL_REG_14_ATI = 0x892F; ///
4020 enum GL_REG_15_ATI = 0x8930; ///
4021 enum GL_REG_16_ATI = 0x8931; ///
4022 enum GL_REG_17_ATI = 0x8932; ///
4023 enum GL_REG_18_ATI = 0x8933; ///
4024 enum GL_REG_19_ATI = 0x8934; ///
4025 enum GL_REG_1_ATI = 0x8922; ///
4026 enum GL_REG_20_ATI = 0x8935; ///
4027 enum GL_REG_21_ATI = 0x8936; ///
4028 enum GL_REG_22_ATI = 0x8937; ///
4029 enum GL_REG_23_ATI = 0x8938; ///
4030 enum GL_REG_24_ATI = 0x8939; ///
4031 enum GL_REG_25_ATI = 0x893A; ///
4032 enum GL_REG_26_ATI = 0x893B; ///
4033 enum GL_REG_27_ATI = 0x893C; ///
4034 enum GL_REG_28_ATI = 0x893D; ///
4035 enum GL_REG_29_ATI = 0x893E; ///
4036 enum GL_REG_2_ATI = 0x8923; ///
4037 enum GL_REG_30_ATI = 0x893F; ///
4038 enum GL_REG_31_ATI = 0x8940; ///
4039 enum GL_REG_3_ATI = 0x8924; ///
4040 enum GL_REG_4_ATI = 0x8925; ///
4041 enum GL_REG_5_ATI = 0x8926; ///
4042 enum GL_REG_6_ATI = 0x8927; ///
4043 enum GL_REG_7_ATI = 0x8928; ///
4044 enum GL_REG_8_ATI = 0x8929; ///
4045 enum GL_REG_9_ATI = 0x892A; ///
4046 enum GL_RELATIVE_ARC_TO_NV = 0xFF; ///
4047 enum GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B; ///
4048 enum GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; ///
4049 enum GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; ///
4050 enum GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; ///
4051 enum GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; ///
4052 enum GL_RELATIVE_LINE_TO_NV = 0x05; ///
4053 enum GL_RELATIVE_MOVE_TO_NV = 0x03; ///
4054 enum GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; ///
4055 enum GL_RELATIVE_RECT_NV = 0xF7; ///
4056 enum GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB; ///
4057 enum GL_RELATIVE_ROUNDED_RECT4_NV = 0xED; ///
4058 enum GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF; ///
4059 enum GL_RELATIVE_ROUNDED_RECT_NV = 0xE9; ///
4060 enum GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; ///
4061 enum GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; ///
4062 enum GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; ///
4063 enum GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; ///
4064 enum GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09; ///
4065 enum GL_RELEASED_APPLE = 0x8A19; ///
4066 enum GL_RENDER = 0x1C00; ///
4067 enum GL_RENDERBUFFER = 0x8D41; ///
4068 enum GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53; ///
4069 enum GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; ///
4070 enum GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53; ///
4071 enum GL_RENDERBUFFER_BINDING = 0x8CA7; ///
4072 enum GL_RENDERBUFFER_BINDING_ANGLE = 0x8CA7; ///
4073 enum GL_RENDERBUFFER_BINDING_EXT = 0x8CA7; ///
4074 enum GL_RENDERBUFFER_BINDING_OES = 0x8CA7; ///
4075 enum GL_RENDERBUFFER_BLUE_SIZE = 0x8D52; ///
4076 enum GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; ///
4077 enum GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52; ///
4078 enum GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; ///
4079 enum GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; ///
4080 enum GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54; ///
4081 enum GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; ///
4082 enum GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54; ///
4083 enum GL_RENDERBUFFER_EXT = 0x8D41; ///
4084 enum GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; ///
4085 enum GL_RENDERBUFFER_GREEN_SIZE = 0x8D51; ///
4086 enum GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; ///
4087 enum GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51; ///
4088 enum GL_RENDERBUFFER_HEIGHT = 0x8D43; ///
4089 enum GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43; ///
4090 enum GL_RENDERBUFFER_HEIGHT_OES = 0x8D43; ///
4091 enum GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; ///
4092 enum GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; ///
4093 enum GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44; ///
4094 enum GL_RENDERBUFFER_OES = 0x8D41; ///
4095 enum GL_RENDERBUFFER_RED_SIZE = 0x8D50; ///
4096 enum GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50; ///
4097 enum GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50; ///
4098 enum GL_RENDERBUFFER_SAMPLES = 0x8CAB; ///
4099 enum GL_RENDERBUFFER_SAMPLES_ANGLE = 0x8CAB; ///
4100 enum GL_RENDERBUFFER_SAMPLES_APPLE = 0x8CAB; ///
4101 enum GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB; ///
4102 enum GL_RENDERBUFFER_SAMPLES_IMG = 0x9133; ///
4103 enum GL_RENDERBUFFER_SAMPLES_NV = 0x8CAB; ///
4104 enum GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; ///
4105 enum GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; ///
4106 enum GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55; ///
4107 enum GL_RENDERBUFFER_WIDTH = 0x8D42; ///
4108 enum GL_RENDERBUFFER_WIDTH_EXT = 0x8D42; ///
4109 enum GL_RENDERBUFFER_WIDTH_OES = 0x8D42; ///
4110 enum GL_RENDERER = 0x1F01; ///
4111 enum GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 0x8FB3; ///
4112 enum GL_RENDER_MODE = 0x0C40; ///
4113 enum GL_REPEAT = 0x2901; ///
4114 enum GL_REPLACE = 0x1E01; ///
4115 enum GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; ///
4116 enum GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; ///
4117 enum GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; ///
4118 enum GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; ///
4119 enum GL_REPLACEMENT_CODE_SUN = 0x81D8; ///
4120 enum GL_REPLACE_EXT = 0x8062; ///
4121 enum GL_REPLACE_MIDDLE_SUN = 0x0002; ///
4122 enum GL_REPLACE_OLDEST_SUN = 0x0003; ///
4123 enum GL_REPLACE_VALUE_AMD = 0x874B; ///
4124 enum GL_REPLICATE_BORDER = 0x8153; ///
4125 enum GL_REPLICATE_BORDER_HP = 0x8153; ///
4126 enum GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68; ///
4127 enum GL_RESAMPLE_AVERAGE_OML = 0x8988; ///
4128 enum GL_RESAMPLE_DECIMATE_OML = 0x8989; ///
4129 enum GL_RESAMPLE_DECIMATE_SGIX = 0x8430; ///
4130 enum GL_RESAMPLE_REPLICATE_OML = 0x8986; ///
4131 enum GL_RESAMPLE_REPLICATE_SGIX = 0x8433; ///
4132 enum GL_RESAMPLE_ZERO_FILL_OML = 0x8987; ///
4133 enum GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434; ///
4134 enum GL_RESCALE_NORMAL = 0x803A; ///
4135 enum GL_RESCALE_NORMAL_EXT = 0x803A; ///
4136 enum GL_RESET_NOTIFICATION_STRATEGY = 0x8256; ///
4137 enum GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; ///
4138 enum GL_RESET_NOTIFICATION_STRATEGY_EXT = 0x8256; ///
4139 enum GL_RESET_NOTIFICATION_STRATEGY_KHR = 0x8256; ///
4140 enum GL_RESTART_PATH_NV = 0xF0; ///
4141 enum GL_RESTART_SUN = 0x0001; ///
4142 enum GL_RETAINED_APPLE = 0x8A1B; ///
4143 enum GL_RETURN = 0x0102; ///
4144 enum GL_RG = 0x8227; ///
4145 enum GL_RG16 = 0x822C; ///
4146 enum GL_RG16F = 0x822F; ///
4147 enum GL_RG16F_EXT = 0x822F; ///
4148 enum GL_RG16I = 0x8239; ///
4149 enum GL_RG16UI = 0x823A; ///
4150 enum GL_RG16_EXT = 0x822C; ///
4151 enum GL_RG16_SNORM = 0x8F99; ///
4152 enum GL_RG16_SNORM_EXT = 0x8F99; ///
4153 enum GL_RG32F = 0x8230; ///
4154 enum GL_RG32F_EXT = 0x8230; ///
4155 enum GL_RG32I = 0x823B; ///
4156 enum GL_RG32UI = 0x823C; ///
4157 enum GL_RG8 = 0x822B; ///
4158 enum GL_RG8I = 0x8237; ///
4159 enum GL_RG8UI = 0x8238; ///
4160 enum GL_RG8_EXT = 0x822B; ///
4161 enum GL_RG8_SNORM = 0x8F95; ///
4162 enum GL_RGB = 0x1907; ///
4163 enum GL_RGB10 = 0x8052; ///
4164 enum GL_RGB10_A2 = 0x8059; ///
4165 enum GL_RGB10_A2UI = 0x906F; ///
4166 enum GL_RGB10_A2_EXT = 0x8059; ///
4167 enum GL_RGB10_EXT = 0x8052; ///
4168 enum GL_RGB12 = 0x8053; ///
4169 enum GL_RGB12_EXT = 0x8053; ///
4170 enum GL_RGB16 = 0x8054; ///
4171 enum GL_RGB16F = 0x881B; ///
4172 enum GL_RGB16F_ARB = 0x881B; ///
4173 enum GL_RGB16F_EXT = 0x881B; ///
4174 enum GL_RGB16I = 0x8D89; ///
4175 enum GL_RGB16I_EXT = 0x8D89; ///
4176 enum GL_RGB16UI = 0x8D77; ///
4177 enum GL_RGB16UI_EXT = 0x8D77; ///
4178 enum GL_RGB16_EXT = 0x8054; ///
4179 enum GL_RGB16_SNORM = 0x8F9A; ///
4180 enum GL_RGB16_SNORM_EXT = 0x8F9A; ///
4181 enum GL_RGB2_EXT = 0x804E; ///
4182 enum GL_RGB32F = 0x8815; ///
4183 enum GL_RGB32F_ARB = 0x8815; ///
4184 enum GL_RGB32F_EXT = 0x8815; ///
4185 enum GL_RGB32I = 0x8D83; ///
4186 enum GL_RGB32I_EXT = 0x8D83; ///
4187 enum GL_RGB32UI = 0x8D71; ///
4188 enum GL_RGB32UI_EXT = 0x8D71; ///
4189 enum GL_RGB4 = 0x804F; ///
4190 enum GL_RGB4_EXT = 0x804F; ///
4191 enum GL_RGB4_S3TC = 0x83A1; ///
4192 enum GL_RGB5 = 0x8050; ///
4193 enum GL_RGB565 = 0x8D62; ///
4194 enum GL_RGB565_OES = 0x8D62; ///
4195 enum GL_RGB5_A1 = 0x8057; ///
4196 enum GL_RGB5_A1_EXT = 0x8057; ///
4197 enum GL_RGB5_A1_OES = 0x8057; ///
4198 enum GL_RGB5_EXT = 0x8050; ///
4199 enum GL_RGB8 = 0x8051; ///
4200 enum GL_RGB8I = 0x8D8F; ///
4201 enum GL_RGB8I_EXT = 0x8D8F; ///
4202 enum GL_RGB8UI = 0x8D7D; ///
4203 enum GL_RGB8UI_EXT = 0x8D7D; ///
4204 enum GL_RGB8_EXT = 0x8051; ///
4205 enum GL_RGB8_OES = 0x8051; ///
4206 enum GL_RGB8_SNORM = 0x8F96; ///
4207 enum GL_RGB9_E5 = 0x8C3D; ///
4208 enum GL_RGB9_E5_APPLE = 0x8C3D; ///
4209 enum GL_RGB9_E5_EXT = 0x8C3D; ///
4210 enum GL_RGBA = 0x1908; ///
4211 enum GL_RGBA12 = 0x805A; ///
4212 enum GL_RGBA12_EXT = 0x805A; ///
4213 enum GL_RGBA16 = 0x805B; ///
4214 enum GL_RGBA16F = 0x881A; ///
4215 enum GL_RGBA16F_ARB = 0x881A; ///
4216 enum GL_RGBA16F_EXT = 0x881A; ///
4217 enum GL_RGBA16I = 0x8D88; ///
4218 enum GL_RGBA16I_EXT = 0x8D88; ///
4219 enum GL_RGBA16UI = 0x8D76; ///
4220 enum GL_RGBA16UI_EXT = 0x8D76; ///
4221 enum GL_RGBA16_EXT = 0x805B; ///
4222 enum GL_RGBA16_SNORM = 0x8F9B; ///
4223 enum GL_RGBA16_SNORM_EXT = 0x8F9B; ///
4224 enum GL_RGBA2 = 0x8055; ///
4225 enum GL_RGBA2_EXT = 0x8055; ///
4226 enum GL_RGBA32F = 0x8814; ///
4227 enum GL_RGBA32F_ARB = 0x8814; ///
4228 enum GL_RGBA32F_EXT = 0x8814; ///
4229 enum GL_RGBA32I = 0x8D82; ///
4230 enum GL_RGBA32I_EXT = 0x8D82; ///
4231 enum GL_RGBA32UI = 0x8D70; ///
4232 enum GL_RGBA32UI_EXT = 0x8D70; ///
4233 enum GL_RGBA4 = 0x8056; ///
4234 enum GL_RGBA4_DXT5_S3TC = 0x83A5; ///
4235 enum GL_RGBA4_EXT = 0x8056; ///
4236 enum GL_RGBA4_OES = 0x8056; ///
4237 enum GL_RGBA4_S3TC = 0x83A3; ///
4238 enum GL_RGBA8 = 0x8058; ///
4239 enum GL_RGBA8I = 0x8D8E; ///
4240 enum GL_RGBA8I_EXT = 0x8D8E; ///
4241 enum GL_RGBA8UI = 0x8D7C; ///
4242 enum GL_RGBA8UI_EXT = 0x8D7C; ///
4243 enum GL_RGBA8_EXT = 0x8058; ///
4244 enum GL_RGBA8_OES = 0x8058; ///
4245 enum GL_RGBA8_SNORM = 0x8F97; ///
4246 enum GL_RGBA_DXT5_S3TC = 0x83A4; ///
4247 enum GL_RGBA_FLOAT16_APPLE = 0x881A; ///
4248 enum GL_RGBA_FLOAT16_ATI = 0x881A; ///
4249 enum GL_RGBA_FLOAT32_APPLE = 0x8814; ///
4250 enum GL_RGBA_FLOAT32_ATI = 0x8814; ///
4251 enum GL_RGBA_FLOAT_MODE_ARB = 0x8820; ///
4252 enum GL_RGBA_FLOAT_MODE_ATI = 0x8820; ///
4253 enum GL_RGBA_INTEGER = 0x8D99; ///
4254 enum GL_RGBA_INTEGER_EXT = 0x8D99; ///
4255 enum GL_RGBA_INTEGER_MODE_EXT = 0x8D9E; ///
4256 enum GL_RGBA_MODE = 0x0C31; ///
4257 enum GL_RGBA_S3TC = 0x83A2; ///
4258 enum GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; ///
4259 enum GL_RGBA_SNORM = 0x8F93; ///
4260 enum GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; ///
4261 enum GL_RGB_422_APPLE = 0x8A1F; ///
4262 enum GL_RGB_FLOAT16_APPLE = 0x881B; ///
4263 enum GL_RGB_FLOAT16_ATI = 0x881B; ///
4264 enum GL_RGB_FLOAT32_APPLE = 0x8815; ///
4265 enum GL_RGB_FLOAT32_ATI = 0x8815; ///
4266 enum GL_RGB_INTEGER = 0x8D98; ///
4267 enum GL_RGB_INTEGER_EXT = 0x8D98; ///
4268 enum GL_RGB_RAW_422_APPLE = 0x8A51; ///
4269 enum GL_RGB_S3TC = 0x83A0; ///
4270 enum GL_RGB_SCALE = 0x8573; ///
4271 enum GL_RGB_SCALE_ARB = 0x8573; ///
4272 enum GL_RGB_SCALE_EXT = 0x8573; ///
4273 enum GL_RGB_SNORM = 0x8F92; ///
4274 enum GL_RG_EXT = 0x8227; ///
4275 enum GL_RG_INTEGER = 0x8228; ///
4276 enum GL_RG_SNORM = 0x8F91; ///
4277 enum GL_RIGHT = 0x0407; ///
4278 enum GL_ROUNDED_RECT2_NV = 0xEA; ///
4279 enum GL_ROUNDED_RECT4_NV = 0xEC; ///
4280 enum GL_ROUNDED_RECT8_NV = 0xEE; ///
4281 enum GL_ROUNDED_RECT_NV = 0xE8; ///
4282 enum GL_ROUND_NV = 0x90A4; ///
4283 enum GL_S = 0x2000; ///
4284 enum GL_SAMPLER = 0x82E6; ///
4285 enum GL_SAMPLER_1D = 0x8B5D; ///
4286 enum GL_SAMPLER_1D_ARB = 0x8B5D; ///
4287 enum GL_SAMPLER_1D_ARRAY = 0x8DC0; ///
4288 enum GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0; ///
4289 enum GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3; ///
4290 enum GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; ///
4291 enum GL_SAMPLER_1D_SHADOW = 0x8B61; ///
4292 enum GL_SAMPLER_1D_SHADOW_ARB = 0x8B61; ///
4293 enum GL_SAMPLER_2D = 0x8B5E; ///
4294 enum GL_SAMPLER_2D_ARB = 0x8B5E; ///
4295 enum GL_SAMPLER_2D_ARRAY = 0x8DC1; ///
4296 enum GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1; ///
4297 enum GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4; ///
4298 enum GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; ///
4299 enum GL_SAMPLER_2D_ARRAY_SHADOW_NV = 0x8DC4; ///
4300 enum GL_SAMPLER_2D_MULTISAMPLE = 0x9108; ///
4301 enum GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; ///
4302 enum GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B; ///
4303 enum GL_SAMPLER_2D_RECT = 0x8B63; ///
4304 enum GL_SAMPLER_2D_RECT_ARB = 0x8B63; ///
4305 enum GL_SAMPLER_2D_RECT_SHADOW = 0x8B64; ///
4306 enum GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; ///
4307 enum GL_SAMPLER_2D_SHADOW = 0x8B62; ///
4308 enum GL_SAMPLER_2D_SHADOW_ARB = 0x8B62; ///
4309 enum GL_SAMPLER_2D_SHADOW_EXT = 0x8B62; ///
4310 enum GL_SAMPLER_3D = 0x8B5F; ///
4311 enum GL_SAMPLER_3D_ARB = 0x8B5F; ///
4312 enum GL_SAMPLER_3D_OES = 0x8B5F; ///
4313 enum GL_SAMPLER_BINDING = 0x8919; ///
4314 enum GL_SAMPLER_BUFFER = 0x8DC2; ///
4315 enum GL_SAMPLER_BUFFER_AMD = 0x9001; ///
4316 enum GL_SAMPLER_BUFFER_EXT = 0x8DC2; ///
4317 enum GL_SAMPLER_BUFFER_OES = 0x8DC2; ///
4318 enum GL_SAMPLER_CUBE = 0x8B60; ///
4319 enum GL_SAMPLER_CUBE_ARB = 0x8B60; ///
4320 enum GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C; ///
4321 enum GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; ///
4322 enum GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C; ///
4323 enum GL_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900C; ///
4324 enum GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; ///
4325 enum GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; ///
4326 enum GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D; ///
4327 enum GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 0x900D; ///
4328 enum GL_SAMPLER_CUBE_SHADOW = 0x8DC5; ///
4329 enum GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; ///
4330 enum GL_SAMPLER_CUBE_SHADOW_NV = 0x8DC5; ///
4331 enum GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT = 0x8BE7; ///
4332 enum GL_SAMPLER_EXTERNAL_OES = 0x8D66; ///
4333 enum GL_SAMPLER_KHR = 0x82E6; ///
4334 enum GL_SAMPLER_OBJECT_AMD = 0x9155; ///
4335 enum GL_SAMPLER_RENDERBUFFER_NV = 0x8E56; ///
4336 enum GL_SAMPLES = 0x80A9; ///
4337 enum GL_SAMPLES_3DFX = 0x86B4; ///
4338 enum GL_SAMPLES_ARB = 0x80A9; ///
4339 enum GL_SAMPLES_EXT = 0x80A9; ///
4340 enum GL_SAMPLES_PASSED = 0x8914; ///
4341 enum GL_SAMPLES_PASSED_ARB = 0x8914; ///
4342 enum GL_SAMPLES_SGIS = 0x80A9; ///
4343 enum GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E; ///
4344 enum GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; ///
4345 enum GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; ///
4346 enum GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; ///
4347 enum GL_SAMPLE_ALPHA_TO_ONE = 0x809F; ///
4348 enum GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; ///
4349 enum GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; ///
4350 enum GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; ///
4351 enum GL_SAMPLE_BUFFERS = 0x80A8; ///
4352 enum GL_SAMPLE_BUFFERS_3DFX = 0x86B3; ///
4353 enum GL_SAMPLE_BUFFERS_ARB = 0x80A8; ///
4354 enum GL_SAMPLE_BUFFERS_EXT = 0x80A8; ///
4355 enum GL_SAMPLE_BUFFERS_SGIS = 0x80A8; ///
4356 enum GL_SAMPLE_COVERAGE = 0x80A0; ///
4357 enum GL_SAMPLE_COVERAGE_ARB = 0x80A0; ///
4358 enum GL_SAMPLE_COVERAGE_INVERT = 0x80AB; ///
4359 enum GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; ///
4360 enum GL_SAMPLE_COVERAGE_VALUE = 0x80AA; ///
4361 enum GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; ///
4362 enum GL_SAMPLE_LOCATION_ARB = 0x8E50; ///
4363 enum GL_SAMPLE_LOCATION_NV = 0x8E50; ///
4364 enum GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; ///
4365 enum GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; ///
4366 enum GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; ///
4367 enum GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; ///
4368 enum GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; ///
4369 enum GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; ///
4370 enum GL_SAMPLE_MASK = 0x8E51; ///
4371 enum GL_SAMPLE_MASK_EXT = 0x80A0; ///
4372 enum GL_SAMPLE_MASK_INVERT_EXT = 0x80AB; ///
4373 enum GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB; ///
4374 enum GL_SAMPLE_MASK_NV = 0x8E51; ///
4375 enum GL_SAMPLE_MASK_SGIS = 0x80A0; ///
4376 enum GL_SAMPLE_MASK_VALUE = 0x8E52; ///
4377 enum GL_SAMPLE_MASK_VALUE_EXT = 0x80AA; ///
4378 enum GL_SAMPLE_MASK_VALUE_NV = 0x8E52; ///
4379 enum GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA; ///
4380 enum GL_SAMPLE_PATTERN_EXT = 0x80AC; ///
4381 enum GL_SAMPLE_PATTERN_SGIS = 0x80AC; ///
4382 enum GL_SAMPLE_POSITION = 0x8E50; ///
4383 enum GL_SAMPLE_POSITION_NV = 0x8E50; ///
4384 enum GL_SAMPLE_SHADING = 0x8C36; ///
4385 enum GL_SAMPLE_SHADING_ARB = 0x8C36; ///
4386 enum GL_SAMPLE_SHADING_OES = 0x8C36; ///
4387 enum GL_SATURATE_BIT_ATI = 0x00000040; ///
4388 enum GL_SCALAR_EXT = 0x87BE; ///
4389 enum GL_SCALEBIAS_HINT_SGIX = 0x8322; ///
4390 enum GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA; ///
4391 enum GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB; ///
4392 enum GL_SCALE_BY_FOUR_NV = 0x853F; ///
4393 enum GL_SCALE_BY_ONE_HALF_NV = 0x8540; ///
4394 enum GL_SCALE_BY_TWO_NV = 0x853E; ///
4395 enum GL_SCISSOR_BIT = 0x00080000; ///
4396 enum GL_SCISSOR_BOX = 0x0C10; ///
4397 enum GL_SCISSOR_COMMAND_NV = 0x0011; ///
4398 enum GL_SCISSOR_TEST = 0x0C11; ///
4399 enum GL_SCREEN = 0x9295; ///
4400 enum GL_SCREEN_COORDINATES_REND = 0x8490; ///
4401 enum GL_SCREEN_KHR = 0x9295; ///
4402 enum GL_SCREEN_NV = 0x9295; ///
4403 enum GL_SECONDARY_COLOR_ARRAY = 0x845E; ///
4404 enum GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; ///
4405 enum GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C; ///
4406 enum GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; ///
4407 enum GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E; ///
4408 enum GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; ///
4409 enum GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 0x103077; ///
4410 enum GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 0x103087; ///
4411 enum GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D; ///
4412 enum GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; ///
4413 enum GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A; ///
4414 enum GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; ///
4415 enum GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C; ///
4416 enum GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; ///
4417 enum GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B; ///
4418 enum GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; ///
4419 enum GL_SECONDARY_COLOR_NV = 0x852D; ///
4420 enum GL_SECONDARY_INTERPOLATOR_ATI = 0x896D; ///
4421 enum GL_SELECT = 0x1C02; ///
4422 enum GL_SELECTION_BUFFER_POINTER = 0x0DF3; ///
4423 enum GL_SELECTION_BUFFER_SIZE = 0x0DF4; ///
4424 enum GL_SEPARABLE_2D = 0x8012; ///
4425 enum GL_SEPARABLE_2D_EXT = 0x8012; ///
4426 enum GL_SEPARATE_ATTRIBS = 0x8C8D; ///
4427 enum GL_SEPARATE_ATTRIBS_EXT = 0x8C8D; ///
4428 enum GL_SEPARATE_ATTRIBS_NV = 0x8C8D; ///
4429 enum GL_SEPARATE_SPECULAR_COLOR = 0x81FA; ///
4430 enum GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; ///
4431 enum GL_SET = 0x150F; ///
4432 enum GL_SET_AMD = 0x874A; ///
4433 enum GL_SGX_BINARY_IMG = 0x8C0A; ///
4434 enum GL_SGX_PROGRAM_BINARY_IMG = 0x9130; ///
4435 enum GL_SHADER = 0x82E1; ///
4436 enum GL_SHADER_BINARY_DMP = 0x9250; ///
4437 enum GL_SHADER_BINARY_FORMATS = 0x8DF8; ///
4438 enum GL_SHADER_BINARY_VIV = 0x8FC4; ///
4439 enum GL_SHADER_COMPILER = 0x8DFA; ///
4440 enum GL_SHADER_CONSISTENT_NV = 0x86DD; ///
4441 enum GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; ///
4442 enum GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020; ///
4443 enum GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; ///
4444 enum GL_SHADER_IMAGE_ATOMIC = 0x82A6; ///
4445 enum GL_SHADER_IMAGE_LOAD = 0x82A4; ///
4446 enum GL_SHADER_IMAGE_STORE = 0x82A5; ///
4447 enum GL_SHADER_INCLUDE_ARB = 0x8DAE; ///
4448 enum GL_SHADER_KHR = 0x82E1; ///
4449 enum GL_SHADER_OBJECT_ARB = 0x8B48; ///
4450 enum GL_SHADER_OBJECT_EXT = 0x8B48; ///
4451 enum GL_SHADER_OPERATION_NV = 0x86DF; ///
4452 enum GL_SHADER_PIXEL_LOCAL_STORAGE_EXT = 0x8F64; ///
4453 enum GL_SHADER_SOURCE_LENGTH = 0x8B88; ///
4454 enum GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000; ///
4455 enum GL_SHADER_STORAGE_BLOCK = 0x92E6; ///
4456 enum GL_SHADER_STORAGE_BUFFER = 0x90D2; ///
4457 enum GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3; ///
4458 enum GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; ///
4459 enum GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5; ///
4460 enum GL_SHADER_STORAGE_BUFFER_START = 0x90D4; ///
4461 enum GL_SHADER_TYPE = 0x8B4F; ///
4462 enum GL_SHADE_MODEL = 0x0B54; ///
4463 enum GL_SHADING_LANGUAGE_VERSION = 0x8B8C; ///
4464 enum GL_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C; ///
4465 enum GL_SHADOW_AMBIENT_SGIX = 0x80BF; ///
4466 enum GL_SHADOW_ATTENUATION_EXT = 0x834E; ///
4467 enum GL_SHARED_EDGE_NV = 0xC0; ///
4468 enum GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB; ///
4469 enum GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; ///
4470 enum GL_SHININESS = 0x1601; ///
4471 enum GL_SHORT = 0x1402; ///
4472 enum GL_SIGNALED = 0x9119; ///
4473 enum GL_SIGNALED_APPLE = 0x9119; ///
4474 enum GL_SIGNED_ALPHA8_NV = 0x8706; ///
4475 enum GL_SIGNED_ALPHA_NV = 0x8705; ///
4476 enum GL_SIGNED_HILO16_NV = 0x86FA; ///
4477 enum GL_SIGNED_HILO8_NV = 0x885F; ///
4478 enum GL_SIGNED_HILO_NV = 0x86F9; ///
4479 enum GL_SIGNED_IDENTITY_NV = 0x853C; ///
4480 enum GL_SIGNED_INTENSITY8_NV = 0x8708; ///
4481 enum GL_SIGNED_INTENSITY_NV = 0x8707; ///
4482 enum GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; ///
4483 enum GL_SIGNED_LUMINANCE8_NV = 0x8702; ///
4484 enum GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703; ///
4485 enum GL_SIGNED_LUMINANCE_NV = 0x8701; ///
4486 enum GL_SIGNED_NEGATE_NV = 0x853D; ///
4487 enum GL_SIGNED_NORMALIZED = 0x8F9C; ///
4488 enum GL_SIGNED_RGB8_NV = 0x86FF; ///
4489 enum GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; ///
4490 enum GL_SIGNED_RGBA8_NV = 0x86FC; ///
4491 enum GL_SIGNED_RGBA_NV = 0x86FB; ///
4492 enum GL_SIGNED_RGB_NV = 0x86FE; ///
4493 enum GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; ///
4494 enum GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC; ///
4495 enum GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE; ///
4496 enum GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD; ///
4497 enum GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF; ///
4498 enum GL_SINGLE_COLOR = 0x81F9; ///
4499 enum GL_SINGLE_COLOR_EXT = 0x81F9; ///
4500 enum GL_SKIP_COMPONENTS1_NV = -6; ///
4501 enum GL_SKIP_COMPONENTS2_NV = -5; ///
4502 enum GL_SKIP_COMPONENTS3_NV = -4; ///
4503 enum GL_SKIP_COMPONENTS4_NV = -3; ///
4504 enum GL_SKIP_DECODE_EXT = 0x8A4A; ///
4505 enum GL_SKIP_MISSING_GLYPH_NV = 0x90A9; ///
4506 enum GL_SLICE_ACCUM_SUN = 0x85CC; ///
4507 enum GL_SLIM10U_SGIX = 0x831E; ///
4508 enum GL_SLIM12S_SGIX = 0x831F; ///
4509 enum GL_SLIM8U_SGIX = 0x831D; ///
4510 enum GL_SLUMINANCE = 0x8C46; ///
4511 enum GL_SLUMINANCE8 = 0x8C47; ///
4512 enum GL_SLUMINANCE8_ALPHA8 = 0x8C45; ///
4513 enum GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45; ///
4514 enum GL_SLUMINANCE8_ALPHA8_NV = 0x8C45; ///
4515 enum GL_SLUMINANCE8_EXT = 0x8C47; ///
4516 enum GL_SLUMINANCE8_NV = 0x8C47; ///
4517 enum GL_SLUMINANCE_ALPHA = 0x8C44; ///
4518 enum GL_SLUMINANCE_ALPHA_EXT = 0x8C44; ///
4519 enum GL_SLUMINANCE_ALPHA_NV = 0x8C44; ///
4520 enum GL_SLUMINANCE_EXT = 0x8C46; ///
4521 enum GL_SLUMINANCE_NV = 0x8C46; ///
4522 enum GL_SMALL_CCW_ARC_TO_NV = 0x12; ///
4523 enum GL_SMALL_CW_ARC_TO_NV = 0x14; ///
4524 enum GL_SMAPHS30_PROGRAM_BINARY_DMP = 0x9251; ///
4525 enum GL_SMAPHS_PROGRAM_BINARY_DMP = 0x9252; ///
4526 enum GL_SMOOTH = 0x1D01; ///
4527 enum GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10; ///
4528 enum GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; ///
4529 enum GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22; ///
4530 enum GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13; ///
4531 enum GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12; ///
4532 enum GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; ///
4533 enum GL_SM_COUNT_NV = 0x933B; ///
4534 enum GL_SOFTLIGHT = 0x929C; ///
4535 enum GL_SOFTLIGHT_KHR = 0x929C; ///
4536 enum GL_SOFTLIGHT_NV = 0x929C; ///
4537 enum GL_SOURCE0_ALPHA = 0x8588; ///
4538 enum GL_SOURCE0_ALPHA_ARB = 0x8588; ///
4539 enum GL_SOURCE0_ALPHA_EXT = 0x8588; ///
4540 enum GL_SOURCE0_RGB = 0x8580; ///
4541 enum GL_SOURCE0_RGB_ARB = 0x8580; ///
4542 enum GL_SOURCE0_RGB_EXT = 0x8580; ///
4543 enum GL_SOURCE1_ALPHA = 0x8589; ///
4544 enum GL_SOURCE1_ALPHA_ARB = 0x8589; ///
4545 enum GL_SOURCE1_ALPHA_EXT = 0x8589; ///
4546 enum GL_SOURCE1_RGB = 0x8581; ///
4547 enum GL_SOURCE1_RGB_ARB = 0x8581; ///
4548 enum GL_SOURCE1_RGB_EXT = 0x8581; ///
4549 enum GL_SOURCE2_ALPHA = 0x858A; ///
4550 enum GL_SOURCE2_ALPHA_ARB = 0x858A; ///
4551 enum GL_SOURCE2_ALPHA_EXT = 0x858A; ///
4552 enum GL_SOURCE2_RGB = 0x8582; ///
4553 enum GL_SOURCE2_RGB_ARB = 0x8582; ///
4554 enum GL_SOURCE2_RGB_EXT = 0x8582; ///
4555 enum GL_SOURCE3_ALPHA_NV = 0x858B; ///
4556 enum GL_SOURCE3_RGB_NV = 0x8583; ///
4557 enum GL_SPARE0_NV = 0x852E; ///
4558 enum GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; ///
4559 enum GL_SPARE1_NV = 0x852F; ///
4560 enum GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; ///
4561 enum GL_SPARSE_STORAGE_BIT_ARB = 0x0400; ///
4562 enum GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; ///
4563 enum GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = 0x91A9; ///
4564 enum GL_SPECULAR = 0x1202; ///
4565 enum GL_SPHERE_MAP = 0x2402; ///
4566 enum GL_SPOT_CUTOFF = 0x1206; ///
4567 enum GL_SPOT_DIRECTION = 0x1204; ///
4568 enum GL_SPOT_EXPONENT = 0x1205; ///
4569 enum GL_SPRITE_AXIAL_SGIX = 0x814C; ///
4570 enum GL_SPRITE_AXIS_SGIX = 0x814A; ///
4571 enum GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E; ///
4572 enum GL_SPRITE_MODE_SGIX = 0x8149; ///
4573 enum GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; ///
4574 enum GL_SPRITE_SGIX = 0x8148; ///
4575 enum GL_SPRITE_TRANSLATION_SGIX = 0x814B; ///
4576 enum GL_SQUARE_NV = 0x90A3; ///
4577 enum GL_SR8_EXT = 0x8FBD; ///
4578 enum GL_SRC0_ALPHA = 0x8588; ///
4579 enum GL_SRC0_RGB = 0x8580; ///
4580 enum GL_SRC1_ALPHA = 0x8589; ///
4581 enum GL_SRC1_ALPHA_EXT = 0x8589; ///
4582 enum GL_SRC1_COLOR = 0x88F9; ///
4583 enum GL_SRC1_COLOR_EXT = 0x88F9; ///
4584 enum GL_SRC1_RGB = 0x8581; ///
4585 enum GL_SRC2_ALPHA = 0x858A; ///
4586 enum GL_SRC2_RGB = 0x8582; ///
4587 enum GL_SRC_ALPHA = 0x0302; ///
4588 enum GL_SRC_ALPHA_SATURATE = 0x0308; ///
4589 enum GL_SRC_ALPHA_SATURATE_EXT = 0x0308; ///
4590 enum GL_SRC_ATOP_NV = 0x928E; ///
4591 enum GL_SRC_COLOR = 0x0300; ///
4592 enum GL_SRC_IN_NV = 0x928A; ///
4593 enum GL_SRC_NV = 0x9286; ///
4594 enum GL_SRC_OUT_NV = 0x928C; ///
4595 enum GL_SRC_OVER_NV = 0x9288; ///
4596 enum GL_SRG8_EXT = 0x8FBE; ///
4597 enum GL_SRGB = 0x8C40; ///
4598 enum GL_SRGB8 = 0x8C41; ///
4599 enum GL_SRGB8_ALPHA8 = 0x8C43; ///
4600 enum GL_SRGB8_ALPHA8_EXT = 0x8C43; ///
4601 enum GL_SRGB8_EXT = 0x8C41; ///
4602 enum GL_SRGB8_NV = 0x8C41; ///
4603 enum GL_SRGB_ALPHA = 0x8C42; ///
4604 enum GL_SRGB_ALPHA_EXT = 0x8C42; ///
4605 enum GL_SRGB_DECODE_ARB = 0x8299; ///
4606 enum GL_SRGB_EXT = 0x8C40; ///
4607 enum GL_SRGB_READ = 0x8297; ///
4608 enum GL_SRGB_WRITE = 0x8298; ///
4609 enum GL_STACK_OVERFLOW = 0x0503; ///
4610 enum GL_STACK_OVERFLOW_KHR = 0x0503; ///
4611 enum GL_STACK_UNDERFLOW = 0x0504; ///
4612 enum GL_STACK_UNDERFLOW_KHR = 0x0504; ///
4613 enum GL_STANDARD_FONT_FORMAT_NV = 0x936C; ///
4614 enum GL_STANDARD_FONT_NAME_NV = 0x9072; ///
4615 enum GL_STATE_RESTORE = 0x8BDC; ///
4616 enum GL_STATIC_ATI = 0x8760; ///
4617 enum GL_STATIC_COPY = 0x88E6; ///
4618 enum GL_STATIC_COPY_ARB = 0x88E6; ///
4619 enum GL_STATIC_DRAW = 0x88E4; ///
4620 enum GL_STATIC_DRAW_ARB = 0x88E4; ///
4621 enum GL_STATIC_READ = 0x88E5; ///
4622 enum GL_STATIC_READ_ARB = 0x88E5; ///
4623 enum GL_STATIC_VERTEX_ARRAY_IBM = 0x103061; ///
4624 enum GL_STENCIL = 0x1802; ///
4625 enum GL_STENCIL_ATTACHMENT = 0x8D20; ///
4626 enum GL_STENCIL_ATTACHMENT_EXT = 0x8D20; ///
4627 enum GL_STENCIL_ATTACHMENT_OES = 0x8D20; ///
4628 enum GL_STENCIL_BACK_FAIL = 0x8801; ///
4629 enum GL_STENCIL_BACK_FAIL_ATI = 0x8801; ///
4630 enum GL_STENCIL_BACK_FUNC = 0x8800; ///
4631 enum GL_STENCIL_BACK_FUNC_ATI = 0x8800; ///
4632 enum GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D; ///
4633 enum GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; ///
4634 enum GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; ///
4635 enum GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; ///
4636 enum GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; ///
4637 enum GL_STENCIL_BACK_REF = 0x8CA3; ///
4638 enum GL_STENCIL_BACK_VALUE_MASK = 0x8CA4; ///
4639 enum GL_STENCIL_BACK_WRITEMASK = 0x8CA5; ///
4640 enum GL_STENCIL_BITS = 0x0D57; ///
4641 enum GL_STENCIL_BUFFER_BIT = 0x00000400; ///
4642 enum GL_STENCIL_BUFFER_BIT0_QCOM = 0x00010000; ///
4643 enum GL_STENCIL_BUFFER_BIT1_QCOM = 0x00020000; ///
4644 enum GL_STENCIL_BUFFER_BIT2_QCOM = 0x00040000; ///
4645 enum GL_STENCIL_BUFFER_BIT3_QCOM = 0x00080000; ///
4646 enum GL_STENCIL_BUFFER_BIT4_QCOM = 0x00100000; ///
4647 enum GL_STENCIL_BUFFER_BIT5_QCOM = 0x00200000; ///
4648 enum GL_STENCIL_BUFFER_BIT6_QCOM = 0x00400000; ///
4649 enum GL_STENCIL_BUFFER_BIT7_QCOM = 0x00800000; ///
4650 enum GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; ///
4651 enum GL_STENCIL_CLEAR_VALUE = 0x0B91; ///
4652 enum GL_STENCIL_COMPONENTS = 0x8285; ///
4653 enum GL_STENCIL_EXT = 0x1802; ///
4654 enum GL_STENCIL_FAIL = 0x0B94; ///
4655 enum GL_STENCIL_FUNC = 0x0B92; ///
4656 enum GL_STENCIL_INDEX = 0x1901; ///
4657 enum GL_STENCIL_INDEX1 = 0x8D46; ///
4658 enum GL_STENCIL_INDEX16 = 0x8D49; ///
4659 enum GL_STENCIL_INDEX16_EXT = 0x8D49; ///
4660 enum GL_STENCIL_INDEX1_EXT = 0x8D46; ///
4661 enum GL_STENCIL_INDEX1_OES = 0x8D46; ///
4662 enum GL_STENCIL_INDEX4 = 0x8D47; ///
4663 enum GL_STENCIL_INDEX4_EXT = 0x8D47; ///
4664 enum GL_STENCIL_INDEX4_OES = 0x8D47; ///
4665 enum GL_STENCIL_INDEX8 = 0x8D48; ///
4666 enum GL_STENCIL_INDEX8_EXT = 0x8D48; ///
4667 enum GL_STENCIL_INDEX8_OES = 0x8D48; ///
4668 enum GL_STENCIL_INDEX_OES = 0x1901; ///
4669 enum GL_STENCIL_OP_VALUE_AMD = 0x874C; ///
4670 enum GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95; ///
4671 enum GL_STENCIL_PASS_DEPTH_PASS = 0x0B96; ///
4672 enum GL_STENCIL_REF = 0x0B97; ///
4673 enum GL_STENCIL_REF_COMMAND_NV = 0x000C; ///
4674 enum GL_STENCIL_RENDERABLE = 0x8288; ///
4675 enum GL_STENCIL_SAMPLES_NV = 0x932E; ///
4676 enum GL_STENCIL_TAG_BITS_EXT = 0x88F2; ///
4677 enum GL_STENCIL_TEST = 0x0B90; ///
4678 enum GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910; ///
4679 enum GL_STENCIL_VALUE_MASK = 0x0B93; ///
4680 enum GL_STENCIL_WRITEMASK = 0x0B98; ///
4681 enum GL_STEREO = 0x0C33; ///
4682 enum GL_STORAGE_CACHED_APPLE = 0x85BE; ///
4683 enum GL_STORAGE_CLIENT_APPLE = 0x85B4; ///
4684 enum GL_STORAGE_PRIVATE_APPLE = 0x85BD; ///
4685 enum GL_STORAGE_SHARED_APPLE = 0x85BF; ///
4686 enum GL_STREAM_COPY = 0x88E2; ///
4687 enum GL_STREAM_COPY_ARB = 0x88E2; ///
4688 enum GL_STREAM_DRAW = 0x88E0; ///
4689 enum GL_STREAM_DRAW_ARB = 0x88E0; ///
4690 enum GL_STREAM_RASTERIZATION_AMD = 0x91A0; ///
4691 enum GL_STREAM_READ = 0x88E1; ///
4692 enum GL_STREAM_READ_ARB = 0x88E1; ///
4693 enum GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; ///
4694 enum GL_STRICT_LIGHTING_HINT_PGI = 0x1A217; ///
4695 enum GL_STRICT_SCISSOR_HINT_PGI = 0x1A218; ///
4696 enum GL_SUBPIXEL_BITS = 0x0D50; ///
4697 enum GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; ///
4698 enum GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; ///
4699 enum GL_SUBSAMPLE_DISTANCE_AMD = 0x883F; ///
4700 enum GL_SUBTRACT = 0x84E7; ///
4701 enum GL_SUBTRACT_ARB = 0x84E7; ///
4702 enum GL_SUB_ATI = 0x8965; ///
4703 enum GL_SUCCESS_NV = 0x902F; ///
4704 enum GL_SUPERSAMPLE_SCALE_X_NV = 0x9372; ///
4705 enum GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373; ///
4706 enum GL_SURFACE_MAPPED_NV = 0x8700; ///
4707 enum GL_SURFACE_REGISTERED_NV = 0x86FD; ///
4708 enum GL_SURFACE_STATE_NV = 0x86EB; ///
4709 enum GL_SWIZZLE_STQ_ATI = 0x8977; ///
4710 enum GL_SWIZZLE_STQ_DQ_ATI = 0x8979; ///
4711 enum GL_SWIZZLE_STRQ_ATI = 0x897A; ///
4712 enum GL_SWIZZLE_STRQ_DQ_ATI = 0x897B; ///
4713 enum GL_SWIZZLE_STR_ATI = 0x8976; ///
4714 enum GL_SWIZZLE_STR_DR_ATI = 0x8978; ///
4715 enum GL_SYNC_CL_EVENT_ARB = 0x8240; ///
4716 enum GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; ///
4717 enum GL_SYNC_CONDITION = 0x9113; ///
4718 enum GL_SYNC_CONDITION_APPLE = 0x9113; ///
4719 enum GL_SYNC_FENCE = 0x9116; ///
4720 enum GL_SYNC_FENCE_APPLE = 0x9116; ///
4721 enum GL_SYNC_FLAGS = 0x9115; ///
4722 enum GL_SYNC_FLAGS_APPLE = 0x9115; ///
4723 enum GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001; ///
4724 enum GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001; ///
4725 enum GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117; ///
4726 enum GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117; ///
4727 enum GL_SYNC_OBJECT_APPLE = 0x8A53; ///
4728 enum GL_SYNC_STATUS = 0x9114; ///
4729 enum GL_SYNC_STATUS_APPLE = 0x9114; ///
4730 enum GL_SYNC_X11_FENCE_EXT = 0x90E1; ///
4731 enum GL_SYSTEM_FONT_NAME_NV = 0x9073; ///
4732 enum GL_T = 0x2001; ///
4733 enum GL_T2F_C3F_V3F = 0x2A2A; ///
4734 enum GL_T2F_C4F_N3F_V3F = 0x2A2C; ///
4735 enum GL_T2F_C4UB_V3F = 0x2A29; ///
4736 enum GL_T2F_IUI_N3F_V2F_EXT = 0x81B3; ///
4737 enum GL_T2F_IUI_N3F_V3F_EXT = 0x81B4; ///
4738 enum GL_T2F_IUI_V2F_EXT = 0x81B1; ///
4739 enum GL_T2F_IUI_V3F_EXT = 0x81B2; ///
4740 enum GL_T2F_N3F_V3F = 0x2A2B; ///
4741 enum GL_T2F_V3F = 0x2A27; ///
4742 enum GL_T4F_C4F_N3F_V4F = 0x2A2D; ///
4743 enum GL_T4F_V4F = 0x2A28; ///
4744 enum GL_TABLE_TOO_LARGE = 0x8031; ///
4745 enum GL_TABLE_TOO_LARGE_EXT = 0x8031; ///
4746 enum GL_TANGENT_ARRAY_EXT = 0x8439; ///
4747 enum GL_TANGENT_ARRAY_POINTER_EXT = 0x8442; ///
4748 enum GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F; ///
4749 enum GL_TANGENT_ARRAY_TYPE_EXT = 0x843E; ///
4750 enum GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; ///
4751 enum GL_TESSELLATION_FACTOR_AMD = 0x9005; ///
4752 enum GL_TESSELLATION_MODE_AMD = 0x9004; ///
4753 enum GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; ///
4754 enum GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75; ///
4755 enum GL_TESS_CONTROL_OUTPUT_VERTICES_OES = 0x8E75; ///
4756 enum GL_TESS_CONTROL_PROGRAM_NV = 0x891E; ///
4757 enum GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; ///
4758 enum GL_TESS_CONTROL_SHADER = 0x8E88; ///
4759 enum GL_TESS_CONTROL_SHADER_BIT = 0x00000008; ///
4760 enum GL_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008; ///
4761 enum GL_TESS_CONTROL_SHADER_BIT_OES = 0x00000008; ///
4762 enum GL_TESS_CONTROL_SHADER_EXT = 0x8E88; ///
4763 enum GL_TESS_CONTROL_SHADER_OES = 0x8E88; ///
4764 enum GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1; ///
4765 enum GL_TESS_CONTROL_SUBROUTINE = 0x92E9; ///
4766 enum GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF; ///
4767 enum GL_TESS_CONTROL_TEXTURE = 0x829C; ///
4768 enum GL_TESS_EVALUATION_PROGRAM_NV = 0x891F; ///
4769 enum GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; ///
4770 enum GL_TESS_EVALUATION_SHADER = 0x8E87; ///
4771 enum GL_TESS_EVALUATION_SHADER_BIT = 0x00000010; ///
4772 enum GL_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010; ///
4773 enum GL_TESS_EVALUATION_SHADER_BIT_OES = 0x00000010; ///
4774 enum GL_TESS_EVALUATION_SHADER_EXT = 0x8E87; ///
4775 enum GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2; ///
4776 enum GL_TESS_EVALUATION_SHADER_OES = 0x8E87; ///
4777 enum GL_TESS_EVALUATION_SUBROUTINE = 0x92EA; ///
4778 enum GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0; ///
4779 enum GL_TESS_EVALUATION_TEXTURE = 0x829D; ///
4780 enum GL_TESS_GEN_MODE = 0x8E76; ///
4781 enum GL_TESS_GEN_MODE_EXT = 0x8E76; ///
4782 enum GL_TESS_GEN_MODE_OES = 0x8E76; ///
4783 enum GL_TESS_GEN_POINT_MODE = 0x8E79; ///
4784 enum GL_TESS_GEN_POINT_MODE_EXT = 0x8E79; ///
4785 enum GL_TESS_GEN_POINT_MODE_OES = 0x8E79; ///
4786 enum GL_TESS_GEN_SPACING = 0x8E77; ///
4787 enum GL_TESS_GEN_SPACING_EXT = 0x8E77; ///
4788 enum GL_TESS_GEN_SPACING_OES = 0x8E77; ///
4789 enum GL_TESS_GEN_VERTEX_ORDER = 0x8E78; ///
4790 enum GL_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78; ///
4791 enum GL_TESS_GEN_VERTEX_ORDER_OES = 0x8E78; ///
4792 enum GL_TEXCOORD1_BIT_PGI = 0x10000000; ///
4793 enum GL_TEXCOORD2_BIT_PGI = 0x20000000; ///
4794 enum GL_TEXCOORD3_BIT_PGI = 0x40000000; ///
4795 enum GL_TEXCOORD4_BIT_PGI = 0x80000000; ///
4796 enum GL_TEXTURE = 0x1702; ///
4797 enum GL_TEXTURE0 = 0x84C0; ///
4798 enum GL_TEXTURE0_ARB = 0x84C0; ///
4799 enum GL_TEXTURE1 = 0x84C1; ///
4800 enum GL_TEXTURE10 = 0x84CA; ///
4801 enum GL_TEXTURE10_ARB = 0x84CA; ///
4802 enum GL_TEXTURE11 = 0x84CB; ///
4803 enum GL_TEXTURE11_ARB = 0x84CB; ///
4804 enum GL_TEXTURE12 = 0x84CC; ///
4805 enum GL_TEXTURE12_ARB = 0x84CC; ///
4806 enum GL_TEXTURE13 = 0x84CD; ///
4807 enum GL_TEXTURE13_ARB = 0x84CD; ///
4808 enum GL_TEXTURE14 = 0x84CE; ///
4809 enum GL_TEXTURE14_ARB = 0x84CE; ///
4810 enum GL_TEXTURE15 = 0x84CF; ///
4811 enum GL_TEXTURE15_ARB = 0x84CF; ///
4812 enum GL_TEXTURE16 = 0x84D0; ///
4813 enum GL_TEXTURE16_ARB = 0x84D0; ///
4814 enum GL_TEXTURE17 = 0x84D1; ///
4815 enum GL_TEXTURE17_ARB = 0x84D1; ///
4816 enum GL_TEXTURE18 = 0x84D2; ///
4817 enum GL_TEXTURE18_ARB = 0x84D2; ///
4818 enum GL_TEXTURE19 = 0x84D3; ///
4819 enum GL_TEXTURE19_ARB = 0x84D3; ///
4820 enum GL_TEXTURE1_ARB = 0x84C1; ///
4821 enum GL_TEXTURE2 = 0x84C2; ///
4822 enum GL_TEXTURE20 = 0x84D4; ///
4823 enum GL_TEXTURE20_ARB = 0x84D4; ///
4824 enum GL_TEXTURE21 = 0x84D5; ///
4825 enum GL_TEXTURE21_ARB = 0x84D5; ///
4826 enum GL_TEXTURE22 = 0x84D6; ///
4827 enum GL_TEXTURE22_ARB = 0x84D6; ///
4828 enum GL_TEXTURE23 = 0x84D7; ///
4829 enum GL_TEXTURE23_ARB = 0x84D7; ///
4830 enum GL_TEXTURE24 = 0x84D8; ///
4831 enum GL_TEXTURE24_ARB = 0x84D8; ///
4832 enum GL_TEXTURE25 = 0x84D9; ///
4833 enum GL_TEXTURE25_ARB = 0x84D9; ///
4834 enum GL_TEXTURE26 = 0x84DA; ///
4835 enum GL_TEXTURE26_ARB = 0x84DA; ///
4836 enum GL_TEXTURE27 = 0x84DB; ///
4837 enum GL_TEXTURE27_ARB = 0x84DB; ///
4838 enum GL_TEXTURE28 = 0x84DC; ///
4839 enum GL_TEXTURE28_ARB = 0x84DC; ///
4840 enum GL_TEXTURE29 = 0x84DD; ///
4841 enum GL_TEXTURE29_ARB = 0x84DD; ///
4842 enum GL_TEXTURE2_ARB = 0x84C2; ///
4843 enum GL_TEXTURE3 = 0x84C3; ///
4844 enum GL_TEXTURE30 = 0x84DE; ///
4845 enum GL_TEXTURE30_ARB = 0x84DE; ///
4846 enum GL_TEXTURE31 = 0x84DF; ///
4847 enum GL_TEXTURE31_ARB = 0x84DF; ///
4848 enum GL_TEXTURE3_ARB = 0x84C3; ///
4849 enum GL_TEXTURE4 = 0x84C4; ///
4850 enum GL_TEXTURE4_ARB = 0x84C4; ///
4851 enum GL_TEXTURE5 = 0x84C5; ///
4852 enum GL_TEXTURE5_ARB = 0x84C5; ///
4853 enum GL_TEXTURE6 = 0x84C6; ///
4854 enum GL_TEXTURE6_ARB = 0x84C6; ///
4855 enum GL_TEXTURE7 = 0x84C7; ///
4856 enum GL_TEXTURE7_ARB = 0x84C7; ///
4857 enum GL_TEXTURE8 = 0x84C8; ///
4858 enum GL_TEXTURE8_ARB = 0x84C8; ///
4859 enum GL_TEXTURE9 = 0x84C9; ///
4860 enum GL_TEXTURE9_ARB = 0x84C9; ///
4861 enum GL_TEXTURE_1D = 0x0DE0; ///
4862 enum GL_TEXTURE_1D_ARRAY = 0x8C18; ///
4863 enum GL_TEXTURE_1D_ARRAY_EXT = 0x8C18; ///
4864 enum GL_TEXTURE_1D_BINDING_EXT = 0x8068; ///
4865 enum GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; ///
4866 enum GL_TEXTURE_1D_STACK_MESAX = 0x8759; ///
4867 enum GL_TEXTURE_2D = 0x0DE1; ///
4868 enum GL_TEXTURE_2D_ARRAY = 0x8C1A; ///
4869 enum GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A; ///
4870 enum GL_TEXTURE_2D_BINDING_EXT = 0x8069; ///
4871 enum GL_TEXTURE_2D_MULTISAMPLE = 0x9100; ///
4872 enum GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; ///
4873 enum GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102; ///
4874 enum GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; ///
4875 enum GL_TEXTURE_2D_STACK_MESAX = 0x875A; ///
4876 enum GL_TEXTURE_3D = 0x806F; ///
4877 enum GL_TEXTURE_3D_BINDING_EXT = 0x806A; ///
4878 enum GL_TEXTURE_3D_BINDING_OES = 0x806A; ///
4879 enum GL_TEXTURE_3D_EXT = 0x806F; ///
4880 enum GL_TEXTURE_3D_OES = 0x806F; ///
4881 enum GL_TEXTURE_4DSIZE_SGIS = 0x8136; ///
4882 enum GL_TEXTURE_4D_BINDING_SGIS = 0x814F; ///
4883 enum GL_TEXTURE_4D_SGIS = 0x8134; ///
4884 enum GL_TEXTURE_ALPHA_MODULATE_IMG = 0x8C06; ///
4885 enum GL_TEXTURE_ALPHA_SIZE = 0x805F; ///
4886 enum GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F; ///
4887 enum GL_TEXTURE_ALPHA_TYPE = 0x8C13; ///
4888 enum GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13; ///
4889 enum GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F; ///
4890 enum GL_TEXTURE_BASE_LEVEL = 0x813C; ///
4891 enum GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C; ///
4892 enum GL_TEXTURE_BINDING_1D = 0x8068; ///
4893 enum GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C; ///
4894 enum GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; ///
4895 enum GL_TEXTURE_BINDING_2D = 0x8069; ///
4896 enum GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D; ///
4897 enum GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; ///
4898 enum GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; ///
4899 enum GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; ///
4900 enum GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105; ///
4901 enum GL_TEXTURE_BINDING_3D = 0x806A; ///
4902 enum GL_TEXTURE_BINDING_3D_OES = 0x806A; ///
4903 enum GL_TEXTURE_BINDING_BUFFER = 0x8C2C; ///
4904 enum GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; ///
4905 enum GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; ///
4906 enum GL_TEXTURE_BINDING_BUFFER_OES = 0x8C2C; ///
4907 enum GL_TEXTURE_BINDING_CUBE_MAP = 0x8514; ///
4908 enum GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; ///
4909 enum GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; ///
4910 enum GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; ///
4911 enum GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A; ///
4912 enum GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 0x900A; ///
4913 enum GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; ///
4914 enum GL_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514; ///
4915 enum GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67; ///
4916 enum GL_TEXTURE_BINDING_RECTANGLE = 0x84F6; ///
4917 enum GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; ///
4918 enum GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; ///
4919 enum GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; ///
4920 enum GL_TEXTURE_BIT = 0x00040000; ///
4921 enum GL_TEXTURE_BLUE_SIZE = 0x805E; ///
4922 enum GL_TEXTURE_BLUE_SIZE_EXT = 0x805E; ///
4923 enum GL_TEXTURE_BLUE_TYPE = 0x8C12; ///
4924 enum GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12; ///
4925 enum GL_TEXTURE_BORDER = 0x1005; ///
4926 enum GL_TEXTURE_BORDER_COLOR = 0x1004; ///
4927 enum GL_TEXTURE_BORDER_COLOR_EXT = 0x1004; ///
4928 enum GL_TEXTURE_BORDER_COLOR_NV = 0x1004; ///
4929 enum GL_TEXTURE_BORDER_COLOR_OES = 0x1004; ///
4930 enum GL_TEXTURE_BORDER_VALUES_NV = 0x871A; ///
4931 enum GL_TEXTURE_BUFFER = 0x8C2A; ///
4932 enum GL_TEXTURE_BUFFER_ARB = 0x8C2A; ///
4933 enum GL_TEXTURE_BUFFER_BINDING = 0x8C2A; ///
4934 enum GL_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A; ///
4935 enum GL_TEXTURE_BUFFER_BINDING_OES = 0x8C2A; ///
4936 enum GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; ///
4937 enum GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; ///
4938 enum GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; ///
4939 enum GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = 0x8C2D; ///
4940 enum GL_TEXTURE_BUFFER_EXT = 0x8C2A; ///
4941 enum GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; ///
4942 enum GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; ///
4943 enum GL_TEXTURE_BUFFER_OES = 0x8C2A; ///
4944 enum GL_TEXTURE_BUFFER_OFFSET = 0x919D; ///
4945 enum GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; ///
4946 enum GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F; ///
4947 enum GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = 0x919F; ///
4948 enum GL_TEXTURE_BUFFER_OFFSET_EXT = 0x919D; ///
4949 enum GL_TEXTURE_BUFFER_OFFSET_OES = 0x919D; ///
4950 enum GL_TEXTURE_BUFFER_SIZE = 0x919E; ///
4951 enum GL_TEXTURE_BUFFER_SIZE_EXT = 0x919E; ///
4952 enum GL_TEXTURE_BUFFER_SIZE_OES = 0x919E; ///
4953 enum GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; ///
4954 enum GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; ///
4955 enum GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; ///
4956 enum GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; ///
4957 enum GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; ///
4958 enum GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; ///
4959 enum GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046; ///
4960 enum GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC; ///
4961 enum GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; ///
4962 enum GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; ///
4963 enum GL_TEXTURE_COMPARE_FUNC = 0x884D; ///
4964 enum GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D; ///
4965 enum GL_TEXTURE_COMPARE_FUNC_EXT = 0x884D; ///
4966 enum GL_TEXTURE_COMPARE_MODE = 0x884C; ///
4967 enum GL_TEXTURE_COMPARE_MODE_ARB = 0x884C; ///
4968 enum GL_TEXTURE_COMPARE_MODE_EXT = 0x884C; ///
4969 enum GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; ///
4970 enum GL_TEXTURE_COMPARE_SGIX = 0x819A; ///
4971 enum GL_TEXTURE_COMPONENTS = 0x1003; ///
4972 enum GL_TEXTURE_COMPRESSED = 0x86A1; ///
4973 enum GL_TEXTURE_COMPRESSED_ARB = 0x86A1; ///
4974 enum GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2; ///
4975 enum GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3; ///
4976 enum GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1; ///
4977 enum GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0; ///
4978 enum GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; ///
4979 enum GL_TEXTURE_COMPRESSION_HINT = 0x84EF; ///
4980 enum GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; ///
4981 enum GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; ///
4982 enum GL_TEXTURE_COORD_ARRAY = 0x8078; ///
4983 enum GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; ///
4984 enum GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A; ///
4985 enum GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; ///
4986 enum GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; ///
4987 enum GL_TEXTURE_COORD_ARRAY_EXT = 0x8078; ///
4988 enum GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; ///
4989 enum GL_TEXTURE_COORD_ARRAY_LIST_IBM = 0x103074; ///
4990 enum GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 0x103084; ///
4991 enum GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; ///
4992 enum GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092; ///
4993 enum GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; ///
4994 enum GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088; ///
4995 enum GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; ///
4996 enum GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A; ///
4997 enum GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; ///
4998 enum GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089; ///
4999 enum GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; ///
5000 enum GL_TEXTURE_COORD_NV = 0x8C79; ///
5001 enum GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; ///
5002 enum GL_TEXTURE_CROP_RECT_OES = 0x8B9D; ///
5003 enum GL_TEXTURE_CUBE_MAP = 0x8513; ///
5004 enum GL_TEXTURE_CUBE_MAP_ARB = 0x8513; ///
5005 enum GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009; ///
5006 enum GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; ///
5007 enum GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009; ///
5008 enum GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009; ///
5009 enum GL_TEXTURE_CUBE_MAP_EXT = 0x8513; ///
5010 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; ///
5011 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; ///
5012 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; ///
5013 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516; ///
5014 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; ///
5015 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; ///
5016 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; ///
5017 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518; ///
5018 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; ///
5019 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; ///
5020 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; ///
5021 enum GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A; ///
5022 enum GL_TEXTURE_CUBE_MAP_OES = 0x8513; ///
5023 enum GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; ///
5024 enum GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; ///
5025 enum GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; ///
5026 enum GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515; ///
5027 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; ///
5028 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; ///
5029 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; ///
5030 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517; ///
5031 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; ///
5032 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; ///
5033 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; ///
5034 enum GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519; ///
5035 enum GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; ///
5036 enum GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; ///
5037 enum GL_TEXTURE_DEFORMATION_SGIX = 0x8195; ///
5038 enum GL_TEXTURE_DEPTH = 0x8071; ///
5039 enum GL_TEXTURE_DEPTH_EXT = 0x8071; ///
5040 enum GL_TEXTURE_DEPTH_QCOM = 0x8BD4; ///
5041 enum GL_TEXTURE_DEPTH_SIZE = 0x884A; ///
5042 enum GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A; ///
5043 enum GL_TEXTURE_DEPTH_TYPE = 0x8C16; ///
5044 enum GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16; ///
5045 enum GL_TEXTURE_DS_SIZE_NV = 0x871D; ///
5046 enum GL_TEXTURE_DT_SIZE_NV = 0x871E; ///
5047 enum GL_TEXTURE_ENV = 0x2300; ///
5048 enum GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE; ///
5049 enum GL_TEXTURE_ENV_COLOR = 0x2201; ///
5050 enum GL_TEXTURE_ENV_MODE = 0x2200; ///
5051 enum GL_TEXTURE_EXTERNAL_OES = 0x8D65; ///
5052 enum GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008; ///
5053 enum GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; ///
5054 enum GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147; ///
5055 enum GL_TEXTURE_FILTER_CONTROL = 0x8500; ///
5056 enum GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500; ///
5057 enum GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; ///
5058 enum GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; ///
5059 enum GL_TEXTURE_FORMAT_QCOM = 0x8BD6; ///
5060 enum GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC; ///
5061 enum GL_TEXTURE_GATHER = 0x82A2; ///
5062 enum GL_TEXTURE_GATHER_SHADOW = 0x82A3; ///
5063 enum GL_TEXTURE_GEN_MODE = 0x2500; ///
5064 enum GL_TEXTURE_GEN_MODE_OES = 0x2500; ///
5065 enum GL_TEXTURE_GEN_Q = 0x0C63; ///
5066 enum GL_TEXTURE_GEN_R = 0x0C62; ///
5067 enum GL_TEXTURE_GEN_S = 0x0C60; ///
5068 enum GL_TEXTURE_GEN_STR_OES = 0x8D60; ///
5069 enum GL_TEXTURE_GEN_T = 0x0C61; ///
5070 enum GL_TEXTURE_GEQUAL_R_SGIX = 0x819D; ///
5071 enum GL_TEXTURE_GREEN_SIZE = 0x805D; ///
5072 enum GL_TEXTURE_GREEN_SIZE_EXT = 0x805D; ///
5073 enum GL_TEXTURE_GREEN_TYPE = 0x8C11; ///
5074 enum GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11; ///
5075 enum GL_TEXTURE_HEIGHT = 0x1001; ///
5076 enum GL_TEXTURE_HEIGHT_QCOM = 0x8BD3; ///
5077 enum GL_TEXTURE_HI_SIZE_NV = 0x871B; ///
5078 enum GL_TEXTURE_IMAGE_FORMAT = 0x828F; ///
5079 enum GL_TEXTURE_IMAGE_TYPE = 0x8290; ///
5080 enum GL_TEXTURE_IMAGE_VALID_QCOM = 0x8BD8; ///
5081 enum GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F; ///
5082 enum GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; ///
5083 enum GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF; ///
5084 enum GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED; ///
5085 enum GL_TEXTURE_INTENSITY_SIZE = 0x8061; ///
5086 enum GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061; ///
5087 enum GL_TEXTURE_INTENSITY_TYPE = 0x8C15; ///
5088 enum GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; ///
5089 enum GL_TEXTURE_INTERNAL_FORMAT = 0x1003; ///
5090 enum GL_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5; ///
5091 enum GL_TEXTURE_LEQUAL_R_SGIX = 0x819C; ///
5092 enum GL_TEXTURE_LIGHTING_MODE_HP = 0x8167; ///
5093 enum GL_TEXTURE_LIGHT_EXT = 0x8350; ///
5094 enum GL_TEXTURE_LOD_BIAS = 0x8501; ///
5095 enum GL_TEXTURE_LOD_BIAS_EXT = 0x8501; ///
5096 enum GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190; ///
5097 enum GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E; ///
5098 enum GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F; ///
5099 enum GL_TEXTURE_LO_SIZE_NV = 0x871C; ///
5100 enum GL_TEXTURE_LUMINANCE_SIZE = 0x8060; ///
5101 enum GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; ///
5102 enum GL_TEXTURE_LUMINANCE_TYPE = 0x8C14; ///
5103 enum GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; ///
5104 enum GL_TEXTURE_MAG_FILTER = 0x2800; ///
5105 enum GL_TEXTURE_MAG_SIZE_NV = 0x871F; ///
5106 enum GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351; ///
5107 enum GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; ///
5108 enum GL_TEXTURE_MATRIX = 0x0BA8; ///
5109 enum GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F; ///
5110 enum GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; ///
5111 enum GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; ///
5112 enum GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; ///
5113 enum GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; ///
5114 enum GL_TEXTURE_MAX_LEVEL = 0x813D; ///
5115 enum GL_TEXTURE_MAX_LEVEL_APPLE = 0x813D; ///
5116 enum GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D; ///
5117 enum GL_TEXTURE_MAX_LOD = 0x813B; ///
5118 enum GL_TEXTURE_MAX_LOD_SGIS = 0x813B; ///
5119 enum GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; ///
5120 enum GL_TEXTURE_MIN_FILTER = 0x2801; ///
5121 enum GL_TEXTURE_MIN_LOD = 0x813A; ///
5122 enum GL_TEXTURE_MIN_LOD_SGIS = 0x813A; ///
5123 enum GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; ///
5124 enum GL_TEXTURE_NORMAL_EXT = 0x85AF; ///
5125 enum GL_TEXTURE_NUM_LEVELS_QCOM = 0x8BD9; ///
5126 enum GL_TEXTURE_OBJECT_VALID_QCOM = 0x8BDB; ///
5127 enum GL_TEXTURE_POST_SPECULAR_HP = 0x8168; ///
5128 enum GL_TEXTURE_PRE_SPECULAR_HP = 0x8169; ///
5129 enum GL_TEXTURE_PRIORITY = 0x8066; ///
5130 enum GL_TEXTURE_PRIORITY_EXT = 0x8066; ///
5131 enum GL_TEXTURE_PROTECTED_EXT = 0x8BFA; ///
5132 enum GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; ///
5133 enum GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8; ///
5134 enum GL_TEXTURE_RECTANGLE = 0x84F5; ///
5135 enum GL_TEXTURE_RECTANGLE_ARB = 0x84F5; ///
5136 enum GL_TEXTURE_RECTANGLE_NV = 0x84F5; ///
5137 enum GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366; ///
5138 enum GL_TEXTURE_RED_SIZE = 0x805C; ///
5139 enum GL_TEXTURE_RED_SIZE_EXT = 0x805C; ///
5140 enum GL_TEXTURE_RED_TYPE = 0x8C10; ///
5141 enum GL_TEXTURE_RED_TYPE_ARB = 0x8C10; ///
5142 enum GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; ///
5143 enum GL_TEXTURE_RENDERBUFFER_NV = 0x8E55; ///
5144 enum GL_TEXTURE_RESIDENT = 0x8067; ///
5145 enum GL_TEXTURE_RESIDENT_EXT = 0x8067; ///
5146 enum GL_TEXTURE_SAMPLES = 0x9106; ///
5147 enum GL_TEXTURE_SAMPLES_IMG = 0x9136; ///
5148 enum GL_TEXTURE_SHADER_NV = 0x86DE; ///
5149 enum GL_TEXTURE_SHADOW = 0x82A1; ///
5150 enum GL_TEXTURE_SHARED_SIZE = 0x8C3F; ///
5151 enum GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F; ///
5152 enum GL_TEXTURE_SPARSE_ARB = 0x91A6; ///
5153 enum GL_TEXTURE_SPARSE_EXT = 0x91A6; ///
5154 enum GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48; ///
5155 enum GL_TEXTURE_STACK_DEPTH = 0x0BA5; ///
5156 enum GL_TEXTURE_STENCIL_SIZE = 0x88F1; ///
5157 enum GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1; ///
5158 enum GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC; ///
5159 enum GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; ///
5160 enum GL_TEXTURE_SWIZZLE_A = 0x8E45; ///
5161 enum GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45; ///
5162 enum GL_TEXTURE_SWIZZLE_B = 0x8E44; ///
5163 enum GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44; ///
5164 enum GL_TEXTURE_SWIZZLE_G = 0x8E43; ///
5165 enum GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43; ///
5166 enum GL_TEXTURE_SWIZZLE_R = 0x8E42; ///
5167 enum GL_TEXTURE_SWIZZLE_RGBA = 0x8E46; ///
5168 enum GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; ///
5169 enum GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42; ///
5170 enum GL_TEXTURE_TARGET = 0x1006; ///
5171 enum GL_TEXTURE_TARGET_QCOM = 0x8BDA; ///
5172 enum GL_TEXTURE_TOO_LARGE_EXT = 0x8065; ///
5173 enum GL_TEXTURE_TYPE_QCOM = 0x8BD7; ///
5174 enum GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; ///
5175 enum GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; ///
5176 enum GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; ///
5177 enum GL_TEXTURE_USAGE_ANGLE = 0x93A2; ///
5178 enum GL_TEXTURE_VIEW = 0x82B5; ///
5179 enum GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD; ///
5180 enum GL_TEXTURE_VIEW_MIN_LAYER_EXT = 0x82DD; ///
5181 enum GL_TEXTURE_VIEW_MIN_LAYER_OES = 0x82DD; ///
5182 enum GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB; ///
5183 enum GL_TEXTURE_VIEW_MIN_LEVEL_EXT = 0x82DB; ///
5184 enum GL_TEXTURE_VIEW_MIN_LEVEL_OES = 0x82DB; ///
5185 enum GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE; ///
5186 enum GL_TEXTURE_VIEW_NUM_LAYERS_EXT = 0x82DE; ///
5187 enum GL_TEXTURE_VIEW_NUM_LAYERS_OES = 0x82DE; ///
5188 enum GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC; ///
5189 enum GL_TEXTURE_VIEW_NUM_LEVELS_EXT = 0x82DC; ///
5190 enum GL_TEXTURE_VIEW_NUM_LEVELS_OES = 0x82DC; ///
5191 enum GL_TEXTURE_WIDTH = 0x1000; ///
5192 enum GL_TEXTURE_WIDTH_QCOM = 0x8BD2; ///
5193 enum GL_TEXTURE_WRAP_Q_SGIS = 0x8137; ///
5194 enum GL_TEXTURE_WRAP_R = 0x8072; ///
5195 enum GL_TEXTURE_WRAP_R_EXT = 0x8072; ///
5196 enum GL_TEXTURE_WRAP_R_OES = 0x8072; ///
5197 enum GL_TEXTURE_WRAP_S = 0x2802; ///
5198 enum GL_TEXTURE_WRAP_T = 0x2803; ///
5199 enum GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200; ///
5200 enum GL_TIMEOUT_EXPIRED = 0x911B; ///
5201 enum GL_TIMEOUT_EXPIRED_APPLE = 0x911B; ///
5202 enum GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF; ///
5203 enum GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF; ///
5204 enum GL_TIMESTAMP = 0x8E28; ///
5205 enum GL_TIMESTAMP_EXT = 0x8E28; ///
5206 enum GL_TIME_ELAPSED = 0x88BF; ///
5207 enum GL_TIME_ELAPSED_EXT = 0x88BF; ///
5208 enum GL_TOP_LEVEL_ARRAY_SIZE = 0x930C; ///
5209 enum GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D; ///
5210 enum GL_TRACE_ALL_BITS_MESA = 0xFFFF; ///
5211 enum GL_TRACE_ARRAYS_BIT_MESA = 0x0004; ///
5212 enum GL_TRACE_ERRORS_BIT_MESA = 0x0020; ///
5213 enum GL_TRACE_MASK_MESA = 0x8755; ///
5214 enum GL_TRACE_NAME_MESA = 0x8756; ///
5215 enum GL_TRACE_OPERATIONS_BIT_MESA = 0x0001; ///
5216 enum GL_TRACE_PIXELS_BIT_MESA = 0x0010; ///
5217 enum GL_TRACE_PRIMITIVES_BIT_MESA = 0x0002; ///
5218 enum GL_TRACE_TEXTURES_BIT_MESA = 0x0008; ///
5219 enum GL_TRACK_MATRIX_NV = 0x8648; ///
5220 enum GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649; ///
5221 enum GL_TRANSFORM_BIT = 0x00001000; ///
5222 enum GL_TRANSFORM_FEEDBACK = 0x8E22; ///
5223 enum GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; ///
5224 enum GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; ///
5225 enum GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; ///
5226 enum GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; ///
5227 enum GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25; ///
5228 enum GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; ///
5229 enum GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E; ///
5230 enum GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24; ///
5231 enum GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; ///
5232 enum GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F; ///
5233 enum GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; ///
5234 enum GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; ///
5235 enum GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; ///
5236 enum GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B; ///
5237 enum GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F; ///
5238 enum GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; ///
5239 enum GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; ///
5240 enum GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; ///
5241 enum GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23; ///
5242 enum GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; ///
5243 enum GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85; ///
5244 enum GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; ///
5245 enum GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; ///
5246 enum GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84; ///
5247 enum GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; ///
5248 enum GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; ///
5249 enum GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; ///
5250 enum GL_TRANSFORM_FEEDBACK_NV = 0x8E22; ///
5251 enum GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; ///
5252 enum GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23; ///
5253 enum GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; ///
5254 enum GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; ///
5255 enum GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; ///
5256 enum GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; ///
5257 enum GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; ///
5258 enum GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4; ///
5259 enum GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83; ///
5260 enum GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; ///
5261 enum GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; ///
5262 enum GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76; ///
5263 enum GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; ///
5264 enum GL_TRANSFORM_HINT_APPLE = 0x85B1; ///
5265 enum GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0; ///
5266 enum GL_TRANSLATE_2D_NV = 0x9090; ///
5267 enum GL_TRANSLATE_3D_NV = 0x9091; ///
5268 enum GL_TRANSLATE_X_NV = 0x908E; ///
5269 enum GL_TRANSLATE_Y_NV = 0x908F; ///
5270 enum GL_TRANSPOSE_AFFINE_2D_NV = 0x9096; ///
5271 enum GL_TRANSPOSE_AFFINE_3D_NV = 0x9098; ///
5272 enum GL_TRANSPOSE_COLOR_MATRIX = 0x84E6; ///
5273 enum GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; ///
5274 enum GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; ///
5275 enum GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3; ///
5276 enum GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; ///
5277 enum GL_TRANSPOSE_NV = 0x862C; ///
5278 enum GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; ///
5279 enum GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4; ///
5280 enum GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; ///
5281 enum GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5; ///
5282 enum GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; ///
5283 enum GL_TRIANGLES = 0x0004; ///
5284 enum GL_TRIANGLES_ADJACENCY = 0x000C; ///
5285 enum GL_TRIANGLES_ADJACENCY_ARB = 0x000C; ///
5286 enum GL_TRIANGLES_ADJACENCY_EXT = 0x000C; ///
5287 enum GL_TRIANGLES_ADJACENCY_OES = 0x000C; ///
5288 enum GL_TRIANGLE_FAN = 0x0006; ///
5289 enum GL_TRIANGLE_LIST_SUN = 0x81D7; ///
5290 enum GL_TRIANGLE_MESH_SUN = 0x8615; ///
5291 enum GL_TRIANGLE_STRIP = 0x0005; ///
5292 enum GL_TRIANGLE_STRIP_ADJACENCY = 0x000D; ///
5293 enum GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D; ///
5294 enum GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; ///
5295 enum GL_TRIANGLE_STRIP_ADJACENCY_OES = 0x000D; ///
5296 enum GL_TRIANGULAR_NV = 0x90A5; ///
5297 enum GL_TRUE = 1; ///
5298 enum GL_TYPE = 0x92FA; ///
5299 enum GL_UNCORRELATED_NV = 0x9282; ///
5300 enum GL_UNDEFINED_APPLE = 0x8A1C; ///
5301 enum GL_UNDEFINED_VERTEX = 0x8260; ///
5302 enum GL_UNDEFINED_VERTEX_EXT = 0x8260; ///
5303 enum GL_UNDEFINED_VERTEX_OES = 0x8260; ///
5304 enum GL_UNIFORM = 0x92E1; ///
5305 enum GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A; ///
5306 enum GL_UNIFORM_ARRAY_STRIDE = 0x8A3C; ///
5307 enum GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA; ///
5308 enum GL_UNIFORM_BARRIER_BIT = 0x00000004; ///
5309 enum GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004; ///
5310 enum GL_UNIFORM_BLOCK = 0x92E2; ///
5311 enum GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42; ///
5312 enum GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; ///
5313 enum GL_UNIFORM_BLOCK_BINDING = 0x8A3F; ///
5314 enum GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40; ///
5315 enum GL_UNIFORM_BLOCK_INDEX = 0x8A3A; ///
5316 enum GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41; ///
5317 enum GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC; ///
5318 enum GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; ///
5319 enum GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45; ///
5320 enum GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0; ///
5321 enum GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1; ///
5322 enum GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; ///
5323 enum GL_UNIFORM_BUFFER = 0x8A11; ///
5324 enum GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F; ///
5325 enum GL_UNIFORM_BUFFER_BINDING = 0x8A28; ///
5326 enum GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; ///
5327 enum GL_UNIFORM_BUFFER_EXT = 0x8DEE; ///
5328 enum GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370; ///
5329 enum GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34; ///
5330 enum GL_UNIFORM_BUFFER_SIZE = 0x8A2A; ///
5331 enum GL_UNIFORM_BUFFER_START = 0x8A29; ///
5332 enum GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E; ///
5333 enum GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E; ///
5334 enum GL_UNIFORM_MATRIX_STRIDE = 0x8A3D; ///
5335 enum GL_UNIFORM_NAME_LENGTH = 0x8A39; ///
5336 enum GL_UNIFORM_OFFSET = 0x8A3B; ///
5337 enum GL_UNIFORM_SIZE = 0x8A38; ///
5338 enum GL_UNIFORM_TYPE = 0x8A37; ///
5339 enum GL_UNKNOWN_CONTEXT_RESET = 0x8255; ///
5340 enum GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255; ///
5341 enum GL_UNKNOWN_CONTEXT_RESET_EXT = 0x8255; ///
5342 enum GL_UNKNOWN_CONTEXT_RESET_KHR = 0x8255; ///
5343 enum GL_UNPACK_ALIGNMENT = 0x0CF5; ///
5344 enum GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; ///
5345 enum GL_UNPACK_CMYK_HINT_EXT = 0x800F; ///
5346 enum GL_UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243; ///
5347 enum GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129; ///
5348 enum GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128; ///
5349 enum GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A; ///
5350 enum GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127; ///
5351 enum GL_UNPACK_COMPRESSED_SIZE_SGIX = 0x831A; ///
5352 enum GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5; ///
5353 enum GL_UNPACK_FLIP_Y_WEBGL = 0x9240; ///
5354 enum GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133; ///
5355 enum GL_UNPACK_IMAGE_HEIGHT = 0x806E; ///
5356 enum GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E; ///
5357 enum GL_UNPACK_LSB_FIRST = 0x0CF1; ///
5358 enum GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241; ///
5359 enum GL_UNPACK_RESAMPLE_OML = 0x8985; ///
5360 enum GL_UNPACK_RESAMPLE_SGIX = 0x842F; ///
5361 enum GL_UNPACK_ROW_BYTES_APPLE = 0x8A16; ///
5362 enum GL_UNPACK_ROW_LENGTH = 0x0CF2; ///
5363 enum GL_UNPACK_ROW_LENGTH_EXT = 0x0CF2; ///
5364 enum GL_UNPACK_SKIP_IMAGES = 0x806D; ///
5365 enum GL_UNPACK_SKIP_IMAGES_EXT = 0x806D; ///
5366 enum GL_UNPACK_SKIP_PIXELS = 0x0CF4; ///
5367 enum GL_UNPACK_SKIP_PIXELS_EXT = 0x0CF4; ///
5368 enum GL_UNPACK_SKIP_ROWS = 0x0CF3; ///
5369 enum GL_UNPACK_SKIP_ROWS_EXT = 0x0CF3; ///
5370 enum GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132; ///
5371 enum GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; ///
5372 enum GL_UNPACK_SWAP_BYTES = 0x0CF0; ///
5373 enum GL_UNSIGNALED = 0x9118; ///
5374 enum GL_UNSIGNALED_APPLE = 0x9118; ///
5375 enum GL_UNSIGNED_BYTE = 0x1401; ///
5376 enum GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362; ///
5377 enum GL_UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362; ///
5378 enum GL_UNSIGNED_BYTE_3_3_2 = 0x8032; ///
5379 enum GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032; ///
5380 enum GL_UNSIGNED_IDENTITY_NV = 0x8536; ///
5381 enum GL_UNSIGNED_INT = 0x1405; ///
5382 enum GL_UNSIGNED_INT16_NV = 0x8FF0; ///
5383 enum GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1; ///
5384 enum GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2; ///
5385 enum GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3; ///
5386 enum GL_UNSIGNED_INT64_AMD = 0x8BC2; ///
5387 enum GL_UNSIGNED_INT64_ARB = 0x140F; ///
5388 enum GL_UNSIGNED_INT64_NV = 0x140F; ///
5389 enum GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5; ///
5390 enum GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5; ///
5391 enum GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6; ///
5392 enum GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6; ///
5393 enum GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7; ///
5394 enum GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7; ///
5395 enum GL_UNSIGNED_INT8_NV = 0x8FEC; ///
5396 enum GL_UNSIGNED_INT8_VEC2_NV = 0x8FED; ///
5397 enum GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE; ///
5398 enum GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF; ///
5399 enum GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B; ///
5400 enum GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 0x8C3B; ///
5401 enum GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; ///
5402 enum GL_UNSIGNED_INT_10_10_10_2 = 0x8036; ///
5403 enum GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036; ///
5404 enum GL_UNSIGNED_INT_10_10_10_2_OES = 0x8DF6; ///
5405 enum GL_UNSIGNED_INT_24_8 = 0x84FA; ///
5406 enum GL_UNSIGNED_INT_24_8_EXT = 0x84FA; ///
5407 enum GL_UNSIGNED_INT_24_8_MESA = 0x8751; ///
5408 enum GL_UNSIGNED_INT_24_8_NV = 0x84FA; ///
5409 enum GL_UNSIGNED_INT_24_8_OES = 0x84FA; ///
5410 enum GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368; ///
5411 enum GL_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368; ///
5412 enum GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E; ///
5413 enum GL_UNSIGNED_INT_5_9_9_9_REV_APPLE = 0x8C3E; ///
5414 enum GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; ///
5415 enum GL_UNSIGNED_INT_8_24_REV_MESA = 0x8752; ///
5416 enum GL_UNSIGNED_INT_8_8_8_8 = 0x8035; ///
5417 enum GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035; ///
5418 enum GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367; ///
5419 enum GL_UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367; ///
5420 enum GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; ///
5421 enum GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; ///
5422 enum GL_UNSIGNED_INT_IMAGE_1D = 0x9062; ///
5423 enum GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068; ///
5424 enum GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; ///
5425 enum GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; ///
5426 enum GL_UNSIGNED_INT_IMAGE_2D = 0x9063; ///
5427 enum GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; ///
5428 enum GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; ///
5429 enum GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; ///
5430 enum GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B; ///
5431 enum GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C; ///
5432 enum GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; ///
5433 enum GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; ///
5434 enum GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065; ///
5435 enum GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; ///
5436 enum GL_UNSIGNED_INT_IMAGE_3D = 0x9064; ///
5437 enum GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; ///
5438 enum GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067; ///
5439 enum GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; ///
5440 enum GL_UNSIGNED_INT_IMAGE_BUFFER_OES = 0x9067; ///
5441 enum GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066; ///
5442 enum GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; ///
5443 enum GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; ///
5444 enum GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; ///
5445 enum GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x906A; ///
5446 enum GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; ///
5447 enum GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1; ///
5448 enum GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6; ///
5449 enum GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; ///
5450 enum GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; ///
5451 enum GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2; ///
5452 enum GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7; ///
5453 enum GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; ///
5454 enum GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; ///
5455 enum GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; ///
5456 enum GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; ///
5457 enum GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D; ///
5458 enum GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5; ///
5459 enum GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; ///
5460 enum GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3; ///
5461 enum GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; ///
5462 enum GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; ///
5463 enum GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; ///
5464 enum GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; ///
5465 enum GL_UNSIGNED_INT_SAMPLER_BUFFER_OES = 0x8DD8; ///
5466 enum GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4; ///
5467 enum GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; ///
5468 enum GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; ///
5469 enum GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; ///
5470 enum GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F; ///
5471 enum GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900F; ///
5472 enum GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; ///
5473 enum GL_UNSIGNED_INT_VEC2 = 0x8DC6; ///
5474 enum GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6; ///
5475 enum GL_UNSIGNED_INT_VEC3 = 0x8DC7; ///
5476 enum GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7; ///
5477 enum GL_UNSIGNED_INT_VEC4 = 0x8DC8; ///
5478 enum GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8; ///
5479 enum GL_UNSIGNED_INVERT_NV = 0x8537; ///
5480 enum GL_UNSIGNED_NORMALIZED = 0x8C17; ///
5481 enum GL_UNSIGNED_NORMALIZED_ARB = 0x8C17; ///
5482 enum GL_UNSIGNED_NORMALIZED_EXT = 0x8C17; ///
5483 enum GL_UNSIGNED_SHORT = 0x1403; ///
5484 enum GL_UNSIGNED_SHORT_15_1_MESA = 0x8753; ///
5485 enum GL_UNSIGNED_SHORT_1_15_REV_MESA = 0x8754; ///
5486 enum GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366; ///
5487 enum GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366; ///
5488 enum GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; ///
5489 enum GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; ///
5490 enum GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365; ///
5491 enum GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365; ///
5492 enum GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 0x8365; ///
5493 enum GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; ///
5494 enum GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; ///
5495 enum GL_UNSIGNED_SHORT_5_6_5 = 0x8363; ///
5496 enum GL_UNSIGNED_SHORT_5_6_5_EXT = 0x8363; ///
5497 enum GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364; ///
5498 enum GL_UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364; ///
5499 enum GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA; ///
5500 enum GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA; ///
5501 enum GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; ///
5502 enum GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; ///
5503 enum GL_UPPER_LEFT = 0x8CA2; ///
5504 enum GL_USE_MISSING_GLYPH_NV = 0x90AA; ///
5505 enum GL_UTF16_NV = 0x909B; ///
5506 enum GL_UTF8_NV = 0x909A; ///
5507 enum GL_V2F = 0x2A20; ///
5508 enum GL_V3F = 0x2A21; ///
5509 enum GL_VALIDATE_STATUS = 0x8B83; ///
5510 enum GL_VARIABLE_A_NV = 0x8523; ///
5511 enum GL_VARIABLE_B_NV = 0x8524; ///
5512 enum GL_VARIABLE_C_NV = 0x8525; ///
5513 enum GL_VARIABLE_D_NV = 0x8526; ///
5514 enum GL_VARIABLE_E_NV = 0x8527; ///
5515 enum GL_VARIABLE_F_NV = 0x8528; ///
5516 enum GL_VARIABLE_G_NV = 0x8529; ///
5517 enum GL_VARIANT_ARRAY_EXT = 0x87E8; ///
5518 enum GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9; ///
5519 enum GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6; ///
5520 enum GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7; ///
5521 enum GL_VARIANT_DATATYPE_EXT = 0x87E5; ///
5522 enum GL_VARIANT_EXT = 0x87C1; ///
5523 enum GL_VARIANT_VALUE_EXT = 0x87E4; ///
5524 enum GL_VBO_FREE_MEMORY_ATI = 0x87FB; ///
5525 enum GL_VECTOR_EXT = 0x87BF; ///
5526 enum GL_VENDOR = 0x1F00; ///
5527 enum GL_VERSION = 0x1F02; ///
5528 enum GL_VERSION_ES_CL_1_0 = 1; ///
5529 enum GL_VERSION_ES_CL_1_1 = 1; ///
5530 enum GL_VERSION_ES_CM_1_1 = 1; ///
5531 enum GL_VERTEX23_BIT_PGI = 0x00000004; ///
5532 enum GL_VERTEX4_BIT_PGI = 0x00000008; ///
5533 enum GL_VERTEX_ARRAY = 0x8074; ///
5534 enum GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21; ///
5535 enum GL_VERTEX_ARRAY_BINDING = 0x85B5; ///
5536 enum GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5; ///
5537 enum GL_VERTEX_ARRAY_BINDING_OES = 0x85B5; ///
5538 enum GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896; ///
5539 enum GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; ///
5540 enum GL_VERTEX_ARRAY_COUNT_EXT = 0x807D; ///
5541 enum GL_VERTEX_ARRAY_EXT = 0x8074; ///
5542 enum GL_VERTEX_ARRAY_KHR = 0x8074; ///
5543 enum GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B; ///
5544 enum GL_VERTEX_ARRAY_LIST_IBM = 0x103070; ///
5545 enum GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 0x103080; ///
5546 enum GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154; ///
5547 enum GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154; ///
5548 enum GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; ///
5549 enum GL_VERTEX_ARRAY_POINTER = 0x808E; ///
5550 enum GL_VERTEX_ARRAY_POINTER_EXT = 0x808E; ///
5551 enum GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D; ///
5552 enum GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; ///
5553 enum GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; ///
5554 enum GL_VERTEX_ARRAY_RANGE_NV = 0x851D; ///
5555 enum GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; ///
5556 enum GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; ///
5557 enum GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; ///
5558 enum GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; ///
5559 enum GL_VERTEX_ARRAY_SIZE = 0x807A; ///
5560 enum GL_VERTEX_ARRAY_SIZE_EXT = 0x807A; ///
5561 enum GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; ///
5562 enum GL_VERTEX_ARRAY_STRIDE = 0x807C; ///
5563 enum GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C; ///
5564 enum GL_VERTEX_ARRAY_TYPE = 0x807B; ///
5565 enum GL_VERTEX_ARRAY_TYPE_EXT = 0x807B; ///
5566 enum GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650; ///
5567 enum GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A; ///
5568 enum GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B; ///
5569 enum GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C; ///
5570 enum GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D; ///
5571 enum GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E; ///
5572 enum GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F; ///
5573 enum GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651; ///
5574 enum GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652; ///
5575 enum GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653; ///
5576 enum GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654; ///
5577 enum GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655; ///
5578 enum GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656; ///
5579 enum GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657; ///
5580 enum GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658; ///
5581 enum GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659; ///
5582 enum GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; ///
5583 enum GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001; ///
5584 enum GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; ///
5585 enum GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; ///
5586 enum GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; ///
5587 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; ///
5588 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE; ///
5589 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; ///
5590 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 0x88FE; ///
5591 enum GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 0x88FE; ///
5592 enum GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; ///
5593 enum GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; ///
5594 enum GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD; ///
5595 enum GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; ///
5596 enum GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; ///
5597 enum GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; ///
5598 enum GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E; ///
5599 enum GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; ///
5600 enum GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; ///
5601 enum GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; ///
5602 enum GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; ///
5603 enum GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; ///
5604 enum GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; ///
5605 enum GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; ///
5606 enum GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; ///
5607 enum GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; ///
5608 enum GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; ///
5609 enum GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; ///
5610 enum GL_VERTEX_ATTRIB_BINDING = 0x82D4; ///
5611 enum GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; ///
5612 enum GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; ///
5613 enum GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; ///
5614 enum GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; ///
5615 enum GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; ///
5616 enum GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; ///
5617 enum GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; ///
5618 enum GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; ///
5619 enum GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; ///
5620 enum GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; ///
5621 enum GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; ///
5622 enum GL_VERTEX_BINDING_BUFFER = 0x8F4F; ///
5623 enum GL_VERTEX_BINDING_DIVISOR = 0x82D6; ///
5624 enum GL_VERTEX_BINDING_OFFSET = 0x82D7; ///
5625 enum GL_VERTEX_BINDING_STRIDE = 0x82D8; ///
5626 enum GL_VERTEX_BLEND_ARB = 0x86A7; ///
5627 enum GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; ///
5628 enum GL_VERTEX_DATA_HINT_PGI = 0x1A22A; ///
5629 enum GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; ///
5630 enum GL_VERTEX_ID_NV = 0x8C7B; ///
5631 enum GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5; ///
5632 enum GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF; ///
5633 enum GL_VERTEX_PRECLIP_SGIX = 0x83EE; ///
5634 enum GL_VERTEX_PROGRAM_ARB = 0x8620; ///
5635 enum GL_VERTEX_PROGRAM_BINDING_NV = 0x864A; ///
5636 enum GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7; ///
5637 enum GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6; ///
5638 enum GL_VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB5; ///
5639 enum GL_VERTEX_PROGRAM_NV = 0x8620; ///
5640 enum GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; ///
5641 enum GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642; ///
5642 enum GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; ///
5643 enum GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; ///
5644 enum GL_VERTEX_PROGRAM_POSITION_MESA = 0x8BB4; ///
5645 enum GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643; ///
5646 enum GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; ///
5647 enum GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; ///
5648 enum GL_VERTEX_SHADER = 0x8B31; ///
5649 enum GL_VERTEX_SHADER_ARB = 0x8B31; ///
5650 enum GL_VERTEX_SHADER_BINDING_EXT = 0x8781; ///
5651 enum GL_VERTEX_SHADER_BIT = 0x00000001; ///
5652 enum GL_VERTEX_SHADER_BIT_EXT = 0x00000001; ///
5653 enum GL_VERTEX_SHADER_EXT = 0x8780; ///
5654 enum GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; ///
5655 enum GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; ///
5656 enum GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0; ///
5657 enum GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3; ///
5658 enum GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; ///
5659 enum GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; ///
5660 enum GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0; ///
5661 enum GL_VERTEX_SOURCE_ATI = 0x8774; ///
5662 enum GL_VERTEX_STATE_PROGRAM_NV = 0x8621; ///
5663 enum GL_VERTEX_STREAM0_ATI = 0x876C; ///
5664 enum GL_VERTEX_STREAM1_ATI = 0x876D; ///
5665 enum GL_VERTEX_STREAM2_ATI = 0x876E; ///
5666 enum GL_VERTEX_STREAM3_ATI = 0x876F; ///
5667 enum GL_VERTEX_STREAM4_ATI = 0x8770; ///
5668 enum GL_VERTEX_STREAM5_ATI = 0x8771; ///
5669 enum GL_VERTEX_STREAM6_ATI = 0x8772; ///
5670 enum GL_VERTEX_STREAM7_ATI = 0x8773; ///
5671 enum GL_VERTEX_SUBROUTINE = 0x92E8; ///
5672 enum GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE; ///
5673 enum GL_VERTEX_TEXTURE = 0x829B; ///
5674 enum GL_VERTEX_WEIGHTING_EXT = 0x8509; ///
5675 enum GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C; ///
5676 enum GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; ///
5677 enum GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; ///
5678 enum GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; ///
5679 enum GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; ///
5680 enum GL_VERTICAL_LINE_TO_NV = 0x08; ///
5681 enum GL_VERTICES_SUBMITTED_ARB = 0x82EE; ///
5682 enum GL_VIBRANCE_BIAS_NV = 0x8719; ///
5683 enum GL_VIBRANCE_SCALE_NV = 0x8713; ///
5684 enum GL_VIDEO_BUFFER_BINDING_NV = 0x9021; ///
5685 enum GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; ///
5686 enum GL_VIDEO_BUFFER_NV = 0x9020; ///
5687 enum GL_VIDEO_BUFFER_PITCH_NV = 0x9028; ///
5688 enum GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; ///
5689 enum GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; ///
5690 enum GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; ///
5691 enum GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; ///
5692 enum GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; ///
5693 enum GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; ///
5694 enum GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; ///
5695 enum GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; ///
5696 enum GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; ///
5697 enum GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; ///
5698 enum GL_VIEWPORT = 0x0BA2; ///
5699 enum GL_VIEWPORT_BIT = 0x00000800; ///
5700 enum GL_VIEWPORT_BOUNDS_RANGE = 0x825D; ///
5701 enum GL_VIEWPORT_BOUNDS_RANGE_EXT = 0x825D; ///
5702 enum GL_VIEWPORT_BOUNDS_RANGE_NV = 0x825D; ///
5703 enum GL_VIEWPORT_BOUNDS_RANGE_OES = 0x825D; ///
5704 enum GL_VIEWPORT_COMMAND_NV = 0x0010; ///
5705 enum GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F; ///
5706 enum GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT = 0x825F; ///
5707 enum GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 0x825F; ///
5708 enum GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES = 0x825F; ///
5709 enum GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C; ///
5710 enum GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; ///
5711 enum GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; ///
5712 enum GL_VIEWPORT_SUBPIXEL_BITS = 0x825C; ///
5713 enum GL_VIEWPORT_SUBPIXEL_BITS_EXT = 0x825C; ///
5714 enum GL_VIEWPORT_SUBPIXEL_BITS_NV = 0x825C; ///
5715 enum GL_VIEWPORT_SUBPIXEL_BITS_OES = 0x825C; ///
5716 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; ///
5717 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; ///
5718 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; ///
5719 enum GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; ///
5720 enum GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; ///
5721 enum GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; ///
5722 enum GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; ///
5723 enum GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; ///
5724 enum GL_VIEWPORT_SWIZZLE_W_NV = 0x935B; ///
5725 enum GL_VIEWPORT_SWIZZLE_X_NV = 0x9358; ///
5726 enum GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359; ///
5727 enum GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A; ///
5728 enum GL_VIEW_CLASS_128_BITS = 0x82C4; ///
5729 enum GL_VIEW_CLASS_16_BITS = 0x82CA; ///
5730 enum GL_VIEW_CLASS_24_BITS = 0x82C9; ///
5731 enum GL_VIEW_CLASS_32_BITS = 0x82C8; ///
5732 enum GL_VIEW_CLASS_48_BITS = 0x82C7; ///
5733 enum GL_VIEW_CLASS_64_BITS = 0x82C6; ///
5734 enum GL_VIEW_CLASS_8_BITS = 0x82CB; ///
5735 enum GL_VIEW_CLASS_96_BITS = 0x82C5; ///
5736 enum GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3; ///
5737 enum GL_VIEW_CLASS_BPTC_UNORM = 0x82D2; ///
5738 enum GL_VIEW_CLASS_RGTC1_RED = 0x82D0; ///
5739 enum GL_VIEW_CLASS_RGTC2_RG = 0x82D1; ///
5740 enum GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC; ///
5741 enum GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD; ///
5742 enum GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE; ///
5743 enum GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF; ///
5744 enum GL_VIEW_COMPATIBILITY_CLASS = 0x82B6; ///
5745 enum GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; ///
5746 enum GL_VIRTUAL_PAGE_SIZE_INDEX_EXT = 0x91A7; ///
5747 enum GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; ///
5748 enum GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; ///
5749 enum GL_VIRTUAL_PAGE_SIZE_X_EXT = 0x9195; ///
5750 enum GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; ///
5751 enum GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; ///
5752 enum GL_VIRTUAL_PAGE_SIZE_Y_EXT = 0x9196; ///
5753 enum GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; ///
5754 enum GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; ///
5755 enum GL_VIRTUAL_PAGE_SIZE_Z_EXT = 0x9197; ///
5756 enum GL_VIVIDLIGHT_NV = 0x92A6; ///
5757 enum GL_VOLATILE_APPLE = 0x8A1A; ///
5758 enum GL_WAIT_FAILED = 0x911D; ///
5759 enum GL_WAIT_FAILED_APPLE = 0x911D; ///
5760 enum GL_WARPS_PER_SM_NV = 0x933A; ///
5761 enum GL_WARP_SIZE_NV = 0x9339; ///
5762 enum GL_WEIGHTED_AVERAGE_ARB = 0x9367; ///
5763 enum GL_WEIGHT_ARRAY_ARB = 0x86AD; ///
5764 enum GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E; ///
5765 enum GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; ///
5766 enum GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E; ///
5767 enum GL_WEIGHT_ARRAY_OES = 0x86AD; ///
5768 enum GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC; ///
5769 enum GL_WEIGHT_ARRAY_POINTER_OES = 0x86AC; ///
5770 enum GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB; ///
5771 enum GL_WEIGHT_ARRAY_SIZE_OES = 0x86AB; ///
5772 enum GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; ///
5773 enum GL_WEIGHT_ARRAY_STRIDE_OES = 0x86AA; ///
5774 enum GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9; ///
5775 enum GL_WEIGHT_ARRAY_TYPE_OES = 0x86A9; ///
5776 enum GL_WEIGHT_SUM_UNITY_ARB = 0x86A6; ///
5777 enum GL_WIDE_LINE_HINT_PGI = 0x1A222; ///
5778 enum GL_WINDOW_RECTANGLE_EXT = 0x8F12; ///
5779 enum GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13; ///
5780 enum GL_WRAP_BORDER_SUN = 0x81D4; ///
5781 enum GL_WRITEONLY_RENDERING_QCOM = 0x8823; ///
5782 enum GL_WRITE_DISCARD_NV = 0x88BE; ///
5783 enum GL_WRITE_ONLY = 0x88B9; ///
5784 enum GL_WRITE_ONLY_ARB = 0x88B9; ///
5785 enum GL_WRITE_ONLY_OES = 0x88B9; ///
5786 enum GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; ///
5787 enum GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878; ///
5788 enum GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; ///
5789 enum GL_W_EXT = 0x87D8; ///
5790 enum GL_XOR = 0x1506; ///
5791 enum GL_XOR_NV = 0x1506; ///
5792 enum GL_X_EXT = 0x87D5; ///
5793 enum GL_YCBAYCR8A_4224_NV = 0x9032; ///
5794 enum GL_YCBCR_422_APPLE = 0x85B9; ///
5795 enum GL_YCBCR_MESA = 0x8757; ///
5796 enum GL_YCBYCR8_422_NV = 0x9031; ///
5797 enum GL_YCRCBA_SGIX = 0x8319; ///
5798 enum GL_YCRCB_422_SGIX = 0x81BB; ///
5799 enum GL_YCRCB_444_SGIX = 0x81BC; ///
5800 enum GL_YCRCB_SGIX = 0x8318; ///
5801 enum GL_Y_EXT = 0x87D6; ///
5802 enum GL_Z400_BINARY_AMD = 0x8740; ///
5803 enum GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; ///
5804 enum GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; ///
5805 enum GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; ///
5806 enum GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; ///
5807 enum GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; ///
5808 enum GL_ZERO = 0; ///
5809 enum GL_ZERO_EXT = 0x87DD; ///
5810 enum GL_ZERO_TO_ONE = 0x935F; ///
5811 enum GL_ZOOM_X = 0x0D16; ///
5812 enum GL_ZOOM_Y = 0x0D17; ///
5813 enum GL_Z_EXT = 0x87D7; ///
5814 
5815 	///
5816 	enum AccumOp {
5817     	///
5818 	    ACCUM = 0x0100,
5819     	///
5820 	    LOAD = 0x0101,
5821     	///
5822 	    RETURN = 0x0102,
5823     	///
5824 	    MULT = 0x0103,
5825     	///
5826 	    ADD = 0x0104
5827 	}
5828 
5829 	///
5830 	@Bitmaskable
5831 	enum AttribMask {
5832     	///
5833 	    ACCUM_BUFFER_BIT = 0x00000200,
5834     	///
5835 	    ALL_ATTRIB_BITS = 0xFFFFFFFF,
5836     	///
5837 	    COLOR_BUFFER_BIT = 0x00004000,
5838     	///
5839 	    CURRENT_BIT = 0x00000001,
5840     	///
5841 	    DEPTH_BUFFER_BIT = 0x00000100,
5842     	///
5843 	    ENABLE_BIT = 0x00002000,
5844     	///
5845 	    EVAL_BIT = 0x00010000,
5846     	///
5847 	    FOG_BIT = 0x00000080,
5848     	///
5849 	    HINT_BIT = 0x00008000,
5850     	///
5851 	    LIGHTING_BIT = 0x00000040,
5852     	///
5853 	    LINE_BIT = 0x00000004,
5854     	///
5855 	    LIST_BIT = 0x00020000,
5856     	///
5857 	    MULTISAMPLE_BIT = 0x20000000,
5858     	///
5859 	    MULTISAMPLE_BIT_3DFX = 0x20000000,
5860     	///
5861 	    MULTISAMPLE_BIT_ARB = 0x20000000,
5862     	///
5863 	    MULTISAMPLE_BIT_EXT = 0x20000000,
5864     	///
5865 	    PIXEL_MODE_BIT = 0x00000020,
5866     	///
5867 	    POINT_BIT = 0x00000002,
5868     	///
5869 	    POLYGON_BIT = 0x00000008,
5870     	///
5871 	    POLYGON_STIPPLE_BIT = 0x00000010,
5872     	///
5873 	    SCISSOR_BIT = 0x00080000,
5874     	///
5875 	    STENCIL_BUFFER_BIT = 0x00000400,
5876     	///
5877 	    TEXTURE_BIT = 0x00040000,
5878     	///
5879 	    TRANSFORM_BIT = 0x00001000,
5880     	///
5881 	    VIEWPORT_BIT = 0x00000800
5882 	}
5883 
5884 	///
5885 	enum AlphaFunction {
5886     	///
5887 	    ALWAYS = 0x0207,
5888     	///
5889 	    EQUAL = 0x0202,
5890     	///
5891 	    GEQUAL = 0x0206,
5892     	///
5893 	    GREATER = 0x0204,
5894     	///
5895 	    LEQUAL = 0x0203,
5896     	///
5897 	    LESS = 0x0201,
5898     	///
5899 	    NEVER = 0x0200,
5900     	///
5901 	    NOTEQUAL = 0x0205
5902 	}
5903 
5904 	///
5905 	enum BlendEquationModeEXT {
5906     	///
5907 	    ALPHA_MAX_SGIX = 0x8321,
5908     	///
5909 	    ALPHA_MIN_SGIX = 0x8320,
5910     	///
5911 	    FUNC_ADD_EXT = 0x8006,
5912     	///
5913 	    FUNC_REVERSE_SUBTRACT_EXT = 0x800B,
5914     	///
5915 	    FUNC_SUBTRACT_EXT = 0x800A,
5916     	///
5917 	    LOGIC_OP = 0x0BF1,
5918     	///
5919 	    MAX_EXT = 0x8008,
5920     	///
5921 	    MIN_EXT = 0x8007
5922 	}
5923 
5924 	///
5925 	enum BlendingFactorDest {
5926     	///
5927 	    CONSTANT_ALPHA_EXT = 0x8003,
5928     	///
5929 	    CONSTANT_COLOR_EXT = 0x8001,
5930     	///
5931 	    DST_ALPHA = 0x0304,
5932     	///
5933 	    ONE = 1,
5934     	///
5935 	    ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004,
5936     	///
5937 	    ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002,
5938     	///
5939 	    ONE_MINUS_DST_ALPHA = 0x0305,
5940     	///
5941 	    ONE_MINUS_SRC_ALPHA = 0x0303,
5942     	///
5943 	    ONE_MINUS_SRC_COLOR = 0x0301,
5944     	///
5945 	    SRC_ALPHA = 0x0302,
5946     	///
5947 	    SRC_COLOR = 0x0300,
5948     	///
5949 	    ZERO = 0
5950 	}
5951 
5952 	///
5953 	enum BlendingFactorSrc {
5954     	///
5955 	    CONSTANT_ALPHA_EXT = 0x8003,
5956     	///
5957 	    CONSTANT_COLOR_EXT = 0x8001,
5958     	///
5959 	    DST_ALPHA = 0x0304,
5960     	///
5961 	    DST_COLOR = 0x0306,
5962     	///
5963 	    ONE = 1,
5964     	///
5965 	    ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004,
5966     	///
5967 	    ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002,
5968     	///
5969 	    ONE_MINUS_DST_ALPHA = 0x0305,
5970     	///
5971 	    ONE_MINUS_DST_COLOR = 0x0307,
5972     	///
5973 	    ONE_MINUS_SRC_ALPHA = 0x0303,
5974     	///
5975 	    SRC_ALPHA = 0x0302,
5976     	///
5977 	    SRC_ALPHA_SATURATE = 0x0308,
5978     	///
5979 	    ZERO = 0
5980 	}
5981 
5982 	///
5983 	enum Boolean {
5984     	///
5985 	    FALSE = 0,
5986     	///
5987 	    TRUE = 1
5988 	}
5989 
5990 	///
5991 	@Bitmaskable
5992 	enum ClearBufferMask {
5993     	///
5994 	    ACCUM_BUFFER_BIT = 0x00000200,
5995     	///
5996 	    COLOR_BUFFER_BIT = 0x00004000,
5997     	///
5998 	    COVERAGE_BUFFER_BIT_NV = 0x00008000,
5999     	///
6000 	    DEPTH_BUFFER_BIT = 0x00000100,
6001     	///
6002 	    STENCIL_BUFFER_BIT = 0x00000400
6003 	}
6004 
6005 	///
6006 	@Bitmaskable
6007 	enum ClientAttribMask {
6008     	///
6009 	    CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF,
6010     	///
6011 	    CLIENT_PIXEL_STORE_BIT = 0x00000001,
6012     	///
6013 	    CLIENT_VERTEX_ARRAY_BIT = 0x00000002
6014 	}
6015 
6016 	///
6017 	enum ClipPlaneName {
6018     	///
6019 	    CLIP_DISTANCE0 = 0x3000,
6020     	///
6021 	    CLIP_DISTANCE1 = 0x3001,
6022     	///
6023 	    CLIP_DISTANCE2 = 0x3002,
6024     	///
6025 	    CLIP_DISTANCE3 = 0x3003,
6026     	///
6027 	    CLIP_DISTANCE4 = 0x3004,
6028     	///
6029 	    CLIP_DISTANCE5 = 0x3005,
6030     	///
6031 	    CLIP_DISTANCE6 = 0x3006,
6032     	///
6033 	    CLIP_DISTANCE7 = 0x3007,
6034     	///
6035 	    CLIP_PLANE0 = 0x3000,
6036     	///
6037 	    CLIP_PLANE1 = 0x3001,
6038     	///
6039 	    CLIP_PLANE2 = 0x3002,
6040     	///
6041 	    CLIP_PLANE3 = 0x3003,
6042     	///
6043 	    CLIP_PLANE4 = 0x3004,
6044     	///
6045 	    CLIP_PLANE5 = 0x3005
6046 	}
6047 
6048 	///
6049 	enum ColorMaterialFace {
6050     	///
6051 	    BACK = 0x0405,
6052     	///
6053 	    FRONT = 0x0404,
6054     	///
6055 	    FRONT_AND_BACK = 0x0408
6056 	}
6057 
6058 	///
6059 	enum ColorMaterialParameter {
6060     	///
6061 	    AMBIENT = 0x1200,
6062     	///
6063 	    AMBIENT_AND_DIFFUSE = 0x1602,
6064     	///
6065 	    DIFFUSE = 0x1201,
6066     	///
6067 	    EMISSION = 0x1600,
6068     	///
6069 	    SPECULAR = 0x1202
6070 	}
6071 
6072 	///
6073 	enum ColorPointerType {
6074     	///
6075 	    BYTE = 0x1400,
6076     	///
6077 	    DOUBLE = 0x140A,
6078     	///
6079 	    FLOAT = 0x1406,
6080     	///
6081 	    INT = 0x1404,
6082     	///
6083 	    SHORT = 0x1402,
6084     	///
6085 	    UNSIGNED_BYTE = 0x1401,
6086     	///
6087 	    UNSIGNED_INT = 0x1405,
6088     	///
6089 	    UNSIGNED_SHORT = 0x1403
6090 	}
6091 
6092 	///
6093 	enum ColorTableParameterPNameSGI {
6094     	///
6095 	    COLOR_TABLE_BIAS = 0x80D7,
6096     	///
6097 	    COLOR_TABLE_BIAS_SGI = 0x80D7,
6098     	///
6099 	    COLOR_TABLE_SCALE = 0x80D6,
6100     	///
6101 	    COLOR_TABLE_SCALE_SGI = 0x80D6
6102 	}
6103 
6104 	///
6105 	enum ColorTableTargetSGI {
6106     	///
6107 	    COLOR_TABLE = 0x80D0,
6108     	///
6109 	    COLOR_TABLE_SGI = 0x80D0,
6110     	///
6111 	    POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2,
6112     	///
6113 	    POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2,
6114     	///
6115 	    POST_CONVOLUTION_COLOR_TABLE = 0x80D1,
6116     	///
6117 	    POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1,
6118     	///
6119 	    PROXY_COLOR_TABLE = 0x80D3,
6120     	///
6121 	    PROXY_COLOR_TABLE_SGI = 0x80D3,
6122     	///
6123 	    PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5,
6124     	///
6125 	    PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5,
6126     	///
6127 	    PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4,
6128     	///
6129 	    PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4,
6130     	///
6131 	    PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD,
6132     	///
6133 	    TEXTURE_COLOR_TABLE_SGI = 0x80BC
6134 	}
6135 
6136 	///
6137 	@Bitmaskable
6138 	enum ContextFlagMask {
6139     	///
6140 	    CONTEXT_FLAG_DEBUG_BIT = 0x00000002,
6141     	///
6142 	    CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002,
6143     	///
6144 	    CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001,
6145     	///
6146 	    CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004,
6147     	///
6148 	    CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT = 0x00000010
6149 	}
6150 
6151 	///
6152 	@Bitmaskable
6153 	enum ContextProfileMask {
6154     	///
6155 	    CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002,
6156     	///
6157 	    CONTEXT_CORE_PROFILE_BIT = 0x00000001
6158 	}
6159 
6160 	///
6161 	enum ConvolutionBorderModeEXT {
6162     	///
6163 	    REDUCE = 0x8016,
6164     	///
6165 	    REDUCE_EXT = 0x8016
6166 	}
6167 
6168 	///
6169 	enum ConvolutionParameterEXT {
6170     	///
6171 	    CONVOLUTION_BORDER_MODE = 0x8013,
6172     	///
6173 	    CONVOLUTION_BORDER_MODE_EXT = 0x8013,
6174     	///
6175 	    CONVOLUTION_FILTER_BIAS = 0x8015,
6176     	///
6177 	    CONVOLUTION_FILTER_BIAS_EXT = 0x8015,
6178     	///
6179 	    CONVOLUTION_FILTER_SCALE = 0x8014,
6180     	///
6181 	    CONVOLUTION_FILTER_SCALE_EXT = 0x8014
6182 	}
6183 
6184 	///
6185 	enum ConvolutionTargetEXT {
6186     	///
6187 	    CONVOLUTION_1D = 0x8010,
6188     	///
6189 	    CONVOLUTION_1D_EXT = 0x8010,
6190     	///
6191 	    CONVOLUTION_2D = 0x8011,
6192     	///
6193 	    CONVOLUTION_2D_EXT = 0x8011
6194 	}
6195 
6196 	///
6197 	enum CullFaceMode {
6198     	///
6199 	    BACK = 0x0405,
6200     	///
6201 	    FRONT = 0x0404,
6202     	///
6203 	    FRONT_AND_BACK = 0x0408
6204 	}
6205 
6206 	///
6207 	enum DepthFunction {
6208     	///
6209 	    ALWAYS = 0x0207,
6210     	///
6211 	    EQUAL = 0x0202,
6212     	///
6213 	    GEQUAL = 0x0206,
6214     	///
6215 	    GREATER = 0x0204,
6216     	///
6217 	    LEQUAL = 0x0203,
6218     	///
6219 	    LESS = 0x0201,
6220     	///
6221 	    NEVER = 0x0200,
6222     	///
6223 	    NOTEQUAL = 0x0205
6224 	}
6225 
6226 	///
6227 	enum DrawBufferMode {
6228     	///
6229 	    AUX0 = 0x0409,
6230     	///
6231 	    AUX1 = 0x040A,
6232     	///
6233 	    AUX2 = 0x040B,
6234     	///
6235 	    AUX3 = 0x040C,
6236     	///
6237 	    BACK = 0x0405,
6238     	///
6239 	    BACK_LEFT = 0x0402,
6240     	///
6241 	    BACK_RIGHT = 0x0403,
6242     	///
6243 	    FRONT = 0x0404,
6244     	///
6245 	    FRONT_AND_BACK = 0x0408,
6246     	///
6247 	    FRONT_LEFT = 0x0400,
6248     	///
6249 	    FRONT_RIGHT = 0x0401,
6250     	///
6251 	    LEFT = 0x0406,
6252     	///
6253 	    NONE = 0,
6254     	///
6255 	    NONE_OES = 0,
6256     	///
6257 	    RIGHT = 0x0407
6258 	}
6259 
6260 	///
6261 	enum EnableCap {
6262     	///
6263 	    ALPHA_TEST = 0x0BC0,
6264     	///
6265 	    ASYNC_DRAW_PIXELS_SGIX = 0x835D,
6266     	///
6267 	    ASYNC_HISTOGRAM_SGIX = 0x832C,
6268     	///
6269 	    ASYNC_READ_PIXELS_SGIX = 0x835E,
6270     	///
6271 	    ASYNC_TEX_IMAGE_SGIX = 0x835C,
6272     	///
6273 	    AUTO_NORMAL = 0x0D80,
6274     	///
6275 	    BLEND = 0x0BE2,
6276     	///
6277 	    CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183,
6278     	///
6279 	    CLIP_PLANE0 = 0x3000,
6280     	///
6281 	    CLIP_PLANE1 = 0x3001,
6282     	///
6283 	    CLIP_PLANE2 = 0x3002,
6284     	///
6285 	    CLIP_PLANE3 = 0x3003,
6286     	///
6287 	    CLIP_PLANE4 = 0x3004,
6288     	///
6289 	    CLIP_PLANE5 = 0x3005,
6290     	///
6291 	    COLOR_ARRAY = 0x8076,
6292     	///
6293 	    COLOR_LOGIC_OP = 0x0BF2,
6294     	///
6295 	    COLOR_MATERIAL = 0x0B57,
6296     	///
6297 	    COLOR_TABLE_SGI = 0x80D0,
6298     	///
6299 	    CONVOLUTION_1D_EXT = 0x8010,
6300     	///
6301 	    CONVOLUTION_2D_EXT = 0x8011,
6302     	///
6303 	    CULL_FACE = 0x0B44,
6304     	///
6305 	    DEPTH_TEST = 0x0B71,
6306     	///
6307 	    DITHER = 0x0BD0,
6308     	///
6309 	    EDGE_FLAG_ARRAY = 0x8079,
6310     	///
6311 	    FOG = 0x0B60,
6312     	///
6313 	    FOG_OFFSET_SGIX = 0x8198,
6314     	///
6315 	    FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401,
6316     	///
6317 	    FRAGMENT_LIGHT0_SGIX = 0x840C,
6318     	///
6319 	    FRAGMENT_LIGHT1_SGIX = 0x840D,
6320     	///
6321 	    FRAGMENT_LIGHT2_SGIX = 0x840E,
6322     	///
6323 	    FRAGMENT_LIGHT3_SGIX = 0x840F,
6324     	///
6325 	    FRAGMENT_LIGHT4_SGIX = 0x8410,
6326     	///
6327 	    FRAGMENT_LIGHT5_SGIX = 0x8411,
6328     	///
6329 	    FRAGMENT_LIGHT6_SGIX = 0x8412,
6330     	///
6331 	    FRAGMENT_LIGHT7_SGIX = 0x8413,
6332     	///
6333 	    FRAGMENT_LIGHTING_SGIX = 0x8400,
6334     	///
6335 	    FRAMEZOOM_SGIX = 0x818B,
6336     	///
6337 	    HISTOGRAM_EXT = 0x8024,
6338     	///
6339 	    INDEX_ARRAY = 0x8077,
6340     	///
6341 	    INDEX_LOGIC_OP = 0x0BF1,
6342     	///
6343 	    INTERLACE_SGIX = 0x8094,
6344     	///
6345 	    IR_INSTRUMENT1_SGIX = 0x817F,
6346     	///
6347 	    LIGHT0 = 0x4000,
6348     	///
6349 	    LIGHT1 = 0x4001,
6350     	///
6351 	    LIGHT2 = 0x4002,
6352     	///
6353 	    LIGHT3 = 0x4003,
6354     	///
6355 	    LIGHT4 = 0x4004,
6356     	///
6357 	    LIGHT5 = 0x4005,
6358     	///
6359 	    LIGHT6 = 0x4006,
6360     	///
6361 	    LIGHT7 = 0x4007,
6362     	///
6363 	    LIGHTING = 0x0B50,
6364     	///
6365 	    LINE_SMOOTH = 0x0B20,
6366     	///
6367 	    LINE_STIPPLE = 0x0B24,
6368     	///
6369 	    MAP1_COLOR_4 = 0x0D90,
6370     	///
6371 	    MAP1_INDEX = 0x0D91,
6372     	///
6373 	    MAP1_NORMAL = 0x0D92,
6374     	///
6375 	    MAP1_TEXTURE_COORD_1 = 0x0D93,
6376     	///
6377 	    MAP1_TEXTURE_COORD_2 = 0x0D94,
6378     	///
6379 	    MAP1_TEXTURE_COORD_3 = 0x0D95,
6380     	///
6381 	    MAP1_TEXTURE_COORD_4 = 0x0D96,
6382     	///
6383 	    MAP1_VERTEX_3 = 0x0D97,
6384     	///
6385 	    MAP1_VERTEX_4 = 0x0D98,
6386     	///
6387 	    MAP2_COLOR_4 = 0x0DB0,
6388     	///
6389 	    MAP2_INDEX = 0x0DB1,
6390     	///
6391 	    MAP2_NORMAL = 0x0DB2,
6392     	///
6393 	    MAP2_TEXTURE_COORD_1 = 0x0DB3,
6394     	///
6395 	    MAP2_TEXTURE_COORD_2 = 0x0DB4,
6396     	///
6397 	    MAP2_TEXTURE_COORD_3 = 0x0DB5,
6398     	///
6399 	    MAP2_TEXTURE_COORD_4 = 0x0DB6,
6400     	///
6401 	    MAP2_VERTEX_3 = 0x0DB7,
6402     	///
6403 	    MAP2_VERTEX_4 = 0x0DB8,
6404     	///
6405 	    MINMAX_EXT = 0x802E,
6406     	///
6407 	    MULTISAMPLE_SGIS = 0x809D,
6408     	///
6409 	    NORMALIZE = 0x0BA1,
6410     	///
6411 	    NORMAL_ARRAY = 0x8075,
6412     	///
6413 	    PIXEL_TEXTURE_SGIS = 0x8353,
6414     	///
6415 	    PIXEL_TEX_GEN_SGIX = 0x8139,
6416     	///
6417 	    POINT_SMOOTH = 0x0B10,
6418     	///
6419 	    POLYGON_OFFSET_FILL = 0x8037,
6420     	///
6421 	    POLYGON_OFFSET_LINE = 0x2A02,
6422     	///
6423 	    POLYGON_OFFSET_POINT = 0x2A01,
6424     	///
6425 	    POLYGON_SMOOTH = 0x0B41,
6426     	///
6427 	    POLYGON_STIPPLE = 0x0B42,
6428     	///
6429 	    POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2,
6430     	///
6431 	    POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1,
6432     	///
6433 	    REFERENCE_PLANE_SGIX = 0x817D,
6434     	///
6435 	    RESCALE_NORMAL_EXT = 0x803A,
6436     	///
6437 	    SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E,
6438     	///
6439 	    SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F,
6440     	///
6441 	    SAMPLE_MASK_SGIS = 0x80A0,
6442     	///
6443 	    SCISSOR_TEST = 0x0C11,
6444     	///
6445 	    SEPARABLE_2D_EXT = 0x8012,
6446     	///
6447 	    SHARED_TEXTURE_PALETTE_EXT = 0x81FB,
6448     	///
6449 	    SPRITE_SGIX = 0x8148,
6450     	///
6451 	    STENCIL_TEST = 0x0B90,
6452     	///
6453 	    TEXTURE_1D = 0x0DE0,
6454     	///
6455 	    TEXTURE_2D = 0x0DE1,
6456     	///
6457 	    TEXTURE_3D_EXT = 0x806F,
6458     	///
6459 	    TEXTURE_4D_SGIS = 0x8134,
6460     	///
6461 	    TEXTURE_COLOR_TABLE_SGI = 0x80BC,
6462     	///
6463 	    TEXTURE_COORD_ARRAY = 0x8078,
6464     	///
6465 	    TEXTURE_GEN_Q = 0x0C63,
6466     	///
6467 	    TEXTURE_GEN_R = 0x0C62,
6468     	///
6469 	    TEXTURE_GEN_S = 0x0C60,
6470     	///
6471 	    TEXTURE_GEN_T = 0x0C61,
6472     	///
6473 	    VERTEX_ARRAY = 0x8074
6474 	}
6475 
6476 	///
6477 	enum ErrorCode {
6478     	///
6479 	    INVALID_ENUM = 0x0500,
6480     	///
6481 	    INVALID_FRAMEBUFFER_OPERATION = 0x0506,
6482     	///
6483 	    INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506,
6484     	///
6485 	    INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506,
6486     	///
6487 	    INVALID_OPERATION = 0x0502,
6488     	///
6489 	    INVALID_VALUE = 0x0501,
6490     	///
6491 	    NO_ERROR = 0,
6492     	///
6493 	    OUT_OF_MEMORY = 0x0505,
6494     	///
6495 	    STACK_OVERFLOW = 0x0503,
6496     	///
6497 	    STACK_UNDERFLOW = 0x0504,
6498     	///
6499 	    TABLE_TOO_LARGE = 0x8031,
6500     	///
6501 	    TABLE_TOO_LARGE_EXT = 0x8031,
6502     	///
6503 	    TEXTURE_TOO_LARGE_EXT = 0x8065
6504 	}
6505 
6506 	///
6507 	enum FeedbackType {
6508     	///
6509 	    _2D = 0x0600,
6510     	///
6511 	    _3D = 0x0601,
6512     	///
6513 	    COLOR_3D = 0x0602,
6514     	///
6515 	    COLOR_TEXTURE_3D = 0x0603,
6516     	///
6517 	    COLOR_TEXTURE_4D = 0x0604
6518 	}
6519 
6520 	///
6521 	enum FeedBackToken {
6522     	///
6523 	    BITMAP_TOKEN = 0x0704,
6524     	///
6525 	    COPY_PIXEL_TOKEN = 0x0706,
6526     	///
6527 	    DRAW_PIXEL_TOKEN = 0x0705,
6528     	///
6529 	    LINE_RESET_TOKEN = 0x0707,
6530     	///
6531 	    LINE_TOKEN = 0x0702,
6532     	///
6533 	    PASS_THROUGH_TOKEN = 0x0700,
6534     	///
6535 	    POINT_TOKEN = 0x0701,
6536     	///
6537 	    POLYGON_TOKEN = 0x0703
6538 	}
6539 
6540 	///
6541 	enum FfdTargetSGIX {
6542     	///
6543 	    GEOMETRY_DEFORMATION_SGIX = 0x8194,
6544     	///
6545 	    TEXTURE_DEFORMATION_SGIX = 0x8195
6546 	}
6547 
6548 	///
6549 	enum FogCoordinatePointerType {
6550     	///
6551 	    FLOAT = 0x1406,
6552     	///
6553 	    DOUBLE = 0x140A
6554 	}
6555 
6556 	///
6557 	enum FogMode {
6558     	///
6559 	    EXP = 0x0800,
6560     	///
6561 	    EXP2 = 0x0801,
6562     	///
6563 	    FOG_FUNC_SGIS = 0x812A,
6564     	///
6565 	    LINEAR = 0x2601
6566 	}
6567 
6568 	///
6569 	enum FogParameter {
6570     	///
6571 	    FOG_COLOR = 0x0B66,
6572     	///
6573 	    FOG_DENSITY = 0x0B62,
6574     	///
6575 	    FOG_END = 0x0B64,
6576     	///
6577 	    FOG_INDEX = 0x0B61,
6578     	///
6579 	    FOG_MODE = 0x0B65,
6580     	///
6581 	    FOG_OFFSET_VALUE_SGIX = 0x8199,
6582     	///
6583 	    FOG_START = 0x0B63
6584 	}
6585 
6586 	///
6587 	enum FogPointerTypeEXT {
6588     	///
6589 	    FLOAT = 0x1406,
6590     	///
6591 	    DOUBLE = 0x140A
6592 	}
6593 
6594 	///
6595 	enum FogPointerTypeIBM {
6596     	///
6597 	    FLOAT = 0x1406,
6598     	///
6599 	    DOUBLE = 0x140A
6600 	}
6601 
6602 	///
6603 	enum FragmentLightModelParameterSGIX {
6604     	///
6605 	    FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A,
6606     	///
6607 	    FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408,
6608     	///
6609 	    FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B,
6610     	///
6611 	    FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409
6612 	}
6613 
6614 	///
6615 	enum FrontFaceDirection {
6616     	///
6617 	    CCW = 0x0901,
6618     	///
6619 	    CW = 0x0900
6620 	}
6621 
6622 	///
6623 	enum GetColorTableParameterPNameSGI {
6624     	///
6625 	    COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD,
6626     	///
6627 	    COLOR_TABLE_BIAS_SGI = 0x80D7,
6628     	///
6629 	    COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC,
6630     	///
6631 	    COLOR_TABLE_FORMAT_SGI = 0x80D8,
6632     	///
6633 	    COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB,
6634     	///
6635 	    COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF,
6636     	///
6637 	    COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE,
6638     	///
6639 	    COLOR_TABLE_RED_SIZE_SGI = 0x80DA,
6640     	///
6641 	    COLOR_TABLE_SCALE_SGI = 0x80D6,
6642     	///
6643 	    COLOR_TABLE_WIDTH_SGI = 0x80D9
6644 	}
6645 
6646 	///
6647 	enum GetConvolutionParameter {
6648     	///
6649 	    CONVOLUTION_BORDER_MODE_EXT = 0x8013,
6650     	///
6651 	    CONVOLUTION_FILTER_BIAS_EXT = 0x8015,
6652     	///
6653 	    CONVOLUTION_FILTER_SCALE_EXT = 0x8014,
6654     	///
6655 	    CONVOLUTION_FORMAT_EXT = 0x8017,
6656     	///
6657 	    CONVOLUTION_HEIGHT_EXT = 0x8019,
6658     	///
6659 	    CONVOLUTION_WIDTH_EXT = 0x8018,
6660     	///
6661 	    MAX_CONVOLUTION_HEIGHT_EXT = 0x801B,
6662     	///
6663 	    MAX_CONVOLUTION_WIDTH_EXT = 0x801A
6664 	}
6665 
6666 	///
6667 	enum GetHistogramParameterPNameEXT {
6668     	///
6669 	    HISTOGRAM_ALPHA_SIZE_EXT = 0x802B,
6670     	///
6671 	    HISTOGRAM_BLUE_SIZE_EXT = 0x802A,
6672     	///
6673 	    HISTOGRAM_FORMAT_EXT = 0x8027,
6674     	///
6675 	    HISTOGRAM_GREEN_SIZE_EXT = 0x8029,
6676     	///
6677 	    HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C,
6678     	///
6679 	    HISTOGRAM_RED_SIZE_EXT = 0x8028,
6680     	///
6681 	    HISTOGRAM_SINK_EXT = 0x802D,
6682     	///
6683 	    HISTOGRAM_WIDTH_EXT = 0x8026
6684 	}
6685 
6686 	///
6687 	enum GetMapQuery {
6688     	///
6689 	    COEFF = 0x0A00,
6690     	///
6691 	    DOMAIN = 0x0A02,
6692     	///
6693 	    ORDER = 0x0A01
6694 	}
6695 
6696 	///
6697 	enum GetMinmaxParameterPNameEXT {
6698     	///
6699 	    MINMAX_FORMAT = 0x802F,
6700     	///
6701 	    MINMAX_FORMAT_EXT = 0x802F,
6702     	///
6703 	    MINMAX_SINK = 0x8030,
6704     	///
6705 	    MINMAX_SINK_EXT = 0x8030
6706 	}
6707 
6708 	///
6709 	enum GetPixelMap {
6710     	///
6711 	    PIXEL_MAP_A_TO_A = 0x0C79,
6712     	///
6713 	    PIXEL_MAP_B_TO_B = 0x0C78,
6714     	///
6715 	    PIXEL_MAP_G_TO_G = 0x0C77,
6716     	///
6717 	    PIXEL_MAP_I_TO_A = 0x0C75,
6718     	///
6719 	    PIXEL_MAP_I_TO_B = 0x0C74,
6720     	///
6721 	    PIXEL_MAP_I_TO_G = 0x0C73,
6722     	///
6723 	    PIXEL_MAP_I_TO_I = 0x0C70,
6724     	///
6725 	    PIXEL_MAP_I_TO_R = 0x0C72,
6726     	///
6727 	    PIXEL_MAP_R_TO_R = 0x0C76,
6728     	///
6729 	    PIXEL_MAP_S_TO_S = 0x0C71
6730 	}
6731 
6732 	///
6733 	enum GetPName {
6734     	///
6735 	    ACCUM_ALPHA_BITS = 0x0D5B,
6736     	///
6737 	    ACCUM_BLUE_BITS = 0x0D5A,
6738     	///
6739 	    ACCUM_CLEAR_VALUE = 0x0B80,
6740     	///
6741 	    ACCUM_GREEN_BITS = 0x0D59,
6742     	///
6743 	    ACCUM_RED_BITS = 0x0D58,
6744     	///
6745 	    ALIASED_LINE_WIDTH_RANGE = 0x846E,
6746     	///
6747 	    ALIASED_POINT_SIZE_RANGE = 0x846D,
6748     	///
6749 	    ALPHA_BIAS = 0x0D1D,
6750     	///
6751 	    ALPHA_BITS = 0x0D55,
6752     	///
6753 	    ALPHA_SCALE = 0x0D1C,
6754     	///
6755 	    ALPHA_TEST = 0x0BC0,
6756     	///
6757 	    ALPHA_TEST_FUNC = 0x0BC1,
6758     	///
6759 	    ALPHA_TEST_FUNC_QCOM = 0x0BC1,
6760     	///
6761 	    ALPHA_TEST_QCOM = 0x0BC0,
6762     	///
6763 	    ALPHA_TEST_REF = 0x0BC2,
6764     	///
6765 	    ALPHA_TEST_REF_QCOM = 0x0BC2,
6766     	///
6767 	    ASYNC_DRAW_PIXELS_SGIX = 0x835D,
6768     	///
6769 	    ASYNC_HISTOGRAM_SGIX = 0x832C,
6770     	///
6771 	    ASYNC_MARKER_SGIX = 0x8329,
6772     	///
6773 	    ASYNC_READ_PIXELS_SGIX = 0x835E,
6774     	///
6775 	    ASYNC_TEX_IMAGE_SGIX = 0x835C,
6776     	///
6777 	    ATTRIB_STACK_DEPTH = 0x0BB0,
6778     	///
6779 	    AUTO_NORMAL = 0x0D80,
6780     	///
6781 	    AUX_BUFFERS = 0x0C00,
6782     	///
6783 	    BLEND = 0x0BE2,
6784     	///
6785 	    BLEND_COLOR_EXT = 0x8005,
6786     	///
6787 	    BLEND_DST = 0x0BE0,
6788     	///
6789 	    BLEND_EQUATION_EXT = 0x8009,
6790     	///
6791 	    BLEND_SRC = 0x0BE1,
6792     	///
6793 	    BLUE_BIAS = 0x0D1B,
6794     	///
6795 	    BLUE_BITS = 0x0D54,
6796     	///
6797 	    BLUE_SCALE = 0x0D1A,
6798     	///
6799 	    CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183,
6800     	///
6801 	    CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1,
6802     	///
6803 	    CLIP_PLANE0 = 0x3000,
6804     	///
6805 	    CLIP_PLANE1 = 0x3001,
6806     	///
6807 	    CLIP_PLANE2 = 0x3002,
6808     	///
6809 	    CLIP_PLANE3 = 0x3003,
6810     	///
6811 	    CLIP_PLANE4 = 0x3004,
6812     	///
6813 	    CLIP_PLANE5 = 0x3005,
6814     	///
6815 	    COLOR_ARRAY = 0x8076,
6816     	///
6817 	    COLOR_ARRAY_COUNT_EXT = 0x8084,
6818     	///
6819 	    COLOR_ARRAY_SIZE = 0x8081,
6820     	///
6821 	    COLOR_ARRAY_STRIDE = 0x8083,
6822     	///
6823 	    COLOR_ARRAY_TYPE = 0x8082,
6824     	///
6825 	    COLOR_CLEAR_VALUE = 0x0C22,
6826     	///
6827 	    COLOR_LOGIC_OP = 0x0BF2,
6828     	///
6829 	    COLOR_MATERIAL = 0x0B57,
6830     	///
6831 	    COLOR_MATERIAL_FACE = 0x0B55,
6832     	///
6833 	    COLOR_MATERIAL_PARAMETER = 0x0B56,
6834     	///
6835 	    COLOR_MATRIX_SGI = 0x80B1,
6836     	///
6837 	    COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2,
6838     	///
6839 	    COLOR_TABLE_SGI = 0x80D0,
6840     	///
6841 	    COLOR_WRITEMASK = 0x0C23,
6842     	///
6843 	    CONVOLUTION_1D_EXT = 0x8010,
6844     	///
6845 	    CONVOLUTION_2D_EXT = 0x8011,
6846     	///
6847 	    CONVOLUTION_HINT_SGIX = 0x8316,
6848     	///
6849 	    CULL_FACE = 0x0B44,
6850     	///
6851 	    CULL_FACE_MODE = 0x0B45,
6852     	///
6853 	    CURRENT_COLOR = 0x0B00,
6854     	///
6855 	    CURRENT_INDEX = 0x0B01,
6856     	///
6857 	    CURRENT_NORMAL = 0x0B02,
6858     	///
6859 	    CURRENT_RASTER_COLOR = 0x0B04,
6860     	///
6861 	    CURRENT_RASTER_DISTANCE = 0x0B09,
6862     	///
6863 	    CURRENT_RASTER_INDEX = 0x0B05,
6864     	///
6865 	    CURRENT_RASTER_POSITION = 0x0B07,
6866     	///
6867 	    CURRENT_RASTER_POSITION_VALID = 0x0B08,
6868     	///
6869 	    CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
6870     	///
6871 	    CURRENT_TEXTURE_COORDS = 0x0B03,
6872     	///
6873 	    DEFORMATIONS_MASK_SGIX = 0x8196,
6874     	///
6875 	    DEPTH_BIAS = 0x0D1F,
6876     	///
6877 	    DEPTH_BITS = 0x0D56,
6878     	///
6879 	    DEPTH_CLEAR_VALUE = 0x0B73,
6880     	///
6881 	    DEPTH_FUNC = 0x0B74,
6882     	///
6883 	    DEPTH_RANGE = 0x0B70,
6884     	///
6885 	    DEPTH_SCALE = 0x0D1E,
6886     	///
6887 	    DEPTH_TEST = 0x0B71,
6888     	///
6889 	    DEPTH_WRITEMASK = 0x0B72,
6890     	///
6891 	    DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096,
6892     	///
6893 	    DISTANCE_ATTENUATION_SGIS = 0x8129,
6894     	///
6895 	    DITHER = 0x0BD0,
6896     	///
6897 	    DOUBLEBUFFER = 0x0C32,
6898     	///
6899 	    DRAW_BUFFER = 0x0C01,
6900     	///
6901 	    DRAW_BUFFER_EXT = 0x0C01,
6902     	///
6903 	    EDGE_FLAG = 0x0B43,
6904     	///
6905 	    EDGE_FLAG_ARRAY = 0x8079,
6906     	///
6907 	    EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D,
6908     	///
6909 	    EDGE_FLAG_ARRAY_STRIDE = 0x808C,
6910     	///
6911 	    FEEDBACK_BUFFER_SIZE = 0x0DF1,
6912     	///
6913 	    FEEDBACK_BUFFER_TYPE = 0x0DF2,
6914     	///
6915 	    FOG = 0x0B60,
6916     	///
6917 	    FOG_COLOR = 0x0B66,
6918     	///
6919 	    FOG_DENSITY = 0x0B62,
6920     	///
6921 	    FOG_END = 0x0B64,
6922     	///
6923 	    FOG_FUNC_POINTS_SGIS = 0x812B,
6924     	///
6925 	    FOG_HINT = 0x0C54,
6926     	///
6927 	    FOG_INDEX = 0x0B61,
6928     	///
6929 	    FOG_MODE = 0x0B65,
6930     	///
6931 	    FOG_OFFSET_SGIX = 0x8198,
6932     	///
6933 	    FOG_OFFSET_VALUE_SGIX = 0x8199,
6934     	///
6935 	    FOG_START = 0x0B63,
6936     	///
6937 	    FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402,
6938     	///
6939 	    FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403,
6940     	///
6941 	    FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401,
6942     	///
6943 	    FRAGMENT_LIGHT0_SGIX = 0x840C,
6944     	///
6945 	    FRAGMENT_LIGHTING_SGIX = 0x8400,
6946     	///
6947 	    FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A,
6948     	///
6949 	    FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408,
6950     	///
6951 	    FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B,
6952     	///
6953 	    FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409,
6954     	///
6955 	    FRAMEZOOM_FACTOR_SGIX = 0x818C,
6956     	///
6957 	    FRAMEZOOM_SGIX = 0x818B,
6958     	///
6959 	    FRONT_FACE = 0x0B46,
6960     	///
6961 	    GENERATE_MIPMAP_HINT_SGIS = 0x8192,
6962     	///
6963 	    GREEN_BIAS = 0x0D19,
6964     	///
6965 	    GREEN_BITS = 0x0D53,
6966     	///
6967 	    GREEN_SCALE = 0x0D18,
6968     	///
6969 	    HISTOGRAM_EXT = 0x8024,
6970     	///
6971 	    INDEX_ARRAY = 0x8077,
6972     	///
6973 	    INDEX_ARRAY_COUNT_EXT = 0x8087,
6974     	///
6975 	    INDEX_ARRAY_STRIDE = 0x8086,
6976     	///
6977 	    INDEX_ARRAY_TYPE = 0x8085,
6978     	///
6979 	    INDEX_BITS = 0x0D51,
6980     	///
6981 	    INDEX_CLEAR_VALUE = 0x0C20,
6982     	///
6983 	    INDEX_LOGIC_OP = 0x0BF1,
6984     	///
6985 	    INDEX_MODE = 0x0C30,
6986     	///
6987 	    INDEX_OFFSET = 0x0D13,
6988     	///
6989 	    INDEX_SHIFT = 0x0D12,
6990     	///
6991 	    INDEX_WRITEMASK = 0x0C21,
6992     	///
6993 	    INSTRUMENT_MEASUREMENTS_SGIX = 0x8181,
6994     	///
6995 	    INTERLACE_SGIX = 0x8094,
6996     	///
6997 	    IR_INSTRUMENT1_SGIX = 0x817F,
6998     	///
6999 	    LIGHT0 = 0x4000,
7000     	///
7001 	    LIGHT1 = 0x4001,
7002     	///
7003 	    LIGHT2 = 0x4002,
7004     	///
7005 	    LIGHT3 = 0x4003,
7006     	///
7007 	    LIGHT4 = 0x4004,
7008     	///
7009 	    LIGHT5 = 0x4005,
7010     	///
7011 	    LIGHT6 = 0x4006,
7012     	///
7013 	    LIGHT7 = 0x4007,
7014     	///
7015 	    LIGHTING = 0x0B50,
7016     	///
7017 	    LIGHT_ENV_MODE_SGIX = 0x8407,
7018     	///
7019 	    LIGHT_MODEL_AMBIENT = 0x0B53,
7020     	///
7021 	    LIGHT_MODEL_COLOR_CONTROL = 0x81F8,
7022     	///
7023 	    LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
7024     	///
7025 	    LIGHT_MODEL_TWO_SIDE = 0x0B52,
7026     	///
7027 	    LINE_SMOOTH = 0x0B20,
7028     	///
7029 	    LINE_SMOOTH_HINT = 0x0C52,
7030     	///
7031 	    LINE_STIPPLE = 0x0B24,
7032     	///
7033 	    LINE_STIPPLE_PATTERN = 0x0B25,
7034     	///
7035 	    LINE_STIPPLE_REPEAT = 0x0B26,
7036     	///
7037 	    LINE_WIDTH = 0x0B21,
7038     	///
7039 	    LINE_WIDTH_GRANULARITY = 0x0B23,
7040     	///
7041 	    LINE_WIDTH_RANGE = 0x0B22,
7042     	///
7043 	    LIST_BASE = 0x0B32,
7044     	///
7045 	    LIST_INDEX = 0x0B33,
7046     	///
7047 	    LIST_MODE = 0x0B30,
7048     	///
7049 	    LOGIC_OP = 0x0BF1,
7050     	///
7051 	    LOGIC_OP_MODE = 0x0BF0,
7052     	///
7053 	    MAP1_COLOR_4 = 0x0D90,
7054     	///
7055 	    MAP1_GRID_DOMAIN = 0x0DD0,
7056     	///
7057 	    MAP1_GRID_SEGMENTS = 0x0DD1,
7058     	///
7059 	    MAP1_INDEX = 0x0D91,
7060     	///
7061 	    MAP1_NORMAL = 0x0D92,
7062     	///
7063 	    MAP1_TEXTURE_COORD_1 = 0x0D93,
7064     	///
7065 	    MAP1_TEXTURE_COORD_2 = 0x0D94,
7066     	///
7067 	    MAP1_TEXTURE_COORD_3 = 0x0D95,
7068     	///
7069 	    MAP1_TEXTURE_COORD_4 = 0x0D96,
7070     	///
7071 	    MAP1_VERTEX_3 = 0x0D97,
7072     	///
7073 	    MAP1_VERTEX_4 = 0x0D98,
7074     	///
7075 	    MAP2_COLOR_4 = 0x0DB0,
7076     	///
7077 	    MAP2_GRID_DOMAIN = 0x0DD2,
7078     	///
7079 	    MAP2_GRID_SEGMENTS = 0x0DD3,
7080     	///
7081 	    MAP2_INDEX = 0x0DB1,
7082     	///
7083 	    MAP2_NORMAL = 0x0DB2,
7084     	///
7085 	    MAP2_TEXTURE_COORD_1 = 0x0DB3,
7086     	///
7087 	    MAP2_TEXTURE_COORD_2 = 0x0DB4,
7088     	///
7089 	    MAP2_TEXTURE_COORD_3 = 0x0DB5,
7090     	///
7091 	    MAP2_TEXTURE_COORD_4 = 0x0DB6,
7092     	///
7093 	    MAP2_VERTEX_3 = 0x0DB7,
7094     	///
7095 	    MAP2_VERTEX_4 = 0x0DB8,
7096     	///
7097 	    MAP_COLOR = 0x0D10,
7098     	///
7099 	    MAP_STENCIL = 0x0D11,
7100     	///
7101 	    MATRIX_MODE = 0x0BA0,
7102     	///
7103 	    MAX_3D_TEXTURE_SIZE_EXT = 0x8073,
7104     	///
7105 	    MAX_4D_TEXTURE_SIZE_SGIS = 0x8138,
7106     	///
7107 	    MAX_ACTIVE_LIGHTS_SGIX = 0x8405,
7108     	///
7109 	    MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360,
7110     	///
7111 	    MAX_ASYNC_HISTOGRAM_SGIX = 0x832D,
7112     	///
7113 	    MAX_ASYNC_READ_PIXELS_SGIX = 0x8361,
7114     	///
7115 	    MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F,
7116     	///
7117 	    MAX_ATTRIB_STACK_DEPTH = 0x0D35,
7118     	///
7119 	    MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B,
7120     	///
7121 	    MAX_CLIPMAP_DEPTH_SGIX = 0x8177,
7122     	///
7123 	    MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178,
7124     	///
7125 	    MAX_CLIP_DISTANCES = 0x0D32,
7126     	///
7127 	    MAX_CLIP_PLANES = 0x0D32,
7128     	///
7129 	    MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3,
7130     	///
7131 	    MAX_EVAL_ORDER = 0x0D30,
7132     	///
7133 	    MAX_FOG_FUNC_POINTS_SGIS = 0x812C,
7134     	///
7135 	    MAX_FRAGMENT_LIGHTS_SGIX = 0x8404,
7136     	///
7137 	    MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D,
7138     	///
7139 	    MAX_LIGHTS = 0x0D31,
7140     	///
7141 	    MAX_LIST_NESTING = 0x0B31,
7142     	///
7143 	    MAX_MODELVIEW_STACK_DEPTH = 0x0D36,
7144     	///
7145 	    MAX_NAME_STACK_DEPTH = 0x0D37,
7146     	///
7147 	    MAX_PIXEL_MAP_TABLE = 0x0D34,
7148     	///
7149 	    MAX_PROJECTION_STACK_DEPTH = 0x0D38,
7150     	///
7151 	    MAX_TEXTURE_SIZE = 0x0D33,
7152     	///
7153 	    MAX_TEXTURE_STACK_DEPTH = 0x0D39,
7154     	///
7155 	    MAX_VIEWPORT_DIMS = 0x0D3A,
7156     	///
7157 	    MINMAX_EXT = 0x802E,
7158     	///
7159 	    MODELVIEW0_MATRIX_EXT = 0x0BA6,
7160     	///
7161 	    MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3,
7162     	///
7163 	    MODELVIEW_MATRIX = 0x0BA6,
7164     	///
7165 	    MODELVIEW_STACK_DEPTH = 0x0BA3,
7166     	///
7167 	    MULTISAMPLE_SGIS = 0x809D,
7168     	///
7169 	    NAME_STACK_DEPTH = 0x0D70,
7170     	///
7171 	    NORMALIZE = 0x0BA1,
7172     	///
7173 	    NORMAL_ARRAY = 0x8075,
7174     	///
7175 	    NORMAL_ARRAY_COUNT_EXT = 0x8080,
7176     	///
7177 	    NORMAL_ARRAY_STRIDE = 0x807F,
7178     	///
7179 	    NORMAL_ARRAY_TYPE = 0x807E,
7180     	///
7181 	    PACK_ALIGNMENT = 0x0D05,
7182     	///
7183 	    PACK_CMYK_HINT_EXT = 0x800E,
7184     	///
7185 	    PACK_IMAGE_DEPTH_SGIS = 0x8131,
7186     	///
7187 	    PACK_IMAGE_HEIGHT_EXT = 0x806C,
7188     	///
7189 	    PACK_LSB_FIRST = 0x0D01,
7190     	///
7191 	    PACK_RESAMPLE_SGIX = 0x842E,
7192     	///
7193 	    PACK_ROW_LENGTH = 0x0D02,
7194     	///
7195 	    PACK_SKIP_IMAGES_EXT = 0x806B,
7196     	///
7197 	    PACK_SKIP_PIXELS = 0x0D04,
7198     	///
7199 	    PACK_SKIP_ROWS = 0x0D03,
7200     	///
7201 	    PACK_SKIP_VOLUMES_SGIS = 0x8130,
7202     	///
7203 	    PACK_SUBSAMPLE_RATE_SGIX = 0x85A0,
7204     	///
7205 	    PACK_SWAP_BYTES = 0x0D00,
7206     	///
7207 	    PERSPECTIVE_CORRECTION_HINT = 0x0C50,
7208     	///
7209 	    PIXEL_MAP_A_TO_A_SIZE = 0x0CB9,
7210     	///
7211 	    PIXEL_MAP_B_TO_B_SIZE = 0x0CB8,
7212     	///
7213 	    PIXEL_MAP_G_TO_G_SIZE = 0x0CB7,
7214     	///
7215 	    PIXEL_MAP_I_TO_A_SIZE = 0x0CB5,
7216     	///
7217 	    PIXEL_MAP_I_TO_B_SIZE = 0x0CB4,
7218     	///
7219 	    PIXEL_MAP_I_TO_G_SIZE = 0x0CB3,
7220     	///
7221 	    PIXEL_MAP_I_TO_I_SIZE = 0x0CB0,
7222     	///
7223 	    PIXEL_MAP_I_TO_R_SIZE = 0x0CB2,
7224     	///
7225 	    PIXEL_MAP_R_TO_R_SIZE = 0x0CB6,
7226     	///
7227 	    PIXEL_MAP_S_TO_S_SIZE = 0x0CB1,
7228     	///
7229 	    PIXEL_TEXTURE_SGIS = 0x8353,
7230     	///
7231 	    PIXEL_TEX_GEN_MODE_SGIX = 0x832B,
7232     	///
7233 	    PIXEL_TEX_GEN_SGIX = 0x8139,
7234     	///
7235 	    PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E,
7236     	///
7237 	    PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F,
7238     	///
7239 	    PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145,
7240     	///
7241 	    PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144,
7242     	///
7243 	    PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143,
7244     	///
7245 	    PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142,
7246     	///
7247 	    PIXEL_TILE_HEIGHT_SGIX = 0x8141,
7248     	///
7249 	    PIXEL_TILE_WIDTH_SGIX = 0x8140,
7250     	///
7251 	    POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128,
7252     	///
7253 	    POINT_SIZE = 0x0B11,
7254     	///
7255 	    POINT_SIZE_GRANULARITY = 0x0B13,
7256     	///
7257 	    POINT_SIZE_MAX_SGIS = 0x8127,
7258     	///
7259 	    POINT_SIZE_MIN_SGIS = 0x8126,
7260     	///
7261 	    POINT_SIZE_RANGE = 0x0B12,
7262     	///
7263 	    POINT_SMOOTH = 0x0B10,
7264     	///
7265 	    POINT_SMOOTH_HINT = 0x0C51,
7266     	///
7267 	    POLYGON_MODE = 0x0B40,
7268     	///
7269 	    POLYGON_OFFSET_BIAS_EXT = 0x8039,
7270     	///
7271 	    POLYGON_OFFSET_FACTOR = 0x8038,
7272     	///
7273 	    POLYGON_OFFSET_FILL = 0x8037,
7274     	///
7275 	    POLYGON_OFFSET_LINE = 0x2A02,
7276     	///
7277 	    POLYGON_OFFSET_POINT = 0x2A01,
7278     	///
7279 	    POLYGON_OFFSET_UNITS = 0x2A00,
7280     	///
7281 	    POLYGON_SMOOTH = 0x0B41,
7282     	///
7283 	    POLYGON_SMOOTH_HINT = 0x0C53,
7284     	///
7285 	    POLYGON_STIPPLE = 0x0B42,
7286     	///
7287 	    POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB,
7288     	///
7289 	    POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7,
7290     	///
7291 	    POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA,
7292     	///
7293 	    POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6,
7294     	///
7295 	    POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2,
7296     	///
7297 	    POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9,
7298     	///
7299 	    POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5,
7300     	///
7301 	    POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8,
7302     	///
7303 	    POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4,
7304     	///
7305 	    POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023,
7306     	///
7307 	    POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F,
7308     	///
7309 	    POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022,
7310     	///
7311 	    POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E,
7312     	///
7313 	    POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1,
7314     	///
7315 	    POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021,
7316     	///
7317 	    POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D,
7318     	///
7319 	    POST_CONVOLUTION_RED_BIAS_EXT = 0x8020,
7320     	///
7321 	    POST_CONVOLUTION_RED_SCALE_EXT = 0x801C,
7322     	///
7323 	    POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B,
7324     	///
7325 	    POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C,
7326     	///
7327 	    PROJECTION_MATRIX = 0x0BA7,
7328     	///
7329 	    PROJECTION_STACK_DEPTH = 0x0BA4,
7330     	///
7331 	    READ_BUFFER = 0x0C02,
7332     	///
7333 	    READ_BUFFER_EXT = 0x0C02,
7334     	///
7335 	    READ_BUFFER_NV = 0x0C02,
7336     	///
7337 	    RED_BIAS = 0x0D15,
7338     	///
7339 	    RED_BITS = 0x0D52,
7340     	///
7341 	    RED_SCALE = 0x0D14,
7342     	///
7343 	    REFERENCE_PLANE_EQUATION_SGIX = 0x817E,
7344     	///
7345 	    REFERENCE_PLANE_SGIX = 0x817D,
7346     	///
7347 	    RENDER_MODE = 0x0C40,
7348     	///
7349 	    RESCALE_NORMAL_EXT = 0x803A,
7350     	///
7351 	    RGBA_MODE = 0x0C31,
7352     	///
7353 	    SAMPLES_SGIS = 0x80A9,
7354     	///
7355 	    SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E,
7356     	///
7357 	    SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F,
7358     	///
7359 	    SAMPLE_BUFFERS_SGIS = 0x80A8,
7360     	///
7361 	    SAMPLE_MASK_INVERT_SGIS = 0x80AB,
7362     	///
7363 	    SAMPLE_MASK_SGIS = 0x80A0,
7364     	///
7365 	    SAMPLE_MASK_VALUE_SGIS = 0x80AA,
7366     	///
7367 	    SAMPLE_PATTERN_SGIS = 0x80AC,
7368     	///
7369 	    SCISSOR_BOX = 0x0C10,
7370     	///
7371 	    SCISSOR_TEST = 0x0C11,
7372     	///
7373 	    SELECTION_BUFFER_SIZE = 0x0DF4,
7374     	///
7375 	    SEPARABLE_2D_EXT = 0x8012,
7376     	///
7377 	    SHADE_MODEL = 0x0B54,
7378     	///
7379 	    SHARED_TEXTURE_PALETTE_EXT = 0x81FB,
7380     	///
7381 	    SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23,
7382     	///
7383 	    SMOOTH_LINE_WIDTH_RANGE = 0x0B22,
7384     	///
7385 	    SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13,
7386     	///
7387 	    SMOOTH_POINT_SIZE_RANGE = 0x0B12,
7388     	///
7389 	    SPRITE_AXIS_SGIX = 0x814A,
7390     	///
7391 	    SPRITE_MODE_SGIX = 0x8149,
7392     	///
7393 	    SPRITE_SGIX = 0x8148,
7394     	///
7395 	    SPRITE_TRANSLATION_SGIX = 0x814B,
7396     	///
7397 	    STENCIL_BITS = 0x0D57,
7398     	///
7399 	    STENCIL_CLEAR_VALUE = 0x0B91,
7400     	///
7401 	    STENCIL_FAIL = 0x0B94,
7402     	///
7403 	    STENCIL_FUNC = 0x0B92,
7404     	///
7405 	    STENCIL_PASS_DEPTH_FAIL = 0x0B95,
7406     	///
7407 	    STENCIL_PASS_DEPTH_PASS = 0x0B96,
7408     	///
7409 	    STENCIL_REF = 0x0B97,
7410     	///
7411 	    STENCIL_TEST = 0x0B90,
7412     	///
7413 	    STENCIL_VALUE_MASK = 0x0B93,
7414     	///
7415 	    STENCIL_WRITEMASK = 0x0B98,
7416     	///
7417 	    STEREO = 0x0C33,
7418     	///
7419 	    SUBPIXEL_BITS = 0x0D50,
7420     	///
7421 	    TEXTURE_1D = 0x0DE0,
7422     	///
7423 	    TEXTURE_2D = 0x0DE1,
7424     	///
7425 	    TEXTURE_3D_BINDING_EXT = 0x806A,
7426     	///
7427 	    TEXTURE_3D_EXT = 0x806F,
7428     	///
7429 	    TEXTURE_4D_BINDING_SGIS = 0x814F,
7430     	///
7431 	    TEXTURE_4D_SGIS = 0x8134,
7432     	///
7433 	    TEXTURE_BINDING_1D = 0x8068,
7434     	///
7435 	    TEXTURE_BINDING_2D = 0x8069,
7436     	///
7437 	    TEXTURE_BINDING_3D = 0x806A,
7438     	///
7439 	    TEXTURE_COLOR_TABLE_SGI = 0x80BC,
7440     	///
7441 	    TEXTURE_COORD_ARRAY = 0x8078,
7442     	///
7443 	    TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B,
7444     	///
7445 	    TEXTURE_COORD_ARRAY_SIZE = 0x8088,
7446     	///
7447 	    TEXTURE_COORD_ARRAY_STRIDE = 0x808A,
7448     	///
7449 	    TEXTURE_COORD_ARRAY_TYPE = 0x8089,
7450     	///
7451 	    TEXTURE_GEN_Q = 0x0C63,
7452     	///
7453 	    TEXTURE_GEN_R = 0x0C62,
7454     	///
7455 	    TEXTURE_GEN_S = 0x0C60,
7456     	///
7457 	    TEXTURE_GEN_T = 0x0C61,
7458     	///
7459 	    TEXTURE_MATRIX = 0x0BA8,
7460     	///
7461 	    TEXTURE_STACK_DEPTH = 0x0BA5,
7462     	///
7463 	    UNPACK_ALIGNMENT = 0x0CF5,
7464     	///
7465 	    UNPACK_CMYK_HINT_EXT = 0x800F,
7466     	///
7467 	    UNPACK_IMAGE_DEPTH_SGIS = 0x8133,
7468     	///
7469 	    UNPACK_IMAGE_HEIGHT_EXT = 0x806E,
7470     	///
7471 	    UNPACK_LSB_FIRST = 0x0CF1,
7472     	///
7473 	    UNPACK_RESAMPLE_SGIX = 0x842F,
7474     	///
7475 	    UNPACK_ROW_LENGTH = 0x0CF2,
7476     	///
7477 	    UNPACK_SKIP_IMAGES_EXT = 0x806D,
7478     	///
7479 	    UNPACK_SKIP_PIXELS = 0x0CF4,
7480     	///
7481 	    UNPACK_SKIP_ROWS = 0x0CF3,
7482     	///
7483 	    UNPACK_SKIP_VOLUMES_SGIS = 0x8132,
7484     	///
7485 	    UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1,
7486     	///
7487 	    UNPACK_SWAP_BYTES = 0x0CF0,
7488     	///
7489 	    VERTEX_ARRAY = 0x8074,
7490     	///
7491 	    VERTEX_ARRAY_COUNT_EXT = 0x807D,
7492     	///
7493 	    VERTEX_ARRAY_SIZE = 0x807A,
7494     	///
7495 	    VERTEX_ARRAY_STRIDE = 0x807C,
7496     	///
7497 	    VERTEX_ARRAY_TYPE = 0x807B,
7498     	///
7499 	    VERTEX_PRECLIP_HINT_SGIX = 0x83EF,
7500     	///
7501 	    VERTEX_PRECLIP_SGIX = 0x83EE,
7502     	///
7503 	    VIEWPORT = 0x0BA2,
7504     	///
7505 	    ZOOM_X = 0x0D16,
7506     	///
7507 	    ZOOM_Y = 0x0D17
7508 	}
7509 
7510 	///
7511 	enum GetPointervPName {
7512     	///
7513 	    COLOR_ARRAY_POINTER = 0x8090,
7514     	///
7515 	    COLOR_ARRAY_POINTER_EXT = 0x8090,
7516     	///
7517 	    EDGE_FLAG_ARRAY_POINTER = 0x8093,
7518     	///
7519 	    EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093,
7520     	///
7521 	    FEEDBACK_BUFFER_POINTER = 0x0DF0,
7522     	///
7523 	    INDEX_ARRAY_POINTER = 0x8091,
7524     	///
7525 	    INDEX_ARRAY_POINTER_EXT = 0x8091,
7526     	///
7527 	    INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180,
7528     	///
7529 	    NORMAL_ARRAY_POINTER = 0x808F,
7530     	///
7531 	    NORMAL_ARRAY_POINTER_EXT = 0x808F,
7532     	///
7533 	    SELECTION_BUFFER_POINTER = 0x0DF3,
7534     	///
7535 	    TEXTURE_COORD_ARRAY_POINTER = 0x8092,
7536     	///
7537 	    TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092,
7538     	///
7539 	    VERTEX_ARRAY_POINTER = 0x808E,
7540     	///
7541 	    VERTEX_ARRAY_POINTER_EXT = 0x808E
7542 	}
7543 
7544 	///
7545 	enum GetTextureParameter {
7546     	///
7547 	    DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C,
7548     	///
7549 	    DETAIL_TEXTURE_LEVEL_SGIS = 0x809A,
7550     	///
7551 	    DETAIL_TEXTURE_MODE_SGIS = 0x809B,
7552     	///
7553 	    DUAL_TEXTURE_SELECT_SGIS = 0x8124,
7554     	///
7555 	    GENERATE_MIPMAP_SGIS = 0x8191,
7556     	///
7557 	    POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179,
7558     	///
7559 	    POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A,
7560     	///
7561 	    QUAD_TEXTURE_SELECT_SGIS = 0x8125,
7562     	///
7563 	    SHADOW_AMBIENT_SGIX = 0x80BF,
7564     	///
7565 	    SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0,
7566     	///
7567 	    TEXTURE_4DSIZE_SGIS = 0x8136,
7568     	///
7569 	    TEXTURE_ALPHA_SIZE = 0x805F,
7570     	///
7571 	    TEXTURE_BASE_LEVEL_SGIS = 0x813C,
7572     	///
7573 	    TEXTURE_BLUE_SIZE = 0x805E,
7574     	///
7575 	    TEXTURE_BORDER = 0x1005,
7576     	///
7577 	    TEXTURE_BORDER_COLOR = 0x1004,
7578     	///
7579 	    TEXTURE_BORDER_COLOR_NV = 0x1004,
7580     	///
7581 	    TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171,
7582     	///
7583 	    TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176,
7584     	///
7585 	    TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172,
7586     	///
7587 	    TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175,
7588     	///
7589 	    TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173,
7590     	///
7591 	    TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174,
7592     	///
7593 	    TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B,
7594     	///
7595 	    TEXTURE_COMPARE_SGIX = 0x819A,
7596     	///
7597 	    TEXTURE_COMPONENTS = 0x1003,
7598     	///
7599 	    TEXTURE_DEPTH_EXT = 0x8071,
7600     	///
7601 	    TEXTURE_FILTER4_SIZE_SGIS = 0x8147,
7602     	///
7603 	    TEXTURE_GEQUAL_R_SGIX = 0x819D,
7604     	///
7605 	    TEXTURE_GREEN_SIZE = 0x805D,
7606     	///
7607 	    TEXTURE_HEIGHT = 0x1001,
7608     	///
7609 	    TEXTURE_INTENSITY_SIZE = 0x8061,
7610     	///
7611 	    TEXTURE_INTERNAL_FORMAT = 0x1003,
7612     	///
7613 	    TEXTURE_LEQUAL_R_SGIX = 0x819C,
7614     	///
7615 	    TEXTURE_LOD_BIAS_R_SGIX = 0x8190,
7616     	///
7617 	    TEXTURE_LOD_BIAS_S_SGIX = 0x818E,
7618     	///
7619 	    TEXTURE_LOD_BIAS_T_SGIX = 0x818F,
7620     	///
7621 	    TEXTURE_LUMINANCE_SIZE = 0x8060,
7622     	///
7623 	    TEXTURE_MAG_FILTER = 0x2800,
7624     	///
7625 	    TEXTURE_MAX_CLAMP_R_SGIX = 0x836B,
7626     	///
7627 	    TEXTURE_MAX_CLAMP_S_SGIX = 0x8369,
7628     	///
7629 	    TEXTURE_MAX_CLAMP_T_SGIX = 0x836A,
7630     	///
7631 	    TEXTURE_MAX_LEVEL_SGIS = 0x813D,
7632     	///
7633 	    TEXTURE_MAX_LOD_SGIS = 0x813B,
7634     	///
7635 	    TEXTURE_MIN_FILTER = 0x2801,
7636     	///
7637 	    TEXTURE_MIN_LOD_SGIS = 0x813A,
7638     	///
7639 	    TEXTURE_PRIORITY = 0x8066,
7640     	///
7641 	    TEXTURE_RED_SIZE = 0x805C,
7642     	///
7643 	    TEXTURE_RESIDENT = 0x8067,
7644     	///
7645 	    TEXTURE_WIDTH = 0x1000,
7646     	///
7647 	    TEXTURE_WRAP_Q_SGIS = 0x8137,
7648     	///
7649 	    TEXTURE_WRAP_R_EXT = 0x8072,
7650     	///
7651 	    TEXTURE_WRAP_S = 0x2802,
7652     	///
7653 	    TEXTURE_WRAP_T = 0x2803
7654 	}
7655 
7656 	///
7657 	enum HintMode {
7658     	///
7659 	    DONT_CARE = 0x1100,
7660     	///
7661 	    FASTEST = 0x1101,
7662     	///
7663 	    NICEST = 0x1102
7664 	}
7665 
7666 	///
7667 	enum HintTarget {
7668     	///
7669 	    ALLOW_DRAW_FRG_HINT_PGI = 0x1A210,
7670     	///
7671 	    ALLOW_DRAW_MEM_HINT_PGI = 0x1A211,
7672     	///
7673 	    ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E,
7674     	///
7675 	    ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F,
7676     	///
7677 	    ALWAYS_FAST_HINT_PGI = 0x1A20C,
7678     	///
7679 	    ALWAYS_SOFT_HINT_PGI = 0x1A20D,
7680     	///
7681 	    BACK_NORMALS_HINT_PGI = 0x1A223,
7682     	///
7683 	    BINNING_CONTROL_HINT_QCOM = 0x8FB0,
7684     	///
7685 	    CLIP_FAR_HINT_PGI = 0x1A221,
7686     	///
7687 	    CLIP_NEAR_HINT_PGI = 0x1A220,
7688     	///
7689 	    CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0,
7690     	///
7691 	    CONSERVE_MEMORY_HINT_PGI = 0x1A1FD,
7692     	///
7693 	    CONVOLUTION_HINT_SGIX = 0x8316,
7694     	///
7695 	    FOG_HINT = 0x0C54,
7696     	///
7697 	    FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B,
7698     	///
7699 	    FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B,
7700     	///
7701 	    FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B,
7702     	///
7703 	    FULL_STIPPLE_HINT_PGI = 0x1A219,
7704     	///
7705 	    GENERATE_MIPMAP_HINT = 0x8192,
7706     	///
7707 	    GENERATE_MIPMAP_HINT_SGIS = 0x8192,
7708     	///
7709 	    LINE_QUALITY_HINT_SGIX = 0x835B,
7710     	///
7711 	    LINE_SMOOTH_HINT = 0x0C52,
7712     	///
7713 	    MATERIAL_SIDE_HINT_PGI = 0x1A22C,
7714     	///
7715 	    MAX_VERTEX_HINT_PGI = 0x1A22D,
7716     	///
7717 	    MULTISAMPLE_FILTER_HINT_NV = 0x8534,
7718     	///
7719 	    NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203,
7720     	///
7721 	    NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204,
7722     	///
7723 	    PACK_CMYK_HINT_EXT = 0x800E,
7724     	///
7725 	    PERSPECTIVE_CORRECTION_HINT = 0x0C50,
7726     	///
7727 	    PHONG_HINT_WIN = 0x80EB,
7728     	///
7729 	    POINT_SMOOTH_HINT = 0x0C51,
7730     	///
7731 	    POLYGON_SMOOTH_HINT = 0x0C53,
7732     	///
7733 	    PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8,
7734     	///
7735 	    PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257,
7736     	///
7737 	    RECLAIM_MEMORY_HINT_PGI = 0x1A1FE,
7738     	///
7739 	    SCALEBIAS_HINT_SGIX = 0x8322,
7740     	///
7741 	    STRICT_DEPTHFUNC_HINT_PGI = 0x1A216,
7742     	///
7743 	    STRICT_LIGHTING_HINT_PGI = 0x1A217,
7744     	///
7745 	    STRICT_SCISSOR_HINT_PGI = 0x1A218,
7746     	///
7747 	    TEXTURE_COMPRESSION_HINT = 0x84EF,
7748     	///
7749 	    TEXTURE_COMPRESSION_HINT_ARB = 0x84EF,
7750     	///
7751 	    TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E,
7752     	///
7753 	    TEXTURE_STORAGE_HINT_APPLE = 0x85BC,
7754     	///
7755 	    TRANSFORM_HINT_APPLE = 0x85B1,
7756     	///
7757 	    UNPACK_CMYK_HINT_EXT = 0x800F,
7758     	///
7759 	    VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F,
7760     	///
7761 	    VERTEX_CONSISTENT_HINT_PGI = 0x1A22B,
7762     	///
7763 	    VERTEX_DATA_HINT_PGI = 0x1A22A,
7764     	///
7765 	    VERTEX_PRECLIP_HINT_SGIX = 0x83EF,
7766     	///
7767 	    VERTEX_PRECLIP_SGIX = 0x83EE,
7768     	///
7769 	    WIDE_LINE_HINT_PGI = 0x1A222
7770 	}
7771 
7772 	///
7773 	enum HistogramTargetEXT {
7774     	///
7775 	    HISTOGRAM = 0x8024,
7776     	///
7777 	    HISTOGRAM_EXT = 0x8024,
7778     	///
7779 	    PROXY_HISTOGRAM = 0x8025,
7780     	///
7781 	    PROXY_HISTOGRAM_EXT = 0x8025
7782 	}
7783 
7784 	///
7785 	enum IndexPointerType {
7786     	///
7787 	    DOUBLE = 0x140A,
7788     	///
7789 	    FLOAT = 0x1406,
7790     	///
7791 	    INT = 0x1404,
7792     	///
7793 	    SHORT = 0x1402
7794 	}
7795 
7796 	///
7797 	enum InterleavedArrayFormat {
7798     	///
7799 	    C3F_V3F = 0x2A24,
7800     	///
7801 	    C4F_N3F_V3F = 0x2A26,
7802     	///
7803 	    C4UB_V2F = 0x2A22,
7804     	///
7805 	    C4UB_V3F = 0x2A23,
7806     	///
7807 	    N3F_V3F = 0x2A25,
7808     	///
7809 	    T2F_C3F_V3F = 0x2A2A,
7810     	///
7811 	    T2F_C4F_N3F_V3F = 0x2A2C,
7812     	///
7813 	    T2F_C4UB_V3F = 0x2A29,
7814     	///
7815 	    T2F_N3F_V3F = 0x2A2B,
7816     	///
7817 	    T2F_V3F = 0x2A27,
7818     	///
7819 	    T4F_C4F_N3F_V4F = 0x2A2D,
7820     	///
7821 	    T4F_V4F = 0x2A28,
7822     	///
7823 	    V2F = 0x2A20,
7824     	///
7825 	    V3F = 0x2A21
7826 	}
7827 
7828 	///
7829 	enum LightEnvModeSGIX {
7830     	///
7831 	    ADD = 0x0104,
7832     	///
7833 	    MODULATE = 0x2100,
7834     	///
7835 	    REPLACE = 0x1E01
7836 	}
7837 
7838 	///
7839 	enum LightEnvParameterSGIX {
7840     	///
7841 	    LIGHT_ENV_MODE_SGIX = 0x8407
7842 	}
7843 
7844 	///
7845 	enum LightModelColorControl {
7846     	///
7847 	    SEPARATE_SPECULAR_COLOR = 0x81FA,
7848     	///
7849 	    SEPARATE_SPECULAR_COLOR_EXT = 0x81FA,
7850     	///
7851 	    SINGLE_COLOR = 0x81F9,
7852     	///
7853 	    SINGLE_COLOR_EXT = 0x81F9
7854 	}
7855 
7856 	///
7857 	enum LightModelParameter {
7858     	///
7859 	    LIGHT_MODEL_AMBIENT = 0x0B53,
7860     	///
7861 	    LIGHT_MODEL_COLOR_CONTROL = 0x81F8,
7862     	///
7863 	    LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8,
7864     	///
7865 	    LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
7866     	///
7867 	    LIGHT_MODEL_TWO_SIDE = 0x0B52
7868 	}
7869 
7870 	///
7871 	enum LightName {
7872     	///
7873 	    FRAGMENT_LIGHT0_SGIX = 0x840C,
7874     	///
7875 	    FRAGMENT_LIGHT1_SGIX = 0x840D,
7876     	///
7877 	    FRAGMENT_LIGHT2_SGIX = 0x840E,
7878     	///
7879 	    FRAGMENT_LIGHT3_SGIX = 0x840F,
7880     	///
7881 	    FRAGMENT_LIGHT4_SGIX = 0x8410,
7882     	///
7883 	    FRAGMENT_LIGHT5_SGIX = 0x8411,
7884     	///
7885 	    FRAGMENT_LIGHT6_SGIX = 0x8412,
7886     	///
7887 	    FRAGMENT_LIGHT7_SGIX = 0x8413,
7888     	///
7889 	    LIGHT0 = 0x4000,
7890     	///
7891 	    LIGHT1 = 0x4001,
7892     	///
7893 	    LIGHT2 = 0x4002,
7894     	///
7895 	    LIGHT3 = 0x4003,
7896     	///
7897 	    LIGHT4 = 0x4004,
7898     	///
7899 	    LIGHT5 = 0x4005,
7900     	///
7901 	    LIGHT6 = 0x4006,
7902     	///
7903 	    LIGHT7 = 0x4007
7904 	}
7905 
7906 	///
7907 	enum LightParameter {
7908     	///
7909 	    AMBIENT = 0x1200,
7910     	///
7911 	    CONSTANT_ATTENUATION = 0x1207,
7912     	///
7913 	    DIFFUSE = 0x1201,
7914     	///
7915 	    LINEAR_ATTENUATION = 0x1208,
7916     	///
7917 	    POSITION = 0x1203,
7918     	///
7919 	    QUADRATIC_ATTENUATION = 0x1209,
7920     	///
7921 	    SPECULAR = 0x1202,
7922     	///
7923 	    SPOT_CUTOFF = 0x1206,
7924     	///
7925 	    SPOT_DIRECTION = 0x1204,
7926     	///
7927 	    SPOT_EXPONENT = 0x1205
7928 	}
7929 
7930 	///
7931 	enum ListMode {
7932     	///
7933 	    COMPILE = 0x1300,
7934     	///
7935 	    COMPILE_AND_EXECUTE = 0x1301
7936 	}
7937 
7938 	///
7939 	enum ListNameType {
7940     	///
7941 	    BYTES_2 = 0x1407,
7942     	///
7943 	    BYTES_3 = 0x1408,
7944     	///
7945 	    BYTES_4 = 0x1409,
7946     	///
7947 	    BYTE = 0x1400,
7948     	///
7949 	    FLOAT = 0x1406,
7950     	///
7951 	    INT = 0x1404,
7952     	///
7953 	    SHORT = 0x1402,
7954     	///
7955 	    UNSIGNED_BYTE = 0x1401,
7956     	///
7957 	    UNSIGNED_INT = 0x1405,
7958     	///
7959 	    UNSIGNED_SHORT = 0x1403
7960 	}
7961 
7962 	///
7963 	enum ListParameterName {
7964     	///
7965 	    LIST_PRIORITY_SGIX = 0x8182
7966 	}
7967 
7968 	///
7969 	enum LogicOp {
7970     	///
7971 	    AND = 0x1501,
7972     	///
7973 	    AND_INVERTED = 0x1504,
7974     	///
7975 	    AND_REVERSE = 0x1502,
7976     	///
7977 	    CLEAR = 0x1500,
7978     	///
7979 	    COPY = 0x1503,
7980     	///
7981 	    COPY_INVERTED = 0x150C,
7982     	///
7983 	    EQUIV = 0x1509,
7984     	///
7985 	    INVERT = 0x150A,
7986     	///
7987 	    NAND = 0x150E,
7988     	///
7989 	    NOOP = 0x1505,
7990     	///
7991 	    NOR = 0x1508,
7992     	///
7993 	    OR = 0x1507,
7994     	///
7995 	    OR_INVERTED = 0x150D,
7996     	///
7997 	    OR_REVERSE = 0x150B,
7998     	///
7999 	    SET = 0x150F,
8000     	///
8001 	    XOR = 0x1506
8002 	}
8003 
8004 	///
8005 	@Bitmaskable
8006 	enum MapBufferUsageMask {
8007     	///
8008 	    CLIENT_STORAGE_BIT = 0x0200,
8009     	///
8010 	    DYNAMIC_STORAGE_BIT = 0x0100,
8011     	///
8012 	    MAP_COHERENT_BIT = 0x0080,
8013     	///
8014 	    MAP_FLUSH_EXPLICIT_BIT = 0x0010,
8015     	///
8016 	    MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010,
8017     	///
8018 	    MAP_INVALIDATE_BUFFER_BIT = 0x0008,
8019     	///
8020 	    MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008,
8021     	///
8022 	    MAP_INVALIDATE_RANGE_BIT = 0x0004,
8023     	///
8024 	    MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004,
8025     	///
8026 	    MAP_PERSISTENT_BIT = 0x0040,
8027     	///
8028 	    MAP_READ_BIT = 0x0001,
8029     	///
8030 	    MAP_READ_BIT_EXT = 0x0001,
8031     	///
8032 	    MAP_UNSYNCHRONIZED_BIT = 0x0020,
8033     	///
8034 	    MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020,
8035     	///
8036 	    MAP_WRITE_BIT = 0x0002,
8037     	///
8038 	    MAP_WRITE_BIT_EXT = 0x0002
8039 	}
8040 
8041 	///
8042 	enum MapTarget {
8043     	///
8044 	    GEOMETRY_DEFORMATION_SGIX = 0x8194,
8045     	///
8046 	    MAP1_COLOR_4 = 0x0D90,
8047     	///
8048 	    MAP1_INDEX = 0x0D91,
8049     	///
8050 	    MAP1_NORMAL = 0x0D92,
8051     	///
8052 	    MAP1_TEXTURE_COORD_1 = 0x0D93,
8053     	///
8054 	    MAP1_TEXTURE_COORD_2 = 0x0D94,
8055     	///
8056 	    MAP1_TEXTURE_COORD_3 = 0x0D95,
8057     	///
8058 	    MAP1_TEXTURE_COORD_4 = 0x0D96,
8059     	///
8060 	    MAP1_VERTEX_3 = 0x0D97,
8061     	///
8062 	    MAP1_VERTEX_4 = 0x0D98,
8063     	///
8064 	    MAP2_COLOR_4 = 0x0DB0,
8065     	///
8066 	    MAP2_INDEX = 0x0DB1,
8067     	///
8068 	    MAP2_NORMAL = 0x0DB2,
8069     	///
8070 	    MAP2_TEXTURE_COORD_1 = 0x0DB3,
8071     	///
8072 	    MAP2_TEXTURE_COORD_2 = 0x0DB4,
8073     	///
8074 	    MAP2_TEXTURE_COORD_3 = 0x0DB5,
8075     	///
8076 	    MAP2_TEXTURE_COORD_4 = 0x0DB6,
8077     	///
8078 	    MAP2_VERTEX_3 = 0x0DB7,
8079     	///
8080 	    MAP2_VERTEX_4 = 0x0DB8,
8081     	///
8082 	    TEXTURE_DEFORMATION_SGIX = 0x8195
8083 	}
8084 
8085 	///
8086 	enum MapTextureFormatINTEL {
8087     	///
8088 	    LAYOUT_DEFAULT_INTEL = 0,
8089     	///
8090 	    LAYOUT_LINEAR_CPU_CACHED_INTEL = 2,
8091     	///
8092 	    LAYOUT_LINEAR_INTEL = 1
8093 	}
8094 
8095 	///
8096 	enum MaterialFace {
8097     	///
8098 	    BACK = 0x0405,
8099     	///
8100 	    FRONT = 0x0404,
8101     	///
8102 	    FRONT_AND_BACK = 0x0408
8103 	}
8104 
8105 	///
8106 	enum MaterialParameter {
8107     	///
8108 	    AMBIENT = 0x1200,
8109     	///
8110 	    AMBIENT_AND_DIFFUSE = 0x1602,
8111     	///
8112 	    COLOR_INDEXES = 0x1603,
8113     	///
8114 	    DIFFUSE = 0x1201,
8115     	///
8116 	    EMISSION = 0x1600,
8117     	///
8118 	    SHININESS = 0x1601,
8119     	///
8120 	    SPECULAR = 0x1202
8121 	}
8122 
8123 	///
8124 	enum MatrixMode {
8125     	///
8126 	    MODELVIEW = 0x1700,
8127     	///
8128 	    MODELVIEW0_EXT = 0x1700,
8129     	///
8130 	    PROJECTION = 0x1701,
8131     	///
8132 	    TEXTURE = 0x1702
8133 	}
8134 
8135 	///
8136 	@Bitmaskable
8137 	enum MemoryBarrierMask {
8138     	///
8139 	    ALL_BARRIER_BITS = 0xFFFFFFFF,
8140     	///
8141 	    ALL_BARRIER_BITS_EXT = 0xFFFFFFFF,
8142     	///
8143 	    ATOMIC_COUNTER_BARRIER_BIT = 0x00001000,
8144     	///
8145 	    ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000,
8146     	///
8147 	    BUFFER_UPDATE_BARRIER_BIT = 0x00000200,
8148     	///
8149 	    BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200,
8150     	///
8151 	    CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000,
8152     	///
8153 	    COMMAND_BARRIER_BIT = 0x00000040,
8154     	///
8155 	    COMMAND_BARRIER_BIT_EXT = 0x00000040,
8156     	///
8157 	    ELEMENT_ARRAY_BARRIER_BIT = 0x00000002,
8158     	///
8159 	    ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002,
8160     	///
8161 	    FRAMEBUFFER_BARRIER_BIT = 0x00000400,
8162     	///
8163 	    FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400,
8164     	///
8165 	    PIXEL_BUFFER_BARRIER_BIT = 0x00000080,
8166     	///
8167 	    PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080,
8168     	///
8169 	    QUERY_BUFFER_BARRIER_BIT = 0x00008000,
8170     	///
8171 	    SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010,
8172     	///
8173 	    SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020,
8174     	///
8175 	    SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020,
8176     	///
8177 	    SHADER_STORAGE_BARRIER_BIT = 0x00002000,
8178     	///
8179 	    TEXTURE_FETCH_BARRIER_BIT = 0x00000008,
8180     	///
8181 	    TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008,
8182     	///
8183 	    TEXTURE_UPDATE_BARRIER_BIT = 0x00000100,
8184     	///
8185 	    TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100,
8186     	///
8187 	    TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800,
8188     	///
8189 	    TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800,
8190     	///
8191 	    UNIFORM_BARRIER_BIT = 0x00000004,
8192     	///
8193 	    UNIFORM_BARRIER_BIT_EXT = 0x00000004,
8194     	///
8195 	    VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001,
8196     	///
8197 	    VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001
8198 	}
8199 
8200 	///
8201 	enum MeshMode1 {
8202     	///
8203 	    LINE = 0x1B01,
8204     	///
8205 	    POINT = 0x1B00
8206 	}
8207 
8208 	///
8209 	enum MeshMode2 {
8210     	///
8211 	    FILL = 0x1B02,
8212     	///
8213 	    LINE = 0x1B01,
8214     	///
8215 	    POINT = 0x1B00
8216 	}
8217 
8218 	///
8219 	enum MinmaxTargetEXT {
8220     	///
8221 	    MINMAX = 0x802E,
8222     	///
8223 	    MINMAX_EXT = 0x802E
8224 	}
8225 
8226 	///
8227 	enum NormalPointerType {
8228     	///
8229 	    BYTE = 0x1400,
8230     	///
8231 	    DOUBLE = 0x140A,
8232     	///
8233 	    FLOAT = 0x1406,
8234     	///
8235 	    INT = 0x1404,
8236     	///
8237 	    SHORT = 0x1402
8238 	}
8239 
8240 	///
8241 	enum PixelCopyType {
8242     	///
8243 	    COLOR = 0x1800,
8244     	///
8245 	    COLOR_EXT = 0x1800,
8246     	///
8247 	    DEPTH = 0x1801,
8248     	///
8249 	    DEPTH_EXT = 0x1801,
8250     	///
8251 	    STENCIL = 0x1802,
8252     	///
8253 	    STENCIL_EXT = 0x1802
8254 	}
8255 
8256 	///
8257 	enum PixelFormat {
8258     	///
8259 	    ABGR_EXT = 0x8000,
8260     	///
8261 	    ALPHA = 0x1906,
8262     	///
8263 	    BLUE = 0x1905,
8264     	///
8265 	    CMYKA_EXT = 0x800D,
8266     	///
8267 	    CMYK_EXT = 0x800C,
8268     	///
8269 	    COLOR_INDEX = 0x1900,
8270     	///
8271 	    DEPTH_COMPONENT = 0x1902,
8272     	///
8273 	    GREEN = 0x1904,
8274     	///
8275 	    LUMINANCE = 0x1909,
8276     	///
8277 	    LUMINANCE_ALPHA = 0x190A,
8278     	///
8279 	    RED = 0x1903,
8280     	///
8281 	    RED_EXT = 0x1903,
8282     	///
8283 	    RGB = 0x1907,
8284     	///
8285 	    RGBA = 0x1908,
8286     	///
8287 	    STENCIL_INDEX = 0x1901,
8288     	///
8289 	    UNSIGNED_INT = 0x1405,
8290     	///
8291 	    UNSIGNED_SHORT = 0x1403,
8292     	///
8293 	    YCRCB_422_SGIX = 0x81BB,
8294     	///
8295 	    YCRCB_444_SGIX = 0x81BC
8296 	}
8297 
8298 	///
8299 	enum InternalFormat {
8300     	///
8301 	    ALPHA12 = 0x803D,
8302     	///
8303 	    ALPHA16 = 0x803E,
8304     	///
8305 	    ALPHA4 = 0x803B,
8306     	///
8307 	    ALPHA8 = 0x803C,
8308     	///
8309 	    DEPTH_COMPONENT16_SGIX = 0x81A5,
8310     	///
8311 	    DEPTH_COMPONENT24_SGIX = 0x81A6,
8312     	///
8313 	    DEPTH_COMPONENT32_SGIX = 0x81A7,
8314     	///
8315 	    DUAL_ALPHA12_SGIS = 0x8112,
8316     	///
8317 	    DUAL_ALPHA16_SGIS = 0x8113,
8318     	///
8319 	    DUAL_ALPHA4_SGIS = 0x8110,
8320     	///
8321 	    DUAL_ALPHA8_SGIS = 0x8111,
8322     	///
8323 	    DUAL_INTENSITY12_SGIS = 0x811A,
8324     	///
8325 	    DUAL_INTENSITY16_SGIS = 0x811B,
8326     	///
8327 	    DUAL_INTENSITY4_SGIS = 0x8118,
8328     	///
8329 	    DUAL_INTENSITY8_SGIS = 0x8119,
8330     	///
8331 	    DUAL_LUMINANCE12_SGIS = 0x8116,
8332     	///
8333 	    DUAL_LUMINANCE16_SGIS = 0x8117,
8334     	///
8335 	    DUAL_LUMINANCE4_SGIS = 0x8114,
8336     	///
8337 	    DUAL_LUMINANCE8_SGIS = 0x8115,
8338     	///
8339 	    DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C,
8340     	///
8341 	    DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D,
8342     	///
8343 	    INTENSITY = 0x8049,
8344     	///
8345 	    INTENSITY12 = 0x804C,
8346     	///
8347 	    INTENSITY16 = 0x804D,
8348     	///
8349 	    INTENSITY4 = 0x804A,
8350     	///
8351 	    INTENSITY8 = 0x804B,
8352     	///
8353 	    LUMINANCE12 = 0x8041,
8354     	///
8355 	    LUMINANCE12_ALPHA12 = 0x8047,
8356     	///
8357 	    LUMINANCE12_ALPHA4 = 0x8046,
8358     	///
8359 	    LUMINANCE16 = 0x8042,
8360     	///
8361 	    LUMINANCE16_ALPHA16 = 0x8048,
8362     	///
8363 	    LUMINANCE4 = 0x803F,
8364     	///
8365 	    LUMINANCE4_ALPHA4 = 0x8043,
8366     	///
8367 	    LUMINANCE6_ALPHA2 = 0x8044,
8368     	///
8369 	    LUMINANCE8 = 0x8040,
8370     	///
8371 	    LUMINANCE8_ALPHA8 = 0x8045,
8372     	///
8373 	    QUAD_ALPHA4_SGIS = 0x811E,
8374     	///
8375 	    QUAD_ALPHA8_SGIS = 0x811F,
8376     	///
8377 	    QUAD_INTENSITY4_SGIS = 0x8122,
8378     	///
8379 	    QUAD_INTENSITY8_SGIS = 0x8123,
8380     	///
8381 	    QUAD_LUMINANCE4_SGIS = 0x8120,
8382     	///
8383 	    QUAD_LUMINANCE8_SGIS = 0x8121,
8384     	///
8385 	    R3_G3_B2 = 0x2A10,
8386     	///
8387 	    RGB10 = 0x8052,
8388     	///
8389 	    RGB10_A2 = 0x8059,
8390     	///
8391 	    RGB12 = 0x8053,
8392     	///
8393 	    RGB16 = 0x8054,
8394     	///
8395 	    RGB2_EXT = 0x804E,
8396     	///
8397 	    RGB4 = 0x804F,
8398     	///
8399 	    RGB5 = 0x8050,
8400     	///
8401 	    RGB5_A1 = 0x8057,
8402     	///
8403 	    RGB8 = 0x8051,
8404     	///
8405 	    RGBA12 = 0x805A,
8406     	///
8407 	    RGBA16 = 0x805B,
8408     	///
8409 	    RGBA2 = 0x8055,
8410     	///
8411 	    RGBA4 = 0x8056,
8412     	///
8413 	    RGBA8 = 0x8058
8414 	}
8415 
8416 	///
8417 	enum PixelMap {
8418     	///
8419 	    PIXEL_MAP_A_TO_A = 0x0C79,
8420     	///
8421 	    PIXEL_MAP_B_TO_B = 0x0C78,
8422     	///
8423 	    PIXEL_MAP_G_TO_G = 0x0C77,
8424     	///
8425 	    PIXEL_MAP_I_TO_A = 0x0C75,
8426     	///
8427 	    PIXEL_MAP_I_TO_B = 0x0C74,
8428     	///
8429 	    PIXEL_MAP_I_TO_G = 0x0C73,
8430     	///
8431 	    PIXEL_MAP_I_TO_I = 0x0C70,
8432     	///
8433 	    PIXEL_MAP_I_TO_R = 0x0C72,
8434     	///
8435 	    PIXEL_MAP_R_TO_R = 0x0C76,
8436     	///
8437 	    PIXEL_MAP_S_TO_S = 0x0C71
8438 	}
8439 
8440 	///
8441 	enum PixelStoreParameter {
8442     	///
8443 	    PACK_ALIGNMENT = 0x0D05,
8444     	///
8445 	    PACK_IMAGE_DEPTH_SGIS = 0x8131,
8446     	///
8447 	    PACK_IMAGE_HEIGHT = 0x806C,
8448     	///
8449 	    PACK_IMAGE_HEIGHT_EXT = 0x806C,
8450     	///
8451 	    PACK_LSB_FIRST = 0x0D01,
8452     	///
8453 	    PACK_RESAMPLE_OML = 0x8984,
8454     	///
8455 	    PACK_RESAMPLE_SGIX = 0x842E,
8456     	///
8457 	    PACK_ROW_LENGTH = 0x0D02,
8458     	///
8459 	    PACK_SKIP_IMAGES = 0x806B,
8460     	///
8461 	    PACK_SKIP_IMAGES_EXT = 0x806B,
8462     	///
8463 	    PACK_SKIP_PIXELS = 0x0D04,
8464     	///
8465 	    PACK_SKIP_ROWS = 0x0D03,
8466     	///
8467 	    PACK_SKIP_VOLUMES_SGIS = 0x8130,
8468     	///
8469 	    PACK_SUBSAMPLE_RATE_SGIX = 0x85A0,
8470     	///
8471 	    PACK_SWAP_BYTES = 0x0D00,
8472     	///
8473 	    PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145,
8474     	///
8475 	    PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144,
8476     	///
8477 	    PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143,
8478     	///
8479 	    PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142,
8480     	///
8481 	    PIXEL_TILE_HEIGHT_SGIX = 0x8141,
8482     	///
8483 	    PIXEL_TILE_WIDTH_SGIX = 0x8140,
8484     	///
8485 	    UNPACK_ALIGNMENT = 0x0CF5,
8486     	///
8487 	    UNPACK_IMAGE_DEPTH_SGIS = 0x8133,
8488     	///
8489 	    UNPACK_IMAGE_HEIGHT = 0x806E,
8490     	///
8491 	    UNPACK_IMAGE_HEIGHT_EXT = 0x806E,
8492     	///
8493 	    UNPACK_LSB_FIRST = 0x0CF1,
8494     	///
8495 	    UNPACK_RESAMPLE_OML = 0x8985,
8496     	///
8497 	    UNPACK_RESAMPLE_SGIX = 0x842F,
8498     	///
8499 	    UNPACK_ROW_LENGTH = 0x0CF2,
8500     	///
8501 	    UNPACK_ROW_LENGTH_EXT = 0x0CF2,
8502     	///
8503 	    UNPACK_SKIP_IMAGES = 0x806D,
8504     	///
8505 	    UNPACK_SKIP_IMAGES_EXT = 0x806D,
8506     	///
8507 	    UNPACK_SKIP_PIXELS = 0x0CF4,
8508     	///
8509 	    UNPACK_SKIP_PIXELS_EXT = 0x0CF4,
8510     	///
8511 	    UNPACK_SKIP_ROWS = 0x0CF3,
8512     	///
8513 	    UNPACK_SKIP_ROWS_EXT = 0x0CF3,
8514     	///
8515 	    UNPACK_SKIP_VOLUMES_SGIS = 0x8132,
8516     	///
8517 	    UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1,
8518     	///
8519 	    UNPACK_SWAP_BYTES = 0x0CF0
8520 	}
8521 
8522 	///
8523 	enum PixelStoreResampleMode {
8524     	///
8525 	    RESAMPLE_DECIMATE_SGIX = 0x8430,
8526     	///
8527 	    RESAMPLE_REPLICATE_SGIX = 0x8433,
8528     	///
8529 	    RESAMPLE_ZERO_FILL_SGIX = 0x8434
8530 	}
8531 
8532 	///
8533 	enum PixelStoreSubsampleRate {
8534     	///
8535 	    PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3,
8536     	///
8537 	    PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4,
8538     	///
8539 	    PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2
8540 	}
8541 
8542 	///
8543 	enum PixelTexGenMode {
8544     	///
8545 	    LUMINANCE = 0x1909,
8546     	///
8547 	    LUMINANCE_ALPHA = 0x190A,
8548     	///
8549 	    NONE = 0,
8550     	///
8551 	    PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189,
8552     	///
8553 	    PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A,
8554     	///
8555 	    PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188,
8556     	///
8557 	    PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187,
8558     	///
8559 	    RGB = 0x1907,
8560     	///
8561 	    RGBA = 0x1908
8562 	}
8563 
8564 	///
8565 	enum PixelTexGenParameterNameSGIS {
8566     	///
8567 	    PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355,
8568     	///
8569 	    PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354
8570 	}
8571 
8572 	///
8573 	enum PixelTransferParameter {
8574     	///
8575 	    ALPHA_BIAS = 0x0D1D,
8576     	///
8577 	    ALPHA_SCALE = 0x0D1C,
8578     	///
8579 	    BLUE_BIAS = 0x0D1B,
8580     	///
8581 	    BLUE_SCALE = 0x0D1A,
8582     	///
8583 	    DEPTH_BIAS = 0x0D1F,
8584     	///
8585 	    DEPTH_SCALE = 0x0D1E,
8586     	///
8587 	    GREEN_BIAS = 0x0D19,
8588     	///
8589 	    GREEN_SCALE = 0x0D18,
8590     	///
8591 	    INDEX_OFFSET = 0x0D13,
8592     	///
8593 	    INDEX_SHIFT = 0x0D12,
8594     	///
8595 	    MAP_COLOR = 0x0D10,
8596     	///
8597 	    MAP_STENCIL = 0x0D11,
8598     	///
8599 	    POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB,
8600     	///
8601 	    POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB,
8602     	///
8603 	    POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7,
8604     	///
8605 	    POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7,
8606     	///
8607 	    POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA,
8608     	///
8609 	    POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA,
8610     	///
8611 	    POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6,
8612     	///
8613 	    POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6,
8614     	///
8615 	    POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9,
8616     	///
8617 	    POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9,
8618     	///
8619 	    POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5,
8620     	///
8621 	    POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5,
8622     	///
8623 	    POST_COLOR_MATRIX_RED_BIAS = 0x80B8,
8624     	///
8625 	    POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8,
8626     	///
8627 	    POST_COLOR_MATRIX_RED_SCALE = 0x80B4,
8628     	///
8629 	    POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4,
8630     	///
8631 	    POST_CONVOLUTION_ALPHA_BIAS = 0x8023,
8632     	///
8633 	    POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023,
8634     	///
8635 	    POST_CONVOLUTION_ALPHA_SCALE = 0x801F,
8636     	///
8637 	    POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F,
8638     	///
8639 	    POST_CONVOLUTION_BLUE_BIAS = 0x8022,
8640     	///
8641 	    POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022,
8642     	///
8643 	    POST_CONVOLUTION_BLUE_SCALE = 0x801E,
8644     	///
8645 	    POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E,
8646     	///
8647 	    POST_CONVOLUTION_GREEN_BIAS = 0x8021,
8648     	///
8649 	    POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021,
8650     	///
8651 	    POST_CONVOLUTION_GREEN_SCALE = 0x801D,
8652     	///
8653 	    POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D,
8654     	///
8655 	    POST_CONVOLUTION_RED_BIAS = 0x8020,
8656     	///
8657 	    POST_CONVOLUTION_RED_BIAS_EXT = 0x8020,
8658     	///
8659 	    POST_CONVOLUTION_RED_SCALE = 0x801C,
8660     	///
8661 	    POST_CONVOLUTION_RED_SCALE_EXT = 0x801C,
8662     	///
8663 	    RED_BIAS = 0x0D15,
8664     	///
8665 	    RED_SCALE = 0x0D14
8666 	}
8667 
8668 	///
8669 	enum PixelType {
8670     	///
8671 	    BITMAP = 0x1A00,
8672     	///
8673 	    BYTE = 0x1400,
8674     	///
8675 	    FLOAT = 0x1406,
8676     	///
8677 	    INT = 0x1404,
8678     	///
8679 	    SHORT = 0x1402,
8680     	///
8681 	    UNSIGNED_BYTE = 0x1401,
8682     	///
8683 	    UNSIGNED_BYTE_3_3_2 = 0x8032,
8684     	///
8685 	    UNSIGNED_BYTE_3_3_2_EXT = 0x8032,
8686     	///
8687 	    UNSIGNED_INT = 0x1405,
8688     	///
8689 	    UNSIGNED_INT_10_10_10_2 = 0x8036,
8690     	///
8691 	    UNSIGNED_INT_10_10_10_2_EXT = 0x8036,
8692     	///
8693 	    UNSIGNED_INT_8_8_8_8 = 0x8035,
8694     	///
8695 	    UNSIGNED_INT_8_8_8_8_EXT = 0x8035,
8696     	///
8697 	    UNSIGNED_SHORT = 0x1403,
8698     	///
8699 	    UNSIGNED_SHORT_4_4_4_4 = 0x8033,
8700     	///
8701 	    UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033,
8702     	///
8703 	    UNSIGNED_SHORT_5_5_5_1 = 0x8034,
8704     	///
8705 	    UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034
8706 	}
8707 
8708 	///
8709 	enum PointParameterNameSGIS {
8710     	///
8711 	    DISTANCE_ATTENUATION_EXT = 0x8129,
8712     	///
8713 	    DISTANCE_ATTENUATION_SGIS = 0x8129,
8714     	///
8715 	    POINT_DISTANCE_ATTENUATION = 0x8129,
8716     	///
8717 	    POINT_DISTANCE_ATTENUATION_ARB = 0x8129,
8718     	///
8719 	    POINT_FADE_THRESHOLD_SIZE = 0x8128,
8720     	///
8721 	    POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128,
8722     	///
8723 	    POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128,
8724     	///
8725 	    POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128,
8726     	///
8727 	    POINT_SIZE_MAX = 0x8127,
8728     	///
8729 	    POINT_SIZE_MAX_ARB = 0x8127,
8730     	///
8731 	    POINT_SIZE_MAX_EXT = 0x8127,
8732     	///
8733 	    POINT_SIZE_MAX_SGIS = 0x8127,
8734     	///
8735 	    POINT_SIZE_MIN = 0x8126,
8736     	///
8737 	    POINT_SIZE_MIN_ARB = 0x8126,
8738     	///
8739 	    POINT_SIZE_MIN_EXT = 0x8126,
8740     	///
8741 	    POINT_SIZE_MIN_SGIS = 0x8126
8742 	}
8743 
8744 	///
8745 	enum PolygonMode {
8746     	///
8747 	    FILL = 0x1B02,
8748     	///
8749 	    LINE = 0x1B01,
8750     	///
8751 	    POINT = 0x1B00
8752 	}
8753 
8754 	///
8755 	enum PrimitiveType {
8756     	///
8757 	    LINES = 0x0001,
8758     	///
8759 	    LINES_ADJACENCY = 0x000A,
8760     	///
8761 	    LINES_ADJACENCY_ARB = 0x000A,
8762     	///
8763 	    LINES_ADJACENCY_EXT = 0x000A,
8764     	///
8765 	    LINE_LOOP = 0x0002,
8766     	///
8767 	    LINE_STRIP = 0x0003,
8768     	///
8769 	    LINE_STRIP_ADJACENCY = 0x000B,
8770     	///
8771 	    LINE_STRIP_ADJACENCY_ARB = 0x000B,
8772     	///
8773 	    LINE_STRIP_ADJACENCY_EXT = 0x000B,
8774     	///
8775 	    PATCHES = 0x000E,
8776     	///
8777 	    PATCHES_EXT = 0x000E,
8778     	///
8779 	    POINTS = 0x0000,
8780     	///
8781 	    POLYGON = 0x0009,
8782     	///
8783 	    QUADS = 0x0007,
8784     	///
8785 	    QUADS_EXT = 0x0007,
8786     	///
8787 	    QUAD_STRIP = 0x0008,
8788     	///
8789 	    TRIANGLES = 0x0004,
8790     	///
8791 	    TRIANGLES_ADJACENCY = 0x000C,
8792     	///
8793 	    TRIANGLES_ADJACENCY_ARB = 0x000C,
8794     	///
8795 	    TRIANGLES_ADJACENCY_EXT = 0x000C,
8796     	///
8797 	    TRIANGLE_FAN = 0x0006,
8798     	///
8799 	    TRIANGLE_STRIP = 0x0005,
8800     	///
8801 	    TRIANGLE_STRIP_ADJACENCY = 0x000D,
8802     	///
8803 	    TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D,
8804     	///
8805 	    TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D
8806 	}
8807 
8808 	///
8809 	@Bitmaskable
8810 	enum OcclusionQueryEventMaskAMD {
8811     	///
8812 	    QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001,
8813     	///
8814 	    QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002,
8815     	///
8816 	    QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004,
8817     	///
8818 	    QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008,
8819     	///
8820 	    QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF
8821 	}
8822 
8823 	///
8824 	enum ReadBufferMode {
8825     	///
8826 	    AUX0 = 0x0409,
8827     	///
8828 	    AUX1 = 0x040A,
8829     	///
8830 	    AUX2 = 0x040B,
8831     	///
8832 	    AUX3 = 0x040C,
8833     	///
8834 	    BACK = 0x0405,
8835     	///
8836 	    BACK_LEFT = 0x0402,
8837     	///
8838 	    BACK_RIGHT = 0x0403,
8839     	///
8840 	    FRONT = 0x0404,
8841     	///
8842 	    FRONT_LEFT = 0x0400,
8843     	///
8844 	    FRONT_RIGHT = 0x0401,
8845     	///
8846 	    LEFT = 0x0406,
8847     	///
8848 	    RIGHT = 0x0407
8849 	}
8850 
8851 	///
8852 	enum RenderingMode {
8853     	///
8854 	    FEEDBACK = 0x1C01,
8855     	///
8856 	    RENDER = 0x1C00,
8857     	///
8858 	    SELECT = 0x1C02
8859 	}
8860 
8861 	///
8862 	enum SamplePatternSGIS {
8863     	///
8864 	    EXT_1PASS = 0x80A1,
8865     	///
8866 	    SGIS_1PASS = 0x80A1,
8867     	///
8868 	    EXT_2PASS_0 = 0x80A2,
8869     	///
8870 	    SGIS_2PASS_0 = 0x80A2,
8871     	///
8872 	    EXT_2PASS_1 = 0x80A3,
8873     	///
8874 	    SGIS_2PASS_1 = 0x80A3,
8875     	///
8876 	    EXT_4PASS_0 = 0x80A4,
8877     	///
8878 	    SGIS_4PASS_0 = 0x80A4,
8879     	///
8880 	    EXT_4PASS_1 = 0x80A5,
8881     	///
8882 	    SGIS_4PASS_1 = 0x80A5,
8883     	///
8884 	    EXT_4PASS_2 = 0x80A6,
8885     	///
8886 	    SGIS_4PASS_2 = 0x80A6,
8887     	///
8888 	    EXT_4PASS_3 = 0x80A7,
8889     	///
8890 	    SGIS_4PASS_3 = 0x80A7
8891 	}
8892 
8893 	///
8894 	enum SeparableTargetEXT {
8895     	///
8896 	    SEPARABLE_2D = 0x8012,
8897     	///
8898 	    SEPARABLE_2D_EXT = 0x8012
8899 	}
8900 
8901 	///
8902 	enum ShadingModel {
8903     	///
8904 	    FLAT = 0x1D00,
8905     	///
8906 	    SMOOTH = 0x1D01
8907 	}
8908 
8909 	///
8910 	enum StencilFunction {
8911     	///
8912 	    ALWAYS = 0x0207,
8913     	///
8914 	    EQUAL = 0x0202,
8915     	///
8916 	    GEQUAL = 0x0206,
8917     	///
8918 	    GREATER = 0x0204,
8919     	///
8920 	    LEQUAL = 0x0203,
8921     	///
8922 	    LESS = 0x0201,
8923     	///
8924 	    NEVER = 0x0200,
8925     	///
8926 	    NOTEQUAL = 0x0205
8927 	}
8928 
8929 	///
8930 	enum StencilOp {
8931     	///
8932 	    DECR = 0x1E03,
8933     	///
8934 	    INCR = 0x1E02,
8935     	///
8936 	    INVERT = 0x150A,
8937     	///
8938 	    KEEP = 0x1E00,
8939     	///
8940 	    REPLACE = 0x1E01,
8941     	///
8942 	    ZERO = 0
8943 	}
8944 
8945 	///
8946 	enum StringName {
8947     	///
8948 	    EXTENSIONS = 0x1F03,
8949     	///
8950 	    RENDERER = 0x1F01,
8951     	///
8952 	    VENDOR = 0x1F00,
8953     	///
8954 	    VERSION = 0x1F02
8955 	}
8956 
8957 	///
8958 	enum TexCoordPointerType {
8959     	///
8960 	    DOUBLE = 0x140A,
8961     	///
8962 	    FLOAT = 0x1406,
8963     	///
8964 	    INT = 0x1404,
8965     	///
8966 	    SHORT = 0x1402
8967 	}
8968 
8969 	///
8970 	enum TextureCoordName {
8971     	///
8972 	    S = 0x2000,
8973     	///
8974 	    T = 0x2001,
8975     	///
8976 	    R = 0x2002,
8977     	///
8978 	    Q = 0x2003
8979 	}
8980 
8981 	///
8982 	enum TextureEnvMode {
8983     	///
8984 	    ADD = 0x0104,
8985     	///
8986 	    BLEND = 0x0BE2,
8987     	///
8988 	    DECAL = 0x2101,
8989     	///
8990 	    MODULATE = 0x2100,
8991     	///
8992 	    REPLACE_EXT = 0x8062,
8993     	///
8994 	    TEXTURE_ENV_BIAS_SGIX = 0x80BE
8995 	}
8996 
8997 	///
8998 	enum TextureEnvParameter {
8999     	///
9000 	    TEXTURE_ENV_COLOR = 0x2201,
9001     	///
9002 	    TEXTURE_ENV_MODE = 0x2200
9003 	}
9004 
9005 	///
9006 	enum TextureEnvTarget {
9007     	///
9008 	    TEXTURE_ENV = 0x2300
9009 	}
9010 
9011 	///
9012 	enum TextureFilterFuncSGIS {
9013     	///
9014 	    FILTER4_SGIS = 0x8146
9015 	}
9016 
9017 	///
9018 	enum TextureGenMode {
9019     	///
9020 	    EYE_DISTANCE_TO_LINE_SGIS = 0x81F2,
9021     	///
9022 	    EYE_DISTANCE_TO_POINT_SGIS = 0x81F0,
9023     	///
9024 	    EYE_LINEAR = 0x2400,
9025     	///
9026 	    OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3,
9027     	///
9028 	    OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1,
9029     	///
9030 	    OBJECT_LINEAR = 0x2401,
9031     	///
9032 	    SPHERE_MAP = 0x2402
9033 	}
9034 
9035 	///
9036 	enum TextureGenParameter {
9037     	///
9038 	    EYE_LINE_SGIS = 0x81F6,
9039     	///
9040 	    EYE_PLANE = 0x2502,
9041     	///
9042 	    EYE_POINT_SGIS = 0x81F4,
9043     	///
9044 	    OBJECT_LINE_SGIS = 0x81F7,
9045     	///
9046 	    OBJECT_PLANE = 0x2501,
9047     	///
9048 	    OBJECT_POINT_SGIS = 0x81F5,
9049     	///
9050 	    TEXTURE_GEN_MODE = 0x2500
9051 	}
9052 
9053 	///
9054 	enum TextureMagFilter {
9055     	///
9056 	    FILTER4_SGIS = 0x8146,
9057     	///
9058 	    LINEAR = 0x2601,
9059     	///
9060 	    LINEAR_DETAIL_ALPHA_SGIS = 0x8098,
9061     	///
9062 	    LINEAR_DETAIL_COLOR_SGIS = 0x8099,
9063     	///
9064 	    LINEAR_DETAIL_SGIS = 0x8097,
9065     	///
9066 	    LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE,
9067     	///
9068 	    LINEAR_SHARPEN_COLOR_SGIS = 0x80AF,
9069     	///
9070 	    LINEAR_SHARPEN_SGIS = 0x80AD,
9071     	///
9072 	    NEAREST = 0x2600,
9073     	///
9074 	    PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184,
9075     	///
9076 	    PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186,
9077     	///
9078 	    PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185
9079 	}
9080 
9081 	///
9082 	enum TextureMinFilter {
9083     	///
9084 	    FILTER4_SGIS = 0x8146,
9085     	///
9086 	    LINEAR = 0x2601,
9087     	///
9088 	    LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170,
9089     	///
9090 	    LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F,
9091     	///
9092 	    LINEAR_MIPMAP_LINEAR = 0x2703,
9093     	///
9094 	    LINEAR_MIPMAP_NEAREST = 0x2701,
9095     	///
9096 	    NEAREST = 0x2600,
9097     	///
9098 	    NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E,
9099     	///
9100 	    NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D,
9101     	///
9102 	    NEAREST_MIPMAP_LINEAR = 0x2702,
9103     	///
9104 	    NEAREST_MIPMAP_NEAREST = 0x2700,
9105     	///
9106 	    PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184,
9107     	///
9108 	    PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186,
9109     	///
9110 	    PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185
9111 	}
9112 
9113 	///
9114 	enum TextureParameterName {
9115     	///
9116 	    DETAIL_TEXTURE_LEVEL_SGIS = 0x809A,
9117     	///
9118 	    DETAIL_TEXTURE_MODE_SGIS = 0x809B,
9119     	///
9120 	    DUAL_TEXTURE_SELECT_SGIS = 0x8124,
9121     	///
9122 	    GENERATE_MIPMAP = 0x8191,
9123     	///
9124 	    GENERATE_MIPMAP_SGIS = 0x8191,
9125     	///
9126 	    POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179,
9127     	///
9128 	    POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A,
9129     	///
9130 	    QUAD_TEXTURE_SELECT_SGIS = 0x8125,
9131     	///
9132 	    SHADOW_AMBIENT_SGIX = 0x80BF,
9133     	///
9134 	    TEXTURE_BORDER_COLOR = 0x1004,
9135     	///
9136 	    TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171,
9137     	///
9138 	    TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176,
9139     	///
9140 	    TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172,
9141     	///
9142 	    TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175,
9143     	///
9144 	    TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173,
9145     	///
9146 	    TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174,
9147     	///
9148 	    TEXTURE_COMPARE_SGIX = 0x819A,
9149     	///
9150 	    TEXTURE_LOD_BIAS_R_SGIX = 0x8190,
9151     	///
9152 	    TEXTURE_LOD_BIAS_S_SGIX = 0x818E,
9153     	///
9154 	    TEXTURE_LOD_BIAS_T_SGIX = 0x818F,
9155     	///
9156 	    TEXTURE_MAG_FILTER = 0x2800,
9157     	///
9158 	    TEXTURE_MAX_CLAMP_R_SGIX = 0x836B,
9159     	///
9160 	    TEXTURE_MAX_CLAMP_S_SGIX = 0x8369,
9161     	///
9162 	    TEXTURE_MAX_CLAMP_T_SGIX = 0x836A,
9163     	///
9164 	    TEXTURE_MIN_FILTER = 0x2801,
9165     	///
9166 	    TEXTURE_PRIORITY = 0x8066,
9167     	///
9168 	    TEXTURE_PRIORITY_EXT = 0x8066,
9169     	///
9170 	    TEXTURE_WRAP_Q_SGIS = 0x8137,
9171     	///
9172 	    TEXTURE_WRAP_R = 0x8072,
9173     	///
9174 	    TEXTURE_WRAP_R_EXT = 0x8072,
9175     	///
9176 	    TEXTURE_WRAP_R_OES = 0x8072,
9177     	///
9178 	    TEXTURE_WRAP_S = 0x2802,
9179     	///
9180 	    TEXTURE_WRAP_T = 0x2803
9181 	}
9182 
9183 	///
9184 	enum TextureTarget {
9185     	///
9186 	    DETAIL_TEXTURE_2D_SGIS = 0x8095,
9187     	///
9188 	    PROXY_TEXTURE_1D = 0x8063,
9189     	///
9190 	    PROXY_TEXTURE_1D_EXT = 0x8063,
9191     	///
9192 	    PROXY_TEXTURE_2D = 0x8064,
9193     	///
9194 	    PROXY_TEXTURE_2D_EXT = 0x8064,
9195     	///
9196 	    PROXY_TEXTURE_3D = 0x8070,
9197     	///
9198 	    PROXY_TEXTURE_3D_EXT = 0x8070,
9199     	///
9200 	    PROXY_TEXTURE_4D_SGIS = 0x8135,
9201     	///
9202 	    TEXTURE_1D = 0x0DE0,
9203     	///
9204 	    TEXTURE_2D = 0x0DE1,
9205     	///
9206 	    TEXTURE_3D = 0x806F,
9207     	///
9208 	    TEXTURE_3D_EXT = 0x806F,
9209     	///
9210 	    TEXTURE_3D_OES = 0x806F,
9211     	///
9212 	    TEXTURE_4D_SGIS = 0x8134,
9213     	///
9214 	    TEXTURE_BASE_LEVEL = 0x813C,
9215     	///
9216 	    TEXTURE_BASE_LEVEL_SGIS = 0x813C,
9217     	///
9218 	    TEXTURE_MAX_LEVEL = 0x813D,
9219     	///
9220 	    TEXTURE_MAX_LEVEL_SGIS = 0x813D,
9221     	///
9222 	    TEXTURE_MAX_LOD = 0x813B,
9223     	///
9224 	    TEXTURE_MAX_LOD_SGIS = 0x813B,
9225     	///
9226 	    TEXTURE_MIN_LOD = 0x813A,
9227     	///
9228 	    TEXTURE_MIN_LOD_SGIS = 0x813A
9229 	}
9230 
9231 	///
9232 	enum TextureWrapMode {
9233     	///
9234 	    CLAMP = 0x2900,
9235     	///
9236 	    CLAMP_TO_BORDER = 0x812D,
9237     	///
9238 	    CLAMP_TO_BORDER_ARB = 0x812D,
9239     	///
9240 	    CLAMP_TO_BORDER_NV = 0x812D,
9241     	///
9242 	    CLAMP_TO_BORDER_SGIS = 0x812D,
9243     	///
9244 	    CLAMP_TO_EDGE = 0x812F,
9245     	///
9246 	    CLAMP_TO_EDGE_SGIS = 0x812F,
9247     	///
9248 	    REPEAT = 0x2901
9249 	}
9250 
9251 	///
9252 	@Bitmaskable
9253 	enum UseProgramStageMask {
9254     	///
9255 	    VERTEX_SHADER_BIT = 0x00000001,
9256     	///
9257 	    VERTEX_SHADER_BIT_EXT = 0x00000001,
9258     	///
9259 	    FRAGMENT_SHADER_BIT = 0x00000002,
9260     	///
9261 	    FRAGMENT_SHADER_BIT_EXT = 0x00000002,
9262     	///
9263 	    GEOMETRY_SHADER_BIT = 0x00000004,
9264     	///
9265 	    GEOMETRY_SHADER_BIT_EXT = 0x00000004,
9266     	///
9267 	    TESS_CONTROL_SHADER_BIT = 0x00000008,
9268     	///
9269 	    TESS_CONTROL_SHADER_BIT_EXT = 0x00000008,
9270     	///
9271 	    TESS_EVALUATION_SHADER_BIT = 0x00000010,
9272     	///
9273 	    TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010,
9274     	///
9275 	    COMPUTE_SHADER_BIT = 0x00000020,
9276     	///
9277 	    ALL_SHADER_BITS = 0xFFFFFFFF,
9278     	///
9279 	    ALL_SHADER_BITS_EXT = 0xFFFFFFFF
9280 	}
9281 
9282 	///
9283 	enum VertexPointerType {
9284     	///
9285 	    DOUBLE = 0x140A,
9286     	///
9287 	    FLOAT = 0x1406,
9288     	///
9289 	    INT = 0x1404,
9290     	///
9291 	    SHORT = 0x1402
9292 	}
9293 
9294     alias fn_glActiveShaderProgram = extern(C) void function(GLuint pipeline, GLuint program) @system @nogc nothrow;
9295 
9296     /++
9297      + glActiveShaderProgram: man4/glActiveShaderProgram.xml
9298      + 
9299      + $(D_INLINECODE glActiveShaderProgram) sets the linked program named by $(D_INLINECODE program) to be the active program for the program pipeline object $(D_INLINECODE pipeline). The active program in the active program pipeline object is the target of calls to $(D_INLINECODE glUniform) when no program has been made current through a call to $(D_INLINECODE glUseProgram).
9300      + 
9301      + Params:
9302      +     pipeline = Specifies the program pipeline object to set the active program object for.
9303      +     program  = Specifies the program object to set as the active program pipeline object $(D_INLINECODE pipeline).
9304      + 
9305      + Copyright:
9306      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9307      + 
9308      + See_Also:
9309      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glDeleteProgramPipelines), $(D_INLINECODE glIsProgramPipeline), $(D_INLINECODE glUseProgram), $(D_INLINECODE glUniform)
9310      +/
9311     @OpenGL_Version(OGLIntroducedIn.V4P1)
9312     @OpenGL_Extension("GL_ARB_separate_shader_objects")
9313     fn_glActiveShaderProgram glActiveShaderProgram;
9314     alias fn_glActiveTexture = extern(C) void function(GLenum texture) @system @nogc nothrow;
9315 
9316     /++
9317      + glActiveTexture: man4/glActiveTexture.xml
9318      + 
9319      + $(D_INLINECODE glActiveTexture) selects which texture unit subsequent texture state calls will affect.  The number of texture units an implementation supports is implementation dependent, but must be at least 80.
9320      + 
9321      + Params:
9322      +     texture = Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least 80. $(D_INLINECODE texture) must be one of $(D_INLINECODE GL_TEXTURE), where ranges from zero to the value of $(D_INLINECODE GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS) minus one. The initial value is $(D_INLINECODE GL_TEXTURE0).
9323      + 
9324      + Copyright:
9325      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
9326      + 
9327      + See_Also:
9328      +     $(D_INLINECODE glGenTextures), $(D_INLINECODE glBindTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glDeleteTextures) $(D_INLINECODE glIsTexture), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage2DMultisample), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage3DMultisample), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter),
9329      +/
9330     @OpenGL_Version(OGLIntroducedIn.V1P3)
9331     fn_glActiveTexture glActiveTexture;
9332     alias fn_glAttachShader = extern(C) void function(GLuint program, GLuint shader) @system @nogc nothrow;
9333 
9334     /++
9335      + glAttachShader: man4/glAttachShader.xml
9336      + 
9337      + In order to create a complete shader program, there must be a way to specify the list of things that will be linked together. Program objects provide this mechanism. Shaders that are to be linked together in a program object must first be attached to that program object. $(D_INLINECODE glAttachShader) attaches the shader object specified by $(D_INLINECODE shader) to the program object specified by $(D_INLINECODE program). This indicates that $(D_INLINECODE shader) will be included in link operations that will be performed on $(D_INLINECODE program). All operations that can be performed on a shader object are valid whether or not the shader object is attached to a program object. It is permissible to attach a shader object to a program object before source code has been loaded into the shader object or before the shader object has been compiled. It is permissible to attach multiple shader objects of the same type because each may contain a portion of the complete shader. It is also permissible to attach a shader object to more than one program object. If a shader object is deleted while it is attached to a program object, it will be flagged for deletion, and deletion will not occur until $(D_INLINECODE glDetachShader) is called to detach it from all program objects to which it is attached.
9338      + 
9339      + Params:
9340      +     program = Specifies the program object to which a shader object will be attached.
9341      +     shader  = Specifies the shader object that is to be attached.
9342      + 
9343      + Copyright:
9344      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9345      + 
9346      + See_Also:
9347      +     $(D_INLINECODE glCompileShader), $(D_INLINECODE glCreateShader), $(D_INLINECODE glDeleteShader), $(D_INLINECODE glDetachShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glShaderSource)
9348      +/
9349     @OpenGL_Version(OGLIntroducedIn.V2P0)
9350     fn_glAttachShader glAttachShader;
9351     alias fn_glBeginConditionalRender = extern(C) void function(GLuint id, GLenum mode) @system @nogc nothrow;
9352 
9353     /++
9354      + glBeginConditionalRender: man4/glBeginConditionalRender.xml
9355      + 
9356      + Conditional rendering is started using $(D_INLINECODE glBeginConditionalRender) and ended using $(D_INLINECODE glEndConditionalRender). During conditional rendering, all vertex array commands, as well as $(D_INLINECODE glClear) and $(D_INLINECODE glClearBuffer) have no effect if the ( $(D_INLINECODE GL_SAMPLES_PASSED) ) result of the query object $(D_INLINECODE id) is zero, or if the ( $(D_INLINECODE GL_ANY_SAMPLES_PASSED) ) result is $(D_INLINECODE GL_FALSE). The results of commands setting the current vertex state, such as $(D_INLINECODE glVertexAttrib) are undefined. If the ( $(D_INLINECODE GL_SAMPLES_PASSED) ) result is non-zero or if the ( $(D_INLINECODE GL_ANY_SAMPLES_PASSED) ) result is $(D_INLINECODE GL_TRUE), such commands are not discarded. The $(D_INLINECODE id) parameter to $(D_INLINECODE glBeginConditionalRender) must be the name of a query object previously returned from a call to $(D_INLINECODE glGenQueries). $(D_INLINECODE mode) specifies how the results of the query object are to be interpreted. If $(D_INLINECODE mode) is $(D_INLINECODE GL_QUERY_WAIT), the GL waits for the results of the query to be available and then uses the results to determine if subsequent rendering commands are discarded. If $(D_INLINECODE mode) is $(D_INLINECODE GL_QUERY_NO_WAIT), the GL may choose to unconditionally execute the subsequent rendering commands without waiting for the query to complete. If $(D_INLINECODE mode) is $(D_INLINECODE GL_QUERY_BY_REGION_WAIT), the GL will also wait for occlusion query results and discard rendering commands if the result of the occlusion query is zero. If the query result is non-zero, subsequent rendering commands are executed, but the GL may discard the results of the commands for any region of the framebuffer that did not contribute to the sample count in the specified occlusion query. Any such discarding is done in an implementation-dependent manner, but the rendering command results may not be discarded for any samples that contributed to the occlusion query sample count. If $(D_INLINECODE mode) is $(D_INLINECODE GL_QUERY_BY_REGION_NO_WAIT), the GL operates as in $(D_INLINECODE GL_QUERY_BY_REGION_WAIT), but may choose to unconditionally execute the subsequent rendering commands without waiting for the query to complete.
9357      + 
9358      + $(D_INLINECODE glBeginConditionalRender) and $(D_INLINECODE glEndConditionalRender) are available only if the GL version is 3.0 or greater. The $(D_INLINECODE GL_ANY_SAMPLES_PASSED) query result is available only if the GL version is 3.3 or greater.
9359      + 
9360      + Params:
9361      +     id   = Specifies the name of an occlusion query object whose results are used to determine if the rendering commands are discarded.
9362      +     mode = Specifies how $(D_INLINECODE glBeginConditionalRender) interprets the results of the occlusion query.
9363      + 
9364      + Copyright:
9365      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9366      + 
9367      + See_Also:
9368      +     $(D_INLINECODE glGenQueries), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glBeginQuery)
9369      +/
9370     @OpenGL_Version(OGLIntroducedIn.V3P0)
9371     fn_glBeginConditionalRender glBeginConditionalRender;
9372     alias fn_glBeginQuery = extern(C) void function(GLenum target, GLuint id) @system @nogc nothrow;
9373 
9374     /++
9375      + glBeginQuery: man4/glBeginQuery.xml
9376      + 
9377      + $(D_INLINECODE glBeginQuery) and $(D_INLINECODE glEndQuery) delimit the boundaries of a query object. $(D_INLINECODE query) must be a name previously returned from a call to $(D_INLINECODE glGenQueries). If a query object with name $(D_INLINECODE id) does not yet exist it is created with the type determined by $(D_INLINECODE target). $(D_INLINECODE target) must be one of $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), or $(D_INLINECODE GL_TIME_ELAPSED). The behavior of the query object depends on its type and is as follows. If $(D_INLINECODE target) is $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE id) must be an unused name, or the name of an existing occlusion query object. When $(D_INLINECODE glBeginQuery) is executed, the query object's samples-passed counter is reset to 0.  Subsequent rendering will increment the counter for every sample that passes the depth test.  If the value of $(D_INLINECODE GL_SAMPLE_BUFFERS) is 0, then the samples-passed count is incremented by 1 for each fragment. If the value of $(D_INLINECODE GL_SAMPLE_BUFFERS) is 1, then the samples-passed count is incremented by the number of samples whose coverage bit is set. However, implementations, at their discression may instead increase the samples-passed count by the value of $(D_INLINECODE GL_SAMPLES) if any sample in the fragment is covered. When $(D_INLINECODE glEndQuery) is executed, the samples-passed counter is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). If $(D_INLINECODE target) is $(D_INLINECODE GL_ANY_SAMPLES_PASSED) or $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE), $(D_INLINECODE id) must be an unused name, or the name of an existing boolean occlusion query object. When $(D_INLINECODE glBeginQuery) is executed, the query object's samples-passed flag is reset to $(D_INLINECODE GL_FALSE). Subsequent rendering causes the flag to be set to $(D_INLINECODE GL_TRUE) if any sample passes the depth test in the case of $(D_INLINECODE GL_ANY_SAMPLES_PASSED), or if the implementation determines that any sample might pass the depth test in the case of $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE). The implementation may be able to provide a more efficient test in the case of $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE) if some false positives are acceptable to the application.  When $(D_INLINECODE glEndQuery) is executed, the samples-passed flag is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). If $(D_INLINECODE target) is $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE id) must be an unused name, or the name of an existing primitive query object previously bound to the $(D_INLINECODE GL_PRIMITIVES_GENERATED) query binding. When $(D_INLINECODE glBeginQuery) is executed, the query object's primitives-generated counter is reset to 0.  Subsequent rendering will increment the counter once for every vertex that is emitted from the geometry shader, or from the vertex shader if no geometry shader is present.  When $(D_INLINECODE glEndQuery) is executed, the primitives-generated counter is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). If $(D_INLINECODE target) is $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), $(D_INLINECODE id) must be an unused name, or the name of an existing primitive query object previously bound to the $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN) query binding. When $(D_INLINECODE glBeginQuery) is executed, the query object's primitives-written counter is reset to 0.  Subsequent rendering will increment the counter once for every vertex that is written into the bound transform feedback buffer(s).  If transform feedback mode is not activated between the call to $(D_INLINECODE glBeginQuery) and $(D_INLINECODE glEndQuery), the counter will not be incremented.  When $(D_INLINECODE glEndQuery) is executed, the primitives-written counter is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). If $(D_INLINECODE target) is $(D_INLINECODE GL_TIME_ELAPSED), $(D_INLINECODE id) must be an unused name, or the name of an existing timer query object previously bound to the $(D_INLINECODE GL_TIME_ELAPSED) query binding. When $(D_INLINECODE glBeginQuery) is executed, the query object's time counter is reset to 0.  When $(D_INLINECODE glEndQuery) is executed, the elapsed server time that has passed since the call to $(D_INLINECODE glBeginQuery) is written into the query object's time counter.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). Querying the $(D_INLINECODE GL_QUERY_RESULT) implicitly flushes the GL pipeline until the rendering delimited by the query object has completed and the result is available. $(D_INLINECODE GL_QUERY_RESULT_AVAILABLE) can be queried to determine if the result is immediately available or if the rendering is not yet complete.
9378      + 
9379      + If the query target's count exceeds the maximum value representable in the number of available bits, as reported by $(D_INLINECODE glGetQueryiv) with $(D_INLINECODE target) set to the appropriate query target and $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_COUNTER_BITS), the count becomes undefined. An implementation may support 0 bits in its counter, in which case query results are always undefined and essentially useless. When $(D_INLINECODE GL_SAMPLE_BUFFERS) is 0, the samples-passed counter of an occlusion query will increment once for each fragment that passes the depth test.  When $(D_INLINECODE GL_SAMPLE_BUFFERS) is 1, an implementation may either increment the samples-passed counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for all samples of a fragment if any one of them passes the depth test. The query targets $(D_INLINECODE GL_ANY_SAMPLES_PASSED), and $(D_INLINECODE GL_TIME_ELAPSED) are availale only if the GL version is 3.3 or higher. The query target $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE) is available only of the GL version is 4.3 or higher.
9380      + 
9381      + Params:
9382      +     target = Specifies the target type of query object established between $(D_INLINECODE glBeginQuery) and the subsequent $(D_INLINECODE glEndQuery). The symbolic constant must be one of $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE), $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), or $(D_INLINECODE GL_TIME_ELAPSED).
9383      +     id     = Specifies the name of a query object.
9384      + 
9385      + Copyright:
9386      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9387      + 
9388      + See_Also:
9389      +     $(D_INLINECODE glBeginQueryIndexed), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glEndQuery), $(D_INLINECODE glGenQueries), $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glIsQuery)
9390      +/
9391     @OpenGL_Version(OGLIntroducedIn.V1P5)
9392     fn_glBeginQuery glBeginQuery;
9393     alias fn_glBeginQueryIndexed = extern(C) void function(GLenum target, GLuint index, GLuint id) @system @nogc nothrow;
9394 
9395     /++
9396      + glBeginQueryIndexed: man4/glBeginQueryIndexed.xml
9397      + 
9398      + $(D_INLINECODE glBeginQueryIndexed) and $(D_INLINECODE glEndQueryIndexed) delimit the boundaries of a query object. $(D_INLINECODE query) must be a name previously returned from a call to $(D_INLINECODE glGenQueries). If a query object with name $(D_INLINECODE id) does not yet exist it is created with the type determined by $(D_INLINECODE target). $(D_INLINECODE target) must be one of $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), or $(D_INLINECODE GL_TIME_ELAPSED). The behavior of the query object depends on its type and is as follows. $(D_INLINECODE index) specifies the index of the query target and must be between a $(D_INLINECODE target) -specific maximum. If $(D_INLINECODE target) is $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE id) must be an unused name, or the name of an existing occlusion query object. When $(D_INLINECODE glBeginQueryIndexed) is executed, the query object's samples-passed counter is reset to 0.  Subsequent rendering will increment the counter for every sample that passes the depth test.  If the value of $(D_INLINECODE GL_SAMPLE_BUFFERS) is 0, then the samples-passed count is incremented by 1 for each fragment. If the value of $(D_INLINECODE GL_SAMPLE_BUFFERS) is 1, then the samples-passed count is incremented by the number of samples whose coverage bit is set. However, implementations, at their discression may instead increase the samples-passed count by the value of $(D_INLINECODE GL_SAMPLES) if any sample in the fragment is covered. When $(D_INLINECODE glEndQueryIndexed) is executed, the samples-passed counter is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). When $(D_INLINECODE target) is $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE index) must be zero. If $(D_INLINECODE target) is $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE id) must be an unused name, or the name of an existing boolean occlusion query object. When $(D_INLINECODE glBeginQueryIndexed) is executed, the query object's samples-passed flag is reset to $(D_INLINECODE GL_FALSE). Subsequent rendering causes the flag to be set to $(D_INLINECODE GL_TRUE) if any sample passes the depth test.  When $(D_INLINECODE glEndQueryIndexed) is executed, the samples-passed flag is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). When $(D_INLINECODE target) is $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE index) must be zero. If $(D_INLINECODE target) is $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE id) must be an unused name, or the name of an existing primitive query object previously bound to the $(D_INLINECODE GL_PRIMITIVES_GENERATED) query binding. When $(D_INLINECODE glBeginQueryIndexed) is executed, the query object's primitives-generated counter is reset to 0.  Subsequent rendering will increment the counter once for every vertex that is emitted from the geometry shader to the stream given by $(D_INLINECODE index), or from the vertex shader if $(D_INLINECODE index) is zero and no geometry shader is present. When $(D_INLINECODE glEndQueryIndexed) is executed, the primitives-generated counter for stream $(D_INLINECODE index) is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). When $(D_INLINECODE target) is $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE index) must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_STREAMS). If $(D_INLINECODE target) is $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), $(D_INLINECODE id) must be an unused name, or the name of an existing primitive query object previously bound to the $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN) query binding. When $(D_INLINECODE glBeginQueryIndexed) is executed, the query object's primitives-written counter for the stream specified by $(D_INLINECODE index) is reset to 0.  Subsequent rendering will increment the counter once for every vertex that is written into the bound transform feedback buffer(s) for stream $(D_INLINECODE index).  If transform feedback mode is not activated between the call to $(D_INLINECODE glBeginQueryIndexed) and $(D_INLINECODE glEndQueryIndexed), the counter will not be incremented.  When $(D_INLINECODE glEndQueryIndexed) is executed, the primitives-written counter for stream $(D_INLINECODE index) is assigned to the query object's result value.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). When $(D_INLINECODE target) is $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), $(D_INLINECODE index) must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_STREAMS). If $(D_INLINECODE target) is $(D_INLINECODE GL_TIME_ELAPSED), $(D_INLINECODE id) must be an unused name, or the name of an existing timer query object previously bound to the $(D_INLINECODE GL_TIME_ELAPSED) query binding. When $(D_INLINECODE glBeginQueryIndexed) is executed, the query object's time counter is reset to 0.  When $(D_INLINECODE glEndQueryIndexed) is executed, the elapsed server time that has passed since the call to $(D_INLINECODE glBeginQueryIndexed) is written into the query object's time counter.  This value can be queried by calling $(D_INLINECODE glGetQueryObject) with $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_RESULT). When $(D_INLINECODE target) is $(D_INLINECODE GL_TIME_ELAPSED), $(D_INLINECODE index) must be zero. Querying the $(D_INLINECODE GL_QUERY_RESULT) implicitly flushes the GL pipeline until the rendering delimited by the query object has completed and the result is available. $(D_INLINECODE GL_QUERY_RESULT_AVAILABLE) can be queried to determine if the result is immediately available or if the rendering is not yet complete.
9399      + 
9400      + If the query target's count exceeds the maximum value representable in the number of available bits, as reported by $(D_INLINECODE glGetQueryiv) with $(D_INLINECODE target) set to the appropriate query target and $(D_INLINECODE pname) $(D_INLINECODE GL_QUERY_COUNTER_BITS), the count becomes undefined. An implementation may support 0 bits in its counter, in which case query results are always undefined and essentially useless. When $(D_INLINECODE GL_SAMPLE_BUFFERS) is 0, the samples-passed counter of an occlusion query will increment once for each fragment that passes the depth test.  When $(D_INLINECODE GL_SAMPLE_BUFFERS) is 1, an implementation may either increment the samples-passed counter individually for each sample of a fragment that passes the depth test, or it may choose to increment the counter for all samples of a fragment if any one of them passes the depth test. Calling $(D_INLINECODE glBeginQuery) or $(D_INLINECODE glEndQuery) is equivalent to calling $(D_INLINECODE glBeginQueryIndexed) or $(D_INLINECODE glEndQueryIndexed) with $(D_INLINECODE index) set to zero, respectively.
9401      + 
9402      + Params:
9403      +     target = Specifies the target type of query object established between $(D_INLINECODE glBeginQueryIndexed) and the subsequent $(D_INLINECODE glEndQueryIndexed). The symbolic constant must be one of $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), or $(D_INLINECODE GL_TIME_ELAPSED).
9404      +     index  = Specifies the index of the query target upon which to begin the query.
9405      +     id     = Specifies the name of a query object.
9406      + 
9407      + Copyright:
9408      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9409      + 
9410      + See_Also:
9411      +     $(D_INLINECODE glBeginQuery), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glEndQuery), $(D_INLINECODE glGenQueries), $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glIsQuery)
9412      +/
9413     @OpenGL_Version(OGLIntroducedIn.V4P0)
9414     @OpenGL_Extension("GL_ARB_transform_feedback3")
9415     fn_glBeginQueryIndexed glBeginQueryIndexed;
9416     alias fn_glBeginTransformFeedback = extern(C) void function(GLenum primitiveMode) @system @nogc nothrow;
9417 
9418     /++
9419      + glBeginTransformFeedback: man4/glBeginTransformFeedback.xml
9420      + 
9421      + Transform feedback mode captures the values of varying variables written by the vertex shader (or, if active, the geometry shader). Transform feedback is said to be active after a call to $(D_INLINECODE glBeginTransformFeedback) until a subsequent call to $(D_INLINECODE glEndTransformFeedback). Transform feedback commands must be paired. If no geometry shader is present, while transform feedback is active the $(D_INLINECODE mode) parameter to $(D_INLINECODE glDrawArrays) must match those specified in the following table: $(B Transform Feedback $(D_INLINECODE primitiveMode)) $(B Allowed Render Primitive $(D_INLINECODE modes)) $(D_INLINECODE GL_POINTS) $(D_INLINECODE GL_POINTS) $(D_INLINECODE GL_LINES) $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY) $(D_INLINECODE GL_TRIANGLES) $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) If a geometry shader is present, the output primitive type from the geometry shader must match those provided in the following table: $(B Transform Feedback $(D_INLINECODE primitiveMode)) $(B Allowed Geometry Shader Output Primitive Type) $(D_INLINECODE GL_POINTS) $(D_INLINECODE points) $(D_INLINECODE GL_LINES) $(D_INLINECODE line_strip) $(D_INLINECODE GL_TRIANGLES) $(D_INLINECODE triangle_strip)
9422      + 
9423      + Geometry shaders, and the $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY) and $(D_INLINECODE GL_LINE_STRIP_ADJACENCY) primtive modes are available only if the GL version is 3.2 or greater.
9424      + 
9425      + Params:
9426      +     primitiveMode = Specify the output type of the primitives that will be recorded into the buffer objects that are bound for transform feedback.
9427      + 
9428      + Copyright:
9429      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9430      + 
9431      + See_Also:
9432      +     
9433      +/
9434     @OpenGL_Version(OGLIntroducedIn.V3P0)
9435     fn_glBeginTransformFeedback glBeginTransformFeedback;
9436     alias fn_glBindAttribLocation = extern(C) void function(GLuint program, GLuint index, const GLchar* name) @system @nogc nothrow;
9437 
9438     /++
9439      + glBindAttribLocation: man4/glBindAttribLocation.xml
9440      + 
9441      + $(D_INLINECODE glBindAttribLocation) is used to associate a user-defined attribute variable in the program object specified by $(D_INLINECODE program) with a generic vertex attribute index. The name of the user-defined attribute variable is passed as a null terminated string in $(D_INLINECODE name). The generic vertex attribute index to be bound to this variable is specified by $(D_INLINECODE index). When $(D_INLINECODE program) is made part of current state, values provided via the generic vertex attribute $(D_INLINECODE index) will modify the value of the user-defined attribute variable specified by $(D_INLINECODE name). If $(D_INLINECODE name) refers to a matrix attribute variable, $(D_INLINECODE index) refers to the first column of the matrix. Other matrix columns are then automatically bound to locations $(D_INLINECODE index+1) for a matrix of type $(D_INLINECODE mat2); $(D_INLINECODE index+1) and $(D_INLINECODE index+2) for a matrix of type $(D_INLINECODE mat3); and $(D_INLINECODE index+1), $(D_INLINECODE index+2), and $(D_INLINECODE index+3) for a matrix of type $(D_INLINECODE mat4). This command makes it possible for vertex shaders to use descriptive names for attribute variables rather than generic variables that are numbered from zero to the value of $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS) minus one. The values sent to each generic attribute index are part of current state. If a different program object is made current by calling $(D_INLINECODE glUseProgram), the generic vertex attributes are tracked in such a way that the same values will be observed by attributes in the new program object that are also bound to $(D_INLINECODE index). Attribute variable name-to-generic attribute index bindings for a program object can be explicitly assigned at any time by calling $(D_INLINECODE glBindAttribLocation). Attribute bindings do not go into effect until $(D_INLINECODE glLinkProgram) is called. After a program object has been linked successfully, the index values for generic attributes remain fixed (and their values can be queried) until the next link command occurs. Any attribute binding that occurs after the program object has been linked will not take effect until the next time the program object is linked.
9442      + 
9443      + $(D_INLINECODE glBindAttribLocation) can be called before any vertex shader objects are bound to the specified program object. It is also permissible to bind a generic attribute index to an attribute variable name that is never used in a vertex shader. If $(D_INLINECODE name) was bound previously, that information is lost. Thus you cannot bind one user-defined attribute variable to multiple indices, but you can bind multiple user-defined attribute variables to the same index. Applications are allowed to bind more than one user-defined attribute variable to the same generic vertex attribute index. This is called, and it is allowed only if just one of the aliased attributes is active in the executable program, or if no path through the shader consumes more than one attribute of a set of attributes aliased to the same location. The compiler and linker are allowed to assume that no aliasing is done and are free to employ optimizations that work only in the absence of aliasing. OpenGL implementations are not required to do error checking to detect aliasing. Active attributes that are not explicitly bound will be bound by the linker when $(D_INLINECODE glLinkProgram) is called. The locations assigned can be queried by calling $(D_INLINECODE glGetAttribLocation). OpenGL copies the $(D_INLINECODE name) string when $(D_INLINECODE glBindAttribLocation) is called, so an application may free its copy of the $(D_INLINECODE name) string immediately after the function returns. Generic attribute locations may be specified in the shader source text using a $(D_INLINECODE location) layout qualifier. In this case, the location of the attribute specified in the shader's source takes precedence and may be queried by calling $(D_INLINECODE glGetAttribLocation).
9444      + 
9445      + Params:
9446      +     program = Specifies the handle of the program object in which the association is to be made.
9447      +     index   = Specifies the index of the generic vertex attribute to be bound.
9448      +     name    = Specifies a null terminated string containing the name of the vertex shader attribute variable to which $(D_INLINECODE index) is to be bound.
9449      + 
9450      + Copyright:
9451      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9452      + 
9453      + See_Also:
9454      +     $(D_INLINECODE glDisableVertexAttribArray), $(D_INLINECODE glEnableVertexAttribArray), $(D_INLINECODE glUseProgram), $(D_INLINECODE glVertexAttrib), $(D_INLINECODE glVertexAttribPointer)
9455      +/
9456     @OpenGL_Version(OGLIntroducedIn.V2P0)
9457     fn_glBindAttribLocation glBindAttribLocation;
9458     alias fn_glBindBuffer = extern(C) void function(GLenum target, GLuint buffer) @system @nogc nothrow;
9459 
9460     /++
9461      + glBindBuffer: man4/glBindBuffer.xml
9462      + 
9463      + $(D_INLINECODE glBindBuffer) binds a buffer object to the specified buffer binding point. Calling $(D_INLINECODE glBindBuffer) with $(D_INLINECODE target) set to one of the accepted symbolic constants and $(D_INLINECODE buffer) set to the name of a buffer object binds that buffer object name to the target. If no buffer object with name $(D_INLINECODE buffer) exists, one is created with that name. When a buffer object is bound to a target, the previous binding for that target is automatically broken. Buffer object names are unsigned integers. The value zero is reserved, but there is no default buffer object for each buffer object target. Instead, $(D_INLINECODE buffer) set to zero effectively unbinds any buffer object previously bound, and restores client memory usage for that buffer object target (if supported for that target). Buffer object names and the corresponding buffer object contents are local to the shared object space of the current GL rendering context; two rendering contexts share buffer object names only if they explicitly enable sharing between contexts through the appropriate GL windows interfaces functions. $(D_INLINECODE glGenBuffers) must be used to generate a set of unused buffer object names. The state of a buffer object immediately after it is first bound is an unmapped zero-sized memory buffer with $(D_INLINECODE GL_READ_WRITE) access and $(D_INLINECODE GL_STATIC_DRAW) usage. While a non-zero buffer object name is bound, GL operations on the target to which it is bound affect the bound buffer object, and queries of the target to which it is bound return state from the bound buffer object. While buffer object name zero is bound, as in the initial state, attempts to modify or query state on the target to which it is bound generates an $(D_INLINECODE GL_INVALID_OPERATION) error. When a non-zero buffer object is bound to the $(D_INLINECODE GL_ARRAY_BUFFER) target, the vertex array pointer parameter is interpreted as an offset within the buffer object measured in basic machine units. When a non-zero buffer object is bound to the $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) target, parameters for draws issued through $(D_INLINECODE glDrawArraysIndirect) and $(D_INLINECODE glDrawElementsIndirect) are sourced from the specified offset in that buffer object's data store. When a non-zero buffer object is bound to the $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) target, the parameters for compute dispatches issued through $(D_INLINECODE glDispatchComputeIndirect) are sourced from the specified offset in that buffer object's data store. While a non-zero buffer object is bound to the $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) target, the indices parameter of $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawElementsInstanced), $(D_INLINECODE glDrawElementsBaseVertex), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawRangeElementsBaseVertex), $(D_INLINECODE glMultiDrawElements), or $(D_INLINECODE glMultiDrawElementsBaseVertex) is interpreted as an offset within the buffer object measured in basic machine units. While a non-zero buffer object is bound to the $(D_INLINECODE GL_PIXEL_PACK_BUFFER) target, the following commands are affected: $(D_INLINECODE glGetCompressedTexImage), $(D_INLINECODE glGetTexImage), and $(D_INLINECODE glReadPixels). The pointer parameter is interpreted as an offset within the buffer object measured in basic machine units. While a non-zero buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target, the following commands are affected: $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), and $(D_INLINECODE glTexSubImage3D). The pointer parameter is interpreted as an offset within the buffer object measured in basic machine units. The buffer targets $(D_INLINECODE GL_COPY_READ_BUFFER) and $(D_INLINECODE GL_COPY_WRITE_BUFFER) are provided to allow $(D_INLINECODE glCopyBufferSubData) to be used without disturbing the state of other bindings. However, $(D_INLINECODE glCopyBufferSubData) may be used with any pair of buffer binding points. The $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) buffer binding point may be passed to $(D_INLINECODE glBindBuffer), but will not directly affect transform feedback state. Instead, the indexed $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) bindings must be used through a call to $(D_INLINECODE glBindBufferBase) or $(D_INLINECODE glBindBufferRange). This will affect the generic $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) binding. Likewise, the $(D_INLINECODE GL_UNIFORM_BUFFER), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) buffer binding points may be used, but do not directly affect uniform buffer, atomic counter buffer or shader storage buffer state, respectively. $(D_INLINECODE glBindBufferBase) or $(D_INLINECODE glBindBufferRange) must be used to bind a buffer to an indexed uniform buffer, atomic counter buffer or shader storage buffer binding point. The $(D_INLINECODE GL_QUERY_BUFFER) binding point is used to specify a buffer object that is to receive the results of query objects through calls to the $(D_INLINECODE glGetQueryObject) family of commands. A buffer object binding created with $(D_INLINECODE glBindBuffer) remains active until a different buffer object name is bound to the same target, or until the bound buffer object is deleted with $(D_INLINECODE glDeleteBuffers). Once created, a named buffer object may be re-bound to any target as often as needed. However, the GL implementation may make choices about how to optimize the storage of a buffer object based on its initial binding target.
9464      + 
9465      + The $(D_INLINECODE GL_COPY_READ_BUFFER), $(D_INLINECODE GL_UNIFORM_BUFFER) and $(D_INLINECODE GL_TEXTURE_BUFFER) targets are available only if the GL version is 3.1 or greater. The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
9466      + 
9467      + Params:
9468      +     target = Specifies the target to which the buffer object is bound, which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
9469      +     buffer = Specifies the name of a buffer object.
9470      + 
9471      + Copyright:
9472      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9473      + 
9474      + See_Also:
9475      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glGet), $(D_INLINECODE glIsBuffer)
9476      +/
9477     @OpenGL_Version(OGLIntroducedIn.V1P5)
9478     fn_glBindBuffer glBindBuffer;
9479     alias fn_glBindBufferBase = extern(C) void function(GLenum target, GLuint index, GLuint buffer) @system @nogc nothrow;
9480 
9481     /++
9482      + glBindBufferBase: man4/glBindBufferBase.xml
9483      + 
9484      + $(D_INLINECODE glBindBufferBase) binds the buffer object $(D_INLINECODE buffer) to the binding point at index $(D_INLINECODE index) of the array of targets specified by $(D_INLINECODE target). Each $(D_INLINECODE target) represents an indexed array of buffer binding points, as well as a single general binding point that can be used by other buffer manipulation functions such as $(D_INLINECODE glBindBuffer) or $(D_INLINECODE glMapBuffer). In addition to binding $(D_INLINECODE buffer) to the indexed buffer binding target, $(D_INLINECODE glBindBufferBase) also binds $(D_INLINECODE buffer) to the generic buffer binding point specified by $(D_INLINECODE target).
9485      + 
9486      + Calling $(D_INLINECODE glBindBufferBase) is equivalent to calling $(D_INLINECODE glBindBufferRange) with $(D_INLINECODE offset) zero and $(D_INLINECODE size) equal to the size of the buffer. The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) target is available only if the GL version is 4.3 or greater.
9487      + 
9488      + Params:
9489      +     target = Specify the target of the bind operation. $(D_INLINECODE target) must be one of $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER), $(D_INLINECODE GL_UNIFORM_BUFFER) or $(D_INLINECODE GL_SHADER_STORAGE_BUFFER).
9490      +     index  = Specify the index of the binding point within the array specified by $(D_INLINECODE target).
9491      +     buffer = The name of a buffer object to bind to the specified binding point.
9492      + 
9493      + Copyright:
9494      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9495      + 
9496      + See_Also:
9497      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer),
9498      +/
9499     @OpenGL_Version(OGLIntroducedIn.V3P0)
9500     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
9501     fn_glBindBufferBase glBindBufferBase;
9502     alias fn_glBindBufferRange = extern(C) void function(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
9503 
9504     /++
9505      + glBindBufferRange: man4/glBindBufferRange.xml
9506      + 
9507      + $(D_INLINECODE glBindBufferRange) binds a range the buffer object $(D_INLINECODE buffer) represented by $(D_INLINECODE offset) and $(D_INLINECODE size) to the binding point at index $(D_INLINECODE index) of the array of targets specified by $(D_INLINECODE target). Each $(D_INLINECODE target) represents an indexed array of buffer binding points, as well as a single general binding point that can be used by other buffer manipulation functions such as $(D_INLINECODE glBindBuffer) or $(D_INLINECODE glMapBuffer). In addition to binding a range of $(D_INLINECODE buffer) to the indexed buffer binding target, $(D_INLINECODE glBindBufferRange) also binds the range to the generic buffer binding point specified by $(D_INLINECODE target). $(D_INLINECODE offset) specifies the offset in basic machine units into the buffer object $(D_INLINECODE buffer) and $(D_INLINECODE size) specifies the amount of data that can be read from the buffer object while used as an indexed target.
9508      + 
9509      + The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) target is available only if the GL version is 4.3 or greater.
9510      + 
9511      + Params:
9512      +     target = Specify the target of the bind operation. $(D_INLINECODE target) must be one of $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER), $(D_INLINECODE GL_UNIFORM_BUFFER), or $(D_INLINECODE GL_SHADER_STORAGE_BUFFER).
9513      +     index  = Specify the index of the binding point within the array specified by $(D_INLINECODE target).
9514      +     buffer = The name of a buffer object to bind to the specified binding point.
9515      +     offset = The starting offset in basic machine units into the buffer object $(D_INLINECODE buffer).
9516      +     size   = The amount of data in machine units that can be read from the buffer object while used as an indexed target.
9517      + 
9518      + Copyright:
9519      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9520      + 
9521      + See_Also:
9522      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer),
9523      +/
9524     @OpenGL_Version(OGLIntroducedIn.V3P0)
9525     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
9526     fn_glBindBufferRange glBindBufferRange;
9527     alias fn_glBindBuffersBase = extern(C) void function(GLenum target, GLuint first, GLsizei count, const GLuint* buffers) @system @nogc nothrow;
9528 
9529     /++
9530      + glBindBuffersBase: man4/glBindBuffersBase.xml
9531      + 
9532      + $(D_INLINECODE glBindBuffersBase) binds a set of $(D_INLINECODE count) buffer objects whose names are given in the array $(D_INLINECODE buffers) to the $(D_INLINECODE count) consecutive binding points starting from index $(D_INLINECODE index) of the array of targets specified by $(D_INLINECODE target). If $(D_INLINECODE buffers) is $(D_INLINECODE null
9533      + ) then $(D_INLINECODE glBindBuffersBase) unbinds any buffers that are currently bound to the referenced binding points. Assuming no errors are generated, it is equivalent to the following pseudo-code, which calls $(D_INLINECODE glBindBufferBase) :
9534      + 
9535      + ---
9536      + for (i = 0; i &lt; count; i++) {
9537      +     if (buffers != NULL) {
9538      +         glBindBufferBase(target, first + i, buffers[i]);
9539      +     } else {
9540      +         glBindBufferBase(target, first + i, 0);
9541      +     }
9542      + }
9543      + ---
9544      + 
9545      + 
9546      + $(D_INLINECODE glBindBuffersBase) is available only if the GL version is 4.4 or higher.
9547      + 
9548      + Params:
9549      +     target  = Specify the target of the bind operation. $(D_INLINECODE target) must be one of $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER), $(D_INLINECODE GL_UNIFORM_BUFFER) or $(D_INLINECODE GL_SHADER_STORAGE_BUFFER).
9550      +     index   = Specify the index of the first binding point within the array specified by $(D_INLINECODE target).
9551      +     count   = Specify the number of contiguous binding points to which to bind buffers.
9552      +     buffers = A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or $(D_INLINECODE null).
9553      + 
9554      + Copyright:
9555      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9556      + 
9557      + See_Also:
9558      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glBindBuffersRange), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
9559      +/
9560     @OpenGL_Version(OGLIntroducedIn.V4P4)
9561     @OpenGL_Extension("GL_ARB_multi_bind")
9562     fn_glBindBuffersBase glBindBuffersBase;
9563     alias fn_glBindBuffersRange = extern(C) void function(GLenum target, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr* offsets, const GLintptr* sizes) @system @nogc nothrow;
9564 
9565     /++
9566      + glBindBuffersRange: man4/glBindBuffersRange.xml
9567      + 
9568      + $(D_INLINECODE glBindBuffersRange) binds a set of $(D_INLINECODE count) ranges from buffer objects whose names are given in the array $(D_INLINECODE buffers) to the $(D_INLINECODE count) consecutive binding points starting from index $(D_INLINECODE index) of the array of targets specified by $(D_INLINECODE target). $(D_INLINECODE offsets) specifies the address of an array containing $(D_INLINECODE count) starting offsets within the buffers, and $(D_INLINECODE sizes) specifies the adderess of an array of $(D_INLINECODE count) sizes of the ranges. If $(D_INLINECODE buffers) is $(D_INLINECODE null
9569      + ) then $(D_INLINECODE offsets) and $(D_INLINECODE sizes) are ignored and $(D_INLINECODE glBindBuffersRange) unbinds any buffers that are currently bound to the referenced binding points. Assuming no errors are generated, it is equivalent to the following pseudo-code, which calls $(D_INLINECODE glBindBufferRange) :
9570      + 
9571      + ---
9572      + for (i = 0; i &lt; count; i++) {
9573      +     if (buffers != NULL) {
9574      +         glBindBufferRange(target, first + i, buffers[i], offsets[i], sizes[i]);
9575      +     } else {
9576      +         glBindBufferBase(target, first + i, 0);
9577      +     }
9578      + }
9579      + ---
9580      + 
9581      + 
9582      + $(D_INLINECODE glBindBuffersBase) is available only if the GL version is 4.4 or higher.
9583      + 
9584      + Params:
9585      +     target  = Specify the target of the bind operation. $(D_INLINECODE target) must be one of $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER), $(D_INLINECODE GL_UNIFORM_BUFFER) or $(D_INLINECODE GL_SHADER_STORAGE_BUFFER).
9586      +     index   = Specify the index of the first binding point within the array specified by $(D_INLINECODE target).
9587      +     count   = Specify the number of contiguous binding points to which to bind buffers.
9588      +     buffers = A pointer to an array of names of buffer objects to bind to the targets on the specified binding point, or $(D_INLINECODE null).
9589      + 
9590      + Copyright:
9591      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9592      + 
9593      + See_Also:
9594      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glBindBuffersRange), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
9595      +/
9596     @OpenGL_Version(OGLIntroducedIn.V4P4)
9597     @OpenGL_Extension("GL_ARB_multi_bind")
9598     fn_glBindBuffersRange glBindBuffersRange;
9599     alias fn_glBindFragDataLocation = extern(C) void function(GLuint program, GLuint colorNumber, const char* name) @system @nogc nothrow;
9600 
9601     /++
9602      + glBindFragDataLocation: man4/glBindFragDataLocation.xml
9603      + 
9604      + $(D_INLINECODE glBindFragDataLocation) explicitly specifies the binding of the user-defined varying out variable $(D_INLINECODE name) to fragment shader color number $(D_INLINECODE colorNumber) for program $(D_INLINECODE program). If $(D_INLINECODE name) was bound previously, its assigned binding is replaced with $(D_INLINECODE colorNumber). $(D_INLINECODE name) must be a null-terminated string. $(D_INLINECODE colorNumber) must be less than $(D_INLINECODE GL_MAX_DRAW_BUFFERS). The bindings specified by $(D_INLINECODE glBindFragDataLocation) have no effect until $(D_INLINECODE program) is next linked. Bindings may be specified at any time after $(D_INLINECODE program) has been created. Specifically, they may be specified before shader objects are attached to the program. Therefore, any name may be specified in $(D_INLINECODE name), including a name that is never used as a varying out variable in any fragment shader object. Names beginning with $(D_INLINECODE gl_) are reserved by the GL. In addition to the errors generated by $(D_INLINECODE glBindFragDataLocation), the program $(D_INLINECODE program) will fail to link if: $(OL $(LI The number of active outputs is greater than the value $(D_INLINECODE GL_MAX_DRAW_BUFFERS).) $(LI More than one varying out variable is bound to the same color number.))
9605      + 
9606      + Varying out varyings may have indexed locations assigned explicitly in the shader text using a $(D_INLINECODE location) layout qualifier. If a shader statically assigns a location to a varying out variable in the shader text, that location is used and any location assigned with $(D_INLINECODE glBindFragDataLocation) is ignored.
9607      + 
9608      + Params:
9609      +     program     = The name of the program containing varying out variable whose binding to modify
9610      +     colorNumber = The color number to bind the user-defined varying out variable to
9611      +     name        = The name of the user-defined varying out variable whose binding to modify
9612      + 
9613      + Copyright:
9614      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9615      + 
9616      + See_Also:
9617      +     $(D_INLINECODE glCreateProgram), $(D_INLINECODE glGetFragDataLocation)
9618      +/
9619     @OpenGL_Version(OGLIntroducedIn.V3P0)
9620     fn_glBindFragDataLocation glBindFragDataLocation;
9621     alias fn_glBindFragDataLocationIndexed = extern(C) void function(GLuint program, GLuint colorNumber, GLuint index, const char* name) @system @nogc nothrow;
9622 
9623     /++
9624      + glBindFragDataLocationIndexed: man4/glBindFragDataLocationIndexed.xml
9625      + 
9626      + $(D_INLINECODE glBindFragDataLocationIndexed) specifies that the varying out variable $(D_INLINECODE name) in $(D_INLINECODE program) should be bound to fragment color $(D_INLINECODE colorNumber) when the program is next linked. $(D_INLINECODE index) may be zero or one to specify that the color be used as either the first or second color input to the blend equation, respectively. The bindings specified by $(D_INLINECODE glBindFragDataLocationIndexed) have no effect until $(D_INLINECODE program) is next linked. Bindings may be specified at any time after $(D_INLINECODE program) has been created. Specifically, they may be specified before shader objects are attached to the program. Therefore, any name may be specified in $(D_INLINECODE name), including a name that is never used as a varying out variable in any fragment shader object. Names beginning with $(D_INLINECODE gl_) are reserved by the GL. If $(D_INLINECODE name) was bound previously, its assigned binding is replaced with $(D_INLINECODE colorNumber) and $(D_INLINECODE index). $(D_INLINECODE name) must be a null-terminated string. $(D_INLINECODE index) must be less than or equal to one, and $(D_INLINECODE colorNumber) must be less than the value of $(D_INLINECODE GL_MAX_DRAW_BUFFERS) if $(D_INLINECODE index) is zero, and less than the value of $(D_INLINECODE GL_MAX_DUAL_SOURCE_DRAW_BUFFERS) if index is greater than or equal to one. In addition to the errors generated by $(D_INLINECODE glBindFragDataLocationIndexed), the program $(D_INLINECODE program) will fail to link if: $(OL $(LI The number of active outputs is greater than the value $(D_INLINECODE GL_MAX_DRAW_BUFFERS).) $(LI More than one varying out variable is bound to the same color number.))
9627      + 
9628      + Varying out varyings may have locations assigned explicitly in the shader text using a $(D_INLINECODE location) layout qualifier. If a shader statically assigns a location to a varying out variable in the shader text, that location is used and any location assigned with $(D_INLINECODE glBindFragDataLocation) is ignored.
9629      + 
9630      + Params:
9631      +     program     = The name of the program containing varying out variable whose binding to modify
9632      +     colorNumber = The color number to bind the user-defined varying out variable to
9633      +     index       = The index of the color input to bind the user-defined varying out variable to
9634      +     name        = The name of the user-defined varying out variable whose binding to modify
9635      + 
9636      + Copyright:
9637      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9638      + 
9639      + See_Also:
9640      +     $(D_INLINECODE glCreateProgram), $(D_INLINECODE glLinkProgram) $(D_INLINECODE glGetFragDataLocation), $(D_INLINECODE glGetFragDataIndex) $(D_INLINECODE glBindFragDataLocation)
9641      +/
9642     @OpenGL_Version(OGLIntroducedIn.V3P3)
9643     @OpenGL_Extension("GL_ARB_blend_func_extended")
9644     fn_glBindFragDataLocationIndexed glBindFragDataLocationIndexed;
9645     alias fn_glBindFramebuffer = extern(C) void function(GLenum target, GLuint framebuffer) @system @nogc nothrow;
9646 
9647     /++
9648      + glBindFramebuffer: man4/glBindFramebuffer.xml
9649      + 
9650      + $(D_INLINECODE glBindFramebuffer) binds the framebuffer object with name $(D_INLINECODE framebuffer) to the framebuffer target specified by $(D_INLINECODE target). $(D_INLINECODE target) must be either $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_FRAMEBUFFER). If a framebuffer object is bound to $(D_INLINECODE GL_DRAW_FRAMEBUFFER) or $(D_INLINECODE GL_READ_FRAMEBUFFER), it becomes the target for rendering or readback operations, respectively, until it is deleted or another framebuffer is bound to the corresponding bind point. Calling $(D_INLINECODE glBindFramebuffer) with $(D_INLINECODE target) set to $(D_INLINECODE GL_FRAMEBUFFER) binds $(D_INLINECODE framebuffer) to both the read and draw framebuffer targets. $(D_INLINECODE framebuffer) is the name of a framebuffer object previously returned from a call to $(D_INLINECODE glGenFramebuffers), or zero to break the existing binding of a framebuffer object to $(D_INLINECODE target).
9651      + 
9652      + Params:
9653      +     target      = Specifies the framebuffer target of the binding operation.
9654      +     framebuffer = Specifies the name of the framebuffer object to bind.
9655      + 
9656      + Copyright:
9657      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9658      + 
9659      + See_Also:
9660      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glFramebufferTexture), $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D), $(D_INLINECODE glFramebufferTexture3D), $(D_INLINECODE glFramebufferTextureLayer), $(D_INLINECODE glDeleteFramebuffers), $(D_INLINECODE glIsFramebuffer)
9661      +/
9662     @OpenGL_Version(OGLIntroducedIn.V3P0)
9663     @OpenGL_Extension("GL_ARB_framebuffer_object")
9664     fn_glBindFramebuffer glBindFramebuffer;
9665     alias fn_glBindImageTexture = extern(C) void function(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) @system @nogc nothrow;
9666 
9667     /++
9668      + glBindImageTexture: man4/glBindImageTexture.xml
9669      + 
9670      + $(D_INLINECODE glBindImageTexture) binds a single level of a texture to an image unit for the purpose of reading and writing it from shaders. $(D_INLINECODE unit) specifies the zero-based index of the image unit to which to bind the texture level. $(D_INLINECODE texture) specifies the name of an existing texture object to bind to the image unit. If $(D_INLINECODE texture) is zero, then any existing binding to the image unit is broken. $(D_INLINECODE level) specifies the level of the texture to bind to the image unit. If $(D_INLINECODE texture) is the name of a one-, two-, or three-dimensional array texture, a cube map or cube map array texture, or a two-dimensional multisample array texture, then it is possible to bind either the entire array, or only a single layer of the array to the image unit. In such cases, if $(D_INLINECODE layered) is $(D_INLINECODE GL_TRUE), the entire array is attached to the image unit and $(D_INLINECODE layer) is ignored. However, if $(D_INLINECODE layered) is $(D_INLINECODE GL_FALSE) then $(D_INLINECODE layer) specifies the layer of the array to attach to the image unit. $(D_INLINECODE access) specifies the access types to be performed by shaders and may be set to $(D_INLINECODE GL_READ_ONLY), $(D_INLINECODE GL_WRITE_ONLY), or $(D_INLINECODE GL_READ_WRITE) to indicate read-only, write-only or read-write access, respectively. Violation of the access type specified in $(D_INLINECODE access) (for example, if a shader writes to an image bound with $(D_INLINECODE access) set to $(D_INLINECODE GL_READ_ONLY) ) will lead to undefined results, possibly including program termination. $(D_INLINECODE format) specifies the format that is to be used when performing formatted stores into the image from shaders. $(D_INLINECODE format) must be compatible with the texture's internal format and must be one of the formats listed in the following table.<h3> Internal Image Formats</h3> $(B Image Unit Format) $(B Format Qualifier) $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE rgba32f) $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE rgba16f) $(D_INLINECODE GL_RG32F) $(D_INLINECODE rg32f) $(D_INLINECODE GL_RG16F) $(D_INLINECODE rg16f) $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE r11f_g11f_b10f) $(D_INLINECODE GL_R32F) $(D_INLINECODE r32f) $(D_INLINECODE GL_R16F) $(D_INLINECODE r16f) $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE rgba32ui) $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE rgba16ui) $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE rgb10_a2ui) $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE rgba8ui) $(D_INLINECODE GL_RG32UI) $(D_INLINECODE rg32ui) $(D_INLINECODE GL_RG16UI) $(D_INLINECODE rg16ui) $(D_INLINECODE GL_RG8UI) $(D_INLINECODE rg8ui) $(D_INLINECODE GL_R32UI) $(D_INLINECODE r32ui) $(D_INLINECODE GL_R16UI) $(D_INLINECODE r16ui) $(D_INLINECODE GL_R8UI) $(D_INLINECODE r8ui) $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE rgba32i) $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE rgba16i) $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE rgba8i) $(D_INLINECODE GL_RG32I) $(D_INLINECODE rg32i) $(D_INLINECODE GL_RG16I) $(D_INLINECODE rg16i) $(D_INLINECODE GL_RG8I) $(D_INLINECODE rg8i) $(D_INLINECODE GL_R32I) $(D_INLINECODE r32i) $(D_INLINECODE GL_R16I) $(D_INLINECODE r16i) $(D_INLINECODE GL_R8I) $(D_INLINECODE r8i) $(D_INLINECODE GL_RGBA16) $(D_INLINECODE rgba16) $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE rgb10_a2) $(D_INLINECODE GL_RGBA8) $(D_INLINECODE rgba8) $(D_INLINECODE GL_RG16) $(D_INLINECODE rg16) $(D_INLINECODE GL_RG8) $(D_INLINECODE rg8) $(D_INLINECODE GL_R16) $(D_INLINECODE r16) $(D_INLINECODE GL_R8) $(D_INLINECODE r8) $(D_INLINECODE GL_RGBA16_SNORM) $(D_INLINECODE rgba16_snorm) $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE rgba8_snorm) $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE rg16_snorm) $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE rg8_snorm) $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE r16_snorm) $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE r8_snorm) When a texture is bound to an image unit, the $(D_INLINECODE format) parameter for the image unit need not exactly match the texture internal format as long as the formats are considered compatible as defined in the OpenGL Specification. The matching criterion used for a given texture may be determined by calling $(D_INLINECODE glGetTexParameter) with $(D_INLINECODE value) set to $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_TYPE), with return values of $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE) and $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS), specifying matches by size and class, respectively.
9671      + 
9672      + The $(D_INLINECODE glBindImageTexture) is available only if the GL version is 4.2 or greater.
9673      + 
9674      + Params:
9675      +     unit    = Specifies the index of the image unit to which to bind the texture
9676      +     texture = Specifies the name of the texture to bind to the image unit.
9677      +     level   = Specifies the level of the texture that is to be bound.
9678      +     layered = Specifies whether a layered texture binding is to be established.
9679      +     layer   = If $(D_INLINECODE layered) is $(D_INLINECODE GL_FALSE), specifies the layer of $(D_INLINECODE texture) to be bound to the image unit. Ignored otherwise.
9680      +     access  = Specifies a token indicating the type of access that will be performed on the image.
9681      +     format  = Specifies the format that the elements of the image will be treated as for the purposes of formatted stores.
9682      + 
9683      + Copyright:
9684      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9685      + 
9686      + See_Also:
9687      +     $(D_INLINECODE glGenTextures), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage3D), $(D_INLINECODE glBindTexture)
9688      +/
9689     @OpenGL_Version(OGLIntroducedIn.V4P2)
9690     @OpenGL_Extension("GL_ARB_shader_image_load_store")
9691     fn_glBindImageTexture glBindImageTexture;
9692     alias fn_glBindImageTextures = extern(C) void function(GLuint first, GLsizei count, const GLuint* textures) @system @nogc nothrow;
9693 
9694     /++
9695      + glBindImageTextures: man4/glBindImageTextures.xml
9696      + 
9697      + $(D_INLINECODE glBindImageTextures) binds images from an array of existing texture objects to a specified number of consecutive image units. $(D_INLINECODE count) specifies the number of texture objects whose names are stored in the array $(D_INLINECODE textures). That number of texture names are read from the array and bound to the $(D_INLINECODE count) consecutive texture units starting from $(D_INLINECODE first). If the name zero appears in the $(D_INLINECODE textures) array, any existing binding to the image unit is reset. Any non-zero entry in $(D_INLINECODE textures) must be the name of an existing texture object. When a non-zero entry in $(D_INLINECODE textures) is present, the image at level zero is bound, the binding is considered layered, with the first layer set to zero, and the image is bound for read-write access. The image unit format parameter is taken from the internal format of the image at level zero of the texture object. For cube map textures, the internal format of the positive X image of level zero is used. If $(D_INLINECODE textures) is $(D_INLINECODE null
9698      + ) then it is as if an appropriately sized array containing only zeros had been specified. $(D_INLINECODE glBindImageTextures) is equivalent to the following pseudo code:
9699      + 
9700      + ---
9701      + for (i = 0; i &lt; count; i++) {
9702      +     if (textures == NULL || textures[i] = 0) {
9703      +         glBindImageTexture(first + i, 0, 0, GL_FALSE, 0, GL_READ_ONLY, GL_R8);
9704      +     } else {
9705      +         glBindImageTexture(first + i, textures[i], 0, GL_TRUE, 0, GL_READ_WRITE, lookupInternalFormat(textures[i]));
9706      +     }
9707      + }
9708      + ---
9709      +  Each entry in $(D_INLINECODE textures) will be checked individually and if found to be invalid, the state for that image unit will not be changed and an error will be generated. However, the state for other texture image units referenced by the command will still be updated.
9710      + 
9711      + $(D_INLINECODE glBindImageTextures) is available only if the GL version is 4.4 or higher. Note that because $(D_INLINECODE glBindImageTextures) cannot create new textures (even if a name passed has been previously generated by call to $(D_INLINECODE glGenTextures) ), names pased to $(D_INLINECODE glBindTextures) must have been bound at least once previously via a call to $(D_INLINECODE glBindTexture).
9712      + 
9713      + Params:
9714      +     first    = Specifies the first image unit to which a texture is to be bound.
9715      +     count    = Specifies the number of textures to bind.
9716      +     textures = Specifies the address of an array of names of existing texture objects.
9717      + 
9718      + Copyright:
9719      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9720      + 
9721      + See_Also:
9722      +     $(D_INLINECODE glBindTexture), $(D_INLINECODE glBindTextures), $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glIsTexture), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage2DMultisample), $(D_INLINECODE glTexStorage3D), $(D_INLINECODE glTexStorage3DMultisample), $(D_INLINECODE glTexBuffer), $(D_INLINECODE glTexParameter)
9723      +/
9724     @OpenGL_Version(OGLIntroducedIn.V4P4)
9725     @OpenGL_Extension("GL_ARB_multi_bind")
9726     fn_glBindImageTextures glBindImageTextures;
9727     alias fn_glBindProgramPipeline = extern(C) void function(GLuint pipeline) @system @nogc nothrow;
9728 
9729     /++
9730      + glBindProgramPipeline: man4/glBindProgramPipeline.xml
9731      + 
9732      + $(D_INLINECODE glBindProgramPipeline) binds a program pipeline object to the current context. $(D_INLINECODE pipeline) must be a name previously returned from a call to $(D_INLINECODE glGenProgramPipelines). If no program pipeline exists with name $(D_INLINECODE pipeline) then a new pipeline object is created with that name and initialized to the default state vector. When a program pipeline object is bound using $(D_INLINECODE glBindProgramPipeline), any previous binding is broken and is replaced with a binding to the specified pipeline object. If $(D_INLINECODE pipeline) is zero, the previous binding is broken and is not replaced, leaving no pipeline object bound. If no current program object has been established by $(D_INLINECODE glUseProgram), the program objects used for each stage and for uniform updates are taken from the bound program pipeline object, if any. If there is a current program object established by $(D_INLINECODE glUseProgram), the bound program pipeline object has no effect on rendering or uniform updates. When a bound program pipeline object is used for rendering, individual shader executables are taken from its program objects.
9733      + 
9734      + Params:
9735      +     pipeline = Specifies the name of the pipeline object to bind to the context.
9736      + 
9737      + Copyright:
9738      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9739      + 
9740      + See_Also:
9741      +     $(D_INLINECODE glCreateShader), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glCompileShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glDeleteProgramPipelines), $(D_INLINECODE glIsProgramPipeline)
9742      +/
9743     @OpenGL_Version(OGLIntroducedIn.V4P1)
9744     @OpenGL_Extension("GL_ARB_separate_shader_objects")
9745     fn_glBindProgramPipeline glBindProgramPipeline;
9746     alias fn_glBindRenderbuffer = extern(C) void function(GLenum target, GLuint renderbuffer) @system @nogc nothrow;
9747 
9748     /++
9749      + glBindRenderbuffer: man4/glBindRenderbuffer.xml
9750      + 
9751      + $(D_INLINECODE glBindRenderbuffer) binds the renderbuffer object with name $(D_INLINECODE renderbuffer) to the renderbuffer target specified by $(D_INLINECODE target). $(D_INLINECODE target) must be $(D_INLINECODE GL_RENDERBUFFER). $(D_INLINECODE renderbuffer) is the name of a renderbuffer object previously returned from a call to $(D_INLINECODE glGenRenderbuffers), or zero to break the existing binding of a renderbuffer object to $(D_INLINECODE target).
9752      + 
9753      + Params:
9754      +     target       = Specifies the renderbuffer target of the binding operation. $(D_INLINECODE target) must be $(D_INLINECODE GL_RENDERBUFFER).
9755      +     renderbuffer = Specifies the name of the renderbuffer object to bind.
9756      + 
9757      + Copyright:
9758      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9759      + 
9760      + See_Also:
9761      +     $(D_INLINECODE glDeleteRenderbuffers), $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glIsRenderbuffer), $(D_INLINECODE glRenderbufferStorage), $(D_INLINECODE glRenderbufferStorageMultisample)
9762      +/
9763     @OpenGL_Version(OGLIntroducedIn.V3P0)
9764     @OpenGL_Extension("GL_ARB_framebuffer_object")
9765     fn_glBindRenderbuffer glBindRenderbuffer;
9766     alias fn_glBindSampler = extern(C) void function(GLuint unit, GLuint sampler) @system @nogc nothrow;
9767 
9768     /++
9769      + glBindSampler: man4/glBindSampler.xml
9770      + 
9771      + $(D_INLINECODE glBindSampler) binds $(D_INLINECODE sampler) to the texture unit at index $(D_INLINECODE unit). $(D_INLINECODE sampler) must be zero or the name of a sampler object previously returned from a call to $(D_INLINECODE glGenSamplers). $(D_INLINECODE unit) must be less than the value of $(D_INLINECODE GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS). When a sampler object is bound to a texture unit, its state supersedes that of the texture object bound to that texture unit. If the sampler name zero is bound to a texture unit, the currently bound texture's sampler state becomes active. A single sampler object may be bound to multiple texture units simultaneously.
9772      + 
9773      + $(D_INLINECODE glBindSampler) is available only if the GL version is 3.3 or higher.
9774      + 
9775      + Params:
9776      +     unit    = Specifies the index of the texture unit to which the sampler is bound.
9777      +     sampler = Specifies the name of a sampler.
9778      + 
9779      + Copyright:
9780      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9781      + 
9782      + See_Also:
9783      +     $(D_INLINECODE glGenSamplers), $(D_INLINECODE glDeleteSamplers), $(D_INLINECODE glGet), $(D_INLINECODE glSamplerParameter), $(D_INLINECODE glGetSamplerParameter), $(D_INLINECODE glGenTextures), $(D_INLINECODE glBindTexture), $(D_INLINECODE glDeleteTextures)
9784      +/
9785     @OpenGL_Version(OGLIntroducedIn.V3P3)
9786     @OpenGL_Extension("GL_ARB_sampler_objects")
9787     fn_glBindSampler glBindSampler;
9788     alias fn_glBindSamplers = extern(C) void function(GLuint first, GLsizei count, const GLuint* samplers) @system @nogc nothrow;
9789 
9790     /++
9791      + glBindSamplers: man4/glBindSamplers.xml
9792      + 
9793      + $(D_INLINECODE glBindSamplers) binds samplers from an array of existing sampler objects to a specified number of consecutive sampler units. $(D_INLINECODE count) specifies the number of sampler objects whose names are stored in the array $(D_INLINECODE samplers). That number of sampler names is read from the array and bound to the $(D_INLINECODE count) consecutive sampler units starting from $(D_INLINECODE first). If the name zero appears in the $(D_INLINECODE samplers) array, any existing binding to the sampler unit is reset. Any non-zero entry in $(D_INLINECODE samplers) must be the name of an existing sampler object. When a non-zero entry in $(D_INLINECODE samplers) is present, that sampler object is bound to the corresponding sampler unit. If $(D_INLINECODE samplers) is $(D_INLINECODE null
9794      + ) then it is as if an appropriately sized array containing only zeros had been specified. $(D_INLINECODE glBindSamplers) is equivalent to the following pseudo code:
9795      + 
9796      + ---
9797      + for (i = 0; i &lt; count; i++) {
9798      +     if (samplers == NULL) {
9799      +         glBindSampler(first + i, 0);
9800      +     } else {
9801      +         glBindSampler(first + i, samplers[i]);
9802      +     }
9803      + }
9804      + ---
9805      +  Each entry in $(D_INLINECODE samplers) will be checked individually and if found to be invalid, the state for that sampler unit will not be changed and an error will be generated. However, the state for other sampler units referenced by the command will still be updated.
9806      + 
9807      + $(D_INLINECODE glBindSamplers) is available only if the GL version is 4.4 or higher.
9808      + 
9809      + Params:
9810      +     first    = Specifies the first sampler unit to which a sampler object is to be bound.
9811      +     count    = Specifies the number of samplers to bind.
9812      +     samplers = Specifies the address of an array of names of existing sampler objects.
9813      + 
9814      + Copyright:
9815      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9816      + 
9817      + See_Also:
9818      +     $(D_INLINECODE glGenSamplers), $(D_INLINECODE glBindSampler), $(D_INLINECODE glDeleteSamplers), $(D_INLINECODE glGet), $(D_INLINECODE glSamplerParameter), $(D_INLINECODE glGetSamplerParameter), $(D_INLINECODE glGenTextures), $(D_INLINECODE glBindTexture), $(D_INLINECODE glDeleteTextures)
9819      +/
9820     @OpenGL_Version(OGLIntroducedIn.V4P4)
9821     @OpenGL_Extension("GL_ARB_multi_bind")
9822     fn_glBindSamplers glBindSamplers;
9823     alias fn_glBindTexture = extern(C) void function(GLenum target, GLuint texture) @system @nogc nothrow;
9824 
9825     /++
9826      + glBindTexture: man4/glBindTexture.xml
9827      + 
9828      + $(D_INLINECODE glBindTexture) lets you create or use a named texture. Calling $(D_INLINECODE glBindTexture) with $(D_INLINECODE target) set to $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE GL_TEXTURE_BUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) and $(D_INLINECODE texture) set to the name of the new texture binds the texture name to the target. When a texture is bound to a target, the previous binding for that target is automatically broken. Texture names are unsigned integers. The value zero is reserved to represent the default texture for each texture target. Texture names and the corresponding texture contents are local to the shared object space of the current GL rendering context; two rendering contexts share texture names only if they explicitly enable sharing between contexts through the appropriate GL windows interfaces functions. You must use $(D_INLINECODE glGenTextures) to generate a set of new texture names. When a texture is first bound, it assumes the specified target: A texture first bound to $(D_INLINECODE GL_TEXTURE_1D) becomes one-dimensional texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_2D) becomes two-dimensional texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_3D) becomes three-dimensional texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_1D_ARRAY) becomes one-dimensional array texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_2D_ARRAY) becomes two-dimensional array texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_RECTANGLE) becomes rectangle texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_CUBE_MAP) becomes a cube-mapped texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) becomes a cube-mapped array texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_BUFFER) becomes a buffer texture, a texture first bound to $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) becomes a two-dimensional multisampled texture, and a texture first bound to $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) becomes a two-dimensional multisampled array texture. The state of a one-dimensional texture immediately after it is first bound is equivalent to the state of the default $(D_INLINECODE GL_TEXTURE_1D) at GL initialization, and similarly for the other texture types. While a texture is bound, GL operations on the target to which it is bound affect the bound texture, and queries of the target to which it is bound return state from the bound texture. In effect, the texture targets become aliases for the textures currently bound to them, and the texture name zero refers to the default textures that were bound to them at initialization. A texture binding created with $(D_INLINECODE glBindTexture) remains active until a different texture is bound to the same target, or until the bound texture is deleted with $(D_INLINECODE glDeleteTextures). Once created, a named texture may be re-bound to its same original target as often as needed. It is usually much faster to use $(D_INLINECODE glBindTexture) to bind an existing named texture to one of the texture targets than it is to reload the texture image using $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D) or another similar function.
9829      + 
9830      + The $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) and $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) targets are available only if the GL version is 3.2 or higher.
9831      + 
9832      + Params:
9833      +     target  = Specifies the target to which the texture is bound. Must be one of $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE GL_TEXTURE_BUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY).
9834      +     texture = Specifies the name of a texture.
9835      + 
9836      + Copyright:
9837      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
9838      + 
9839      + See_Also:
9840      +     $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glIsTexture), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage2DMultisample), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage3DMultisample), $(D_INLINECODE glTexBuffer), $(D_INLINECODE glTexParameter)
9841      +/
9842     @OpenGL_Version(OGLIntroducedIn.V1P1)
9843     fn_glBindTexture glBindTexture;
9844     alias fn_glBindTextures = extern(C) void function(GLuint first, GLsizei count, const GLuint* textures) @system @nogc nothrow;
9845 
9846     /++
9847      + glBindTextures: man4/glBindTextures.xml
9848      + 
9849      + $(D_INLINECODE glBindTextures) binds an array of existing texture objects to a specified number of consecutive texture units. $(D_INLINECODE count) specifies the number of texture objects whose names are stored in the array $(D_INLINECODE textures). That number of texture names are read from the array and bound to the $(D_INLINECODE count) consecutive texture units starting from $(D_INLINECODE first). The target, or type of texture is deduced from the texture object and each texture is bound to the corresponding target of the texture unit. If the name zero appears in the $(D_INLINECODE textures) array, any existing binding to any target of the texture unit is reset and the default texture for that target is bound in its place. Any non-zero entry in $(D_INLINECODE textures) must be the name of an existing texture object. If $(D_INLINECODE textures) is $(D_INLINECODE null
9850      + ) then it is as if an appropriately sized array containing only zeros had been specified. With the exception that the active texture selector maintains its current value, $(D_INLINECODE glBindTextures) is equivalent to the following pseudo code:
9851      + 
9852      + ---
9853      + for (i = 0; i &lt; count; i++) {
9854      +     GLuint texture;
9855      +     if (textures == NULL) {
9856      +         texture = 0;
9857      +     } else {
9858      +         texture = textures[i];
9859      +     }
9860      +     glActiveTexture(GL_TEXTURE0 + first + i);
9861      +     if (texture != 0) {
9862      +         GLenum target = /* target of textures[i] */;
9863      +         glBindTexture(target, textures[i]);
9864      +     } else {
9865      +         for (target in all supported targets) {
9866      +             glBindTexture(target, 0);
9867      +         }
9868      +     }
9869      + }
9870      + ---
9871      +  Each entry in $(D_INLINECODE textures) will be checked individually and if found to be invalid, the state for that texture unit will not be changed and an error will be generated. However, the state for other texture units referenced by the command will still be updated.
9872      + 
9873      + $(D_INLINECODE glBindTextures) is available only if the GL version is 4.4 or higher. Note that because $(D_INLINECODE glBindTextures) cannot create new textures (even if a name passed has been previously generated by call to $(D_INLINECODE glGenTextures) ), names pased to $(D_INLINECODE glBindTextures) must have been bound at least once previously via a call to $(D_INLINECODE glBindTexture).
9874      + 
9875      + Params:
9876      +     first    = Specifies the first texture unit to which a texture is to be bound.
9877      +     count    = Specifies the number of textures to bind.
9878      +     textures = Specifies the address of an array of names of existing texture objects.
9879      + 
9880      + Copyright:
9881      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9882      + 
9883      + See_Also:
9884      +     $(D_INLINECODE glBindTexture), $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glIsTexture), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage2DMultisample), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage3DMultisample), $(D_INLINECODE glTexBuffer), $(D_INLINECODE glTexParameter)
9885      +/
9886     @OpenGL_Version(OGLIntroducedIn.V4P4)
9887     @OpenGL_Extension("GL_ARB_multi_bind")
9888     fn_glBindTextures glBindTextures;
9889     alias fn_glBindTextureUnit = extern(C) void function(GLuint unit, GLuint texture) @system @nogc nothrow;
9890 
9891     /++
9892      + glBindTextureUnit: man4/glBindTextureUnit.xml
9893      + 
9894      + $(D_INLINECODE glBindTextureUnit) binds an existing texture object to the texture unit numbered $(D_INLINECODE unit). $(D_INLINECODE texture) must be zero or the name of an existing texture object. When $(D_INLINECODE texture) is the name of an existing texture object, that object is bound to the target, in the corresponding texture unit, that was specified when the object was created. When $(D_INLINECODE texture) is zero, each of the targets enumerated at the beginning of this section is reset to its default texture for the corresponding texture image unit.
9895      + 
9896      + Params:
9897      +     unit    = Specifies the texture unit, to which the texture object should be bound to.
9898      +     texture = Specifies the name of a texture.
9899      + 
9900      + Copyright:
9901      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9902      + 
9903      + See_Also:
9904      +     $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glIsTexture), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage2DMultisample), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage3DMultisample), $(D_INLINECODE glTexBuffer), $(D_INLINECODE glTexParameter)
9905      +/
9906     @OpenGL_Version(OGLIntroducedIn.V4P5)
9907     @OpenGL_Extension("GL_ARB_direct_state_access")
9908     fn_glBindTextureUnit glBindTextureUnit;
9909     alias fn_glBindTransformFeedback = extern(C) void function(GLenum target, GLuint id) @system @nogc nothrow;
9910 
9911     /++
9912      + glBindTransformFeedback: man4/glBindTransformFeedback.xml
9913      + 
9914      + $(D_INLINECODE glBindTransformFeedback) binds the transform feedback object with name $(D_INLINECODE id) to the current GL state. $(D_INLINECODE id) must be a name previously returned from a call to $(D_INLINECODE glGenTransformFeedbacks). If $(D_INLINECODE id) has not previously been bound, a new transform feedback object with name $(D_INLINECODE id) and initialized with with the default transform state vector is created. In the initial state, a default transform feedback object is bound and treated as a transform feedback object with a name of zero. If the name zero is subsequently bound, the default transform feedback object is again bound to the GL state. While a transform feedback buffer object is bound, GL operations on the target to which it is bound affect the bound transform feedback object, and queries of the target to which a transform feedback object is bound return state from the bound object. When buffer objects are bound for transform feedback, they are attached to the currently bound transform feedback object. Buffer objects are used for trans- form feedback only if they are attached to the currently bound transform feedback object.
9915      + 
9916      + Params:
9917      +     target = Specifies the target to which to bind the transform feedback object $(D_INLINECODE id). $(D_INLINECODE target) must be $(D_INLINECODE GL_TRANSFORM_FEEDBACK).
9918      +     id     = Specifies the name of a transform feedback object reserved by $(D_INLINECODE glGenTransformFeedbacks).
9919      + 
9920      + Copyright:
9921      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9922      + 
9923      + See_Also:
9924      +     $(D_INLINECODE glGenTransformFeedbacks), $(D_INLINECODE glDeleteTransformFeedbacks), $(D_INLINECODE glIsTransformFeedback), $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glPauseTransformFeedback), $(D_INLINECODE glResumeTransformFeedback), $(D_INLINECODE glEndTransformFeedback)
9925      +/
9926     @OpenGL_Version(OGLIntroducedIn.V4P0)
9927     @OpenGL_Extension("GL_ARB_transform_feedback2")
9928     fn_glBindTransformFeedback glBindTransformFeedback;
9929     alias fn_glBindVertexArray = extern(C) void function(GLuint array) @system @nogc nothrow;
9930 
9931     /++
9932      + glBindVertexArray: man4/glBindVertexArray.xml
9933      + 
9934      + $(D_INLINECODE glBindVertexArray) binds the vertex array object with name $(D_INLINECODE array). $(D_INLINECODE array) is the name of a vertex array object previously returned from a call to $(D_INLINECODE glGenVertexArrays), or zero to break the existing vertex array object binding. If no vertex array object with name $(D_INLINECODE array) exists, one is created when $(D_INLINECODE array) is first bound. If the bind is successful no change is made to the state of the vertex array object, and any previous vertex array object binding is broken.
9935      + 
9936      + Params:
9937      +     array = Specifies the name of the vertex array to bind.
9938      + 
9939      + Copyright:
9940      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9941      + 
9942      + See_Also:
9943      +     $(D_INLINECODE glDeleteVertexArrays), $(D_INLINECODE glEnableVertexAttribArray), $(D_INLINECODE glGenVertexArrays), $(D_INLINECODE glIsVertexArray), $(D_INLINECODE glVertexAttribPointer)
9944      +/
9945     @OpenGL_Version(OGLIntroducedIn.V3P0)
9946     @OpenGL_Extension("GL_ARB_vertex_array_object")
9947     fn_glBindVertexArray glBindVertexArray;
9948     alias fn_glBindVertexBuffer = extern(C) void function(GLuint bindingindex, GLuint buffer, GLintptr offset, GLintptr stride) @system @nogc nothrow;
9949 
9950     /++
9951      + glBindVertexBuffer: man4/glBindVertexBuffer.xml
9952      + 
9953      + $(D_INLINECODE glBindVertexBuffer) and $(D_INLINECODE glVertexArrayVertexBuffer) bind the buffer named $(D_INLINECODE buffer) to the vertex buffer binding point whose index is given by $(D_INLINECODE bindingindex). $(D_INLINECODE glBindVertexBuffer) modifies the binding of the currently bound vertex array object, whereas $(D_INLINECODE glVertexArrayVertexBuffer) allows the caller to specify ID of the vertex array object with an argument named $(D_INLINECODE vaobj), for which the binding should be modified. $(D_INLINECODE offset) and $(D_INLINECODE stride) specify the offset of the first element within the buffer and the distance between elements within the buffer, respectively, and are both measured in basic machine units. $(D_INLINECODE bindingindex) must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_ATTRIB_BINDINGS). $(D_INLINECODE offset) and $(D_INLINECODE stride) must be greater than or equal to zero. If $(D_INLINECODE buffer) is zero, then any buffer currently bound to the specified binding point is unbound. If $(D_INLINECODE buffer) is not the name of an existing buffer object, the GL first creates a new state vector, initialized with a zero-sized memory buffer and comprising all the state and with the same initial values as in case of $(D_INLINECODE glBindBuffer). $(D_INLINECODE buffer) is then attached to the specified $(D_INLINECODE bindingindex) of the vertex array object.
9954      + 
9955      + Params:
9956      +     vaobj        = Specifies the name of the vertex array object to be used by $(D_INLINECODE glVertexArrayVertexBuffer) function.
9957      +     bindingindex = The index of the vertex buffer binding point to which to bind the buffer.
9958      +     buffer       = The name of a buffer to bind to the vertex buffer binding point.
9959      +     offset       = The offset of the first element of the buffer.
9960      +     stride       = The distance between elements within the buffer.
9961      + 
9962      + Copyright:
9963      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
9964      + 
9965      + See_Also:
9966      +     $(D_INLINECODE glVertexAttribBinding), $(D_INLINECODE glVertexAttribFormat), $(D_INLINECODE glVertexAttribPointer), $(D_INLINECODE glVertexBindingDivisor).
9967      +/
9968     @OpenGL_Version(OGLIntroducedIn.V4P3)
9969     @OpenGL_Extension("GL_ARB_vertex_attrib_binding")
9970     fn_glBindVertexBuffer glBindVertexBuffer;
9971     alias fn_glVertexArrayVertexBuffer = extern(C) void function(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) @system @nogc nothrow;
9972     /// Ditto
9973     @OpenGL_Version(OGLIntroducedIn.V4P5)
9974     @OpenGL_Extension("GL_ARB_direct_state_access")
9975     fn_glVertexArrayVertexBuffer glVertexArrayVertexBuffer;
9976     alias fn_glBindVertexBuffers = extern(C) void function(GLuint first, GLsizei count, const GLuint* buffers, const GLuintptr* offsets, const GLsizei* strides) @system @nogc nothrow;
9977 
9978     /++
9979      + glBindVertexBuffers: man4/glBindVertexBuffers.xml
9980      + 
9981      + $(D_INLINECODE glBindVertexBuffers) and $(D_INLINECODE glVertexArrayVertexBuffers) bind storage from an array of existing buffer objects to a specified number of consecutive vertex buffer binding points units in a vertex array object. For $(D_INLINECODE glBindVertexBuffers), the vertex array object is the currently bound vertex array object. For $(D_INLINECODE glVertexArrayVertexBuffers), $(D_INLINECODE vaobj) is the name of the vertex array object. $(D_INLINECODE count) existing buffer objects are bound to vertex buffer binding points numbered $first$ through $first + count - 1$. If $(D_INLINECODE buffers) is not null, it
9982      +  specifies an array of
9983      +  $(D_INLINECODE count) values, each of which must be zero or the name of an existing buffer object. $(D_INLINECODE offsets) and $(D_INLINECODE strides) specify arrays of $(D_INLINECODE count) values indicating the offset of the first element and stride between elements in each buffer, respectively. If $(D_INLINECODE buffers) is null, each
9984      +  affected vertex buffer binding point from $first$ through $first
9985      +  + count - 1$ will be reset to have no bound buffer object. In
9986      +  this case, the offsets and strides associated with the binding
9987      +  points are set to default values, ignoring
9988      +  $(D_INLINECODE offsets) and $(D_INLINECODE strides). $(D_INLINECODE glBindVertexBuffers) is equivalent (assuming no errors are generated) to:
9989      + 
9990      + ---
9991      + for (i = 0; i &lt; count; i++) {
9992      +     if (buffers == NULL) {
9993      +         glBindVertexBuffer(first + i, 0, 0, 16);
9994      +     } else {
9995      +         glBindVertexBuffer(first + i, buffers[i], offsets[i], strides[i]);
9996      +     }
9997      + }
9998      + ---
9999      +  except that buffers will not be created if they do not exist. $(D_INLINECODE glVertexArrayVertexBuffers) is equivalent to the pseudocode above, but replacing $(D_INLINECODE glBindVertexBuffers) (args) with $(D_INLINECODE glVertexArrayVertexBuffers) (vaobj, args). The values specified in $(D_INLINECODE buffers), $(D_INLINECODE offsets), and $(D_INLINECODE strides) will be checked separately for each vertex buffer binding point. When a value for a specific vertex buffer binding point is invalid, the state for that binding point will be unchanged and an error will be generated. However, state for other vertex buffer binding points will still be changed if their corresponding values are valid.
10000      + 
10001      + Params:
10002      +     vaobj   = Specifies the name of the vertex array object for $(D_INLINECODE glVertexArrayVertexBuffers).
10003      +     first   = Specifies the first vertex buffer binding point to which a buffer object is to be bound.
10004      +     count   = Specifies the number of buffers to bind.
10005      +     buffers = Specifies the address of an array of names of existing buffer objects.
10006      +     offsets = Specifies the address of an array of offsets to associate with the binding points.
10007      +     buffers = Specifies the address of an array of strides to associate with the binding points.
10008      + 
10009      + Copyright:
10010      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10011      + 
10012      + See_Also:
10013      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glDeleteBuffers) $(D_INLINECODE glDeleteTextures)
10014      +/
10015     @OpenGL_Version(OGLIntroducedIn.V4P4)
10016     @OpenGL_Extension("GL_ARB_multi_bind")
10017     fn_glBindVertexBuffers glBindVertexBuffers;
10018     alias fn_glVertexArrayVertexBuffers = extern(C) void function(GLuint vaobj, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr* offsets, const GLsizei* strides) @system @nogc nothrow;
10019     /// Ditto
10020     @OpenGL_Version(OGLIntroducedIn.V4P5)
10021     @OpenGL_Extension("GL_ARB_direct_state_access")
10022     fn_glVertexArrayVertexBuffers glVertexArrayVertexBuffers;
10023     alias fn_glBlendColor = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) @system @nogc nothrow;
10024 
10025     /++
10026      + glBlendColor: man4/glBlendColor.xml
10027      + 
10028      + The $(D_INLINECODE GL_BLEND_COLOR) may be used to calculate the source and destination blending factors. The color components are clamped to the range 0 1 before being stored. See $(D_INLINECODE glBlendFunc) for a complete description of the blending operations. Initially the $(D_INLINECODE GL_BLEND_COLOR) is set to (0, 0, 0, 0).
10029      + 
10030      + The type of the $(D_INLINECODE red), $(D_INLINECODE green), $(D_INLINECODE blue), and $(D_INLINECODE alpha) parameters was changed from GLclampf to GLfloat. This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
10031      + 
10032      + Params:
10033      +     red = specify the components of $(D_INLINECODE GL_BLEND_COLOR)
10034      + 
10035      + Copyright:
10036      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10037      + 
10038      + See_Also:
10039      +     $(D_INLINECODE glBlendEquation), $(D_INLINECODE glBlendFunc), $(D_INLINECODE glGetString), $(D_INLINECODE removedTypes)
10040      +/
10041     @OpenGL_Version(OGLIntroducedIn.V1P4)
10042     @OpenGL_Extension("GL_ARB_imaging")
10043     fn_glBlendColor glBlendColor;
10044     alias fn_glBlendEquation = extern(C) void function(GLenum mode) @system @nogc nothrow;
10045 
10046     /++
10047      + glBlendEquation: man4/glBlendEquation.xml
10048      + 
10049      + The blend equations determine how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' color).  This function sets both the RGB blend equation and the alpha blend equation to a single equation. $(D_INLINECODE glBlendEquationi) specifies the blend equation for a single draw buffer whereas $(D_INLINECODE glBlendEquation) sets the blend equation for all draw buffers. These equations use the source and destination blend factors specified by either $(D_INLINECODE glBlendFunc) or $(D_INLINECODE glBlendFuncSeparate). See $(D_INLINECODE glBlendFunc) or $(D_INLINECODE glBlendFuncSeparate) for a description of the various blend factors. In the equations that follow, source and destination color components are referred to as R s G s B s A s and R d G d B d A d, respectively. The result color is referred to as R r G r B r A r. The source and destination blend factors are denoted s R s G s B s A and d R d G d B d A, respectively. For these equations all color components are understood to have values in the range 0 1. $(B Mode) $(B RGB Components) $(B Alpha Component) $(D_INLINECODE GL_FUNC_ADD) Rr = R s &it; s R + R d &it; d R Gr = G s &it; s G + G d &it; d G Br = B s &it; s B + B d &it; d B Ar = A s &it; s A + A d &it; d A $(D_INLINECODE GL_FUNC_SUBTRACT) Rr = R s &it; s R - R d &it; d R Gr = G s &it; s G - G d &it; d G Br = B s &it; s B - B d &it; d B Ar = A s &it; s A - A d &it; d A $(D_INLINECODE GL_FUNC_REVERSE_SUBTRACT) Rr = R d &it; d R - R s &it; s R Gr = G d &it; d G - G s &it; s G Br = B d &it; d B - B s &it; s B Ar = A d &it; d A - A s &it; s A $(D_INLINECODE GL_MIN) Rr = min &af; R s R d Gr = min &af; G s G d Br = min &af; B s B d Ar = min &af; A s A d $(D_INLINECODE GL_MAX) Rr = max &af; R s R d Gr = max &af; G s G d Br = max &af; B s B d Ar = max &af; A s A d The results of these equations are clamped to the range 0 1. The $(D_INLINECODE GL_MIN) and $(D_INLINECODE GL_MAX) equations are useful for applications that analyze image data (image thresholding against a constant color, for example). The $(D_INLINECODE GL_FUNC_ADD) equation is useful for antialiasing and transparency, among other things. Initially, both the RGB blend equation and the alpha blend equation are set to $(D_INLINECODE GL_FUNC_ADD).
10050      + 
10051      + The $(D_INLINECODE GL_MIN), and $(D_INLINECODE GL_MAX) equations do not use the source or destination factors, only the source and destination colors.
10052      + 
10053      + Params:
10054      +     buf  = for $(D_INLINECODE glBlendEquationi), specifies the index of the draw buffer for which to set the blend equation.
10055      +     mode = specifies how source and destination colors are combined. It must be $(D_INLINECODE GL_FUNC_ADD), $(D_INLINECODE GL_FUNC_SUBTRACT), $(D_INLINECODE GL_FUNC_REVERSE_SUBTRACT), $(D_INLINECODE GL_MIN), $(D_INLINECODE GL_MAX).
10056      + 
10057      + Copyright:
10058      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10059      + 
10060      + See_Also:
10061      +     $(D_INLINECODE glBlendColor), $(D_INLINECODE glBlendFunc) $(D_INLINECODE glBlendFuncSeparate)
10062      +/
10063     @OpenGL_Version(OGLIntroducedIn.V1P4)
10064     @OpenGL_Extension("GL_ARB_imaging")
10065     fn_glBlendEquation glBlendEquation;
10066     alias fn_glBlendEquationi = extern(C) void function(GLuint buf, GLenum mode) @system @nogc nothrow;
10067     /// Ditto
10068     @OpenGL_Version(OGLIntroducedIn.V4P0)
10069     fn_glBlendEquationi glBlendEquationi;
10070     alias fn_glBlendEquationSeparate = extern(C) void function(GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
10071 
10072     /++
10073      + glBlendEquationSeparate: man4/glBlendEquationSeparate.xml
10074      + 
10075      + The blend equations determines how a new pixel (the ''source'' color) is combined with a pixel already in the framebuffer (the ''destination'' color).  These functions specify one blend equation for the RGB-color components and one blend equation for the alpha component. $(D_INLINECODE glBlendEquationSeparatei) specifies the blend equations for a single draw buffer whereas $(D_INLINECODE glBlendEquationSeparate) sets the blend equations for all draw buffers. The blend equations use the source and destination blend factors specified by either $(D_INLINECODE glBlendFunc) or $(D_INLINECODE glBlendFuncSeparate). See $(D_INLINECODE glBlendFunc) or $(D_INLINECODE glBlendFuncSeparate) for a description of the various blend factors. In the equations that follow, source and destination color components are referred to as R s G s B s A s and R d G d B d A d, respectively. The result color is referred to as R r G r B r A r. The source and destination blend factors are denoted s R s G s B s A and d R d G d B d A, respectively. For these equations all color components are understood to have values in the range 0 1. $(B Mode) $(B RGB Components) $(B Alpha Component) $(D_INLINECODE GL_FUNC_ADD) Rr = R s &it; s R + R d &it; d R Gr = G s &it; s G + G d &it; d G Br = B s &it; s B + B d &it; d B Ar = A s &it; s A + A d &it; d A $(D_INLINECODE GL_FUNC_SUBTRACT) Rr = R s &it; s R - R d &it; d R Gr = G s &it; s G - G d &it; d G Br = B s &it; s B - B d &it; d B Ar = A s &it; s A - A d &it; d A $(D_INLINECODE GL_FUNC_REVERSE_SUBTRACT) Rr = R d &it; d R - R s &it; s R Gr = G d &it; d G - G s &it; s G Br = B d &it; d B - B s &it; s B Ar = A d &it; d A - A s &it; s A $(D_INLINECODE GL_MIN) Rr = min &af; R s R d Gr = min &af; G s G d Br = min &af; B s B d Ar = min &af; A s A d $(D_INLINECODE GL_MAX) Rr = max &af; R s R d Gr = max &af; G s G d Br = max &af; B s B d Ar = max &af; A s A d The results of these equations are clamped to the range 0 1. The $(D_INLINECODE GL_MIN) and $(D_INLINECODE GL_MAX) equations are useful for applications that analyze image data (image thresholding against a constant color, for example). The $(D_INLINECODE GL_FUNC_ADD) equation is useful for antialiasing and transparency, among other things. Initially, both the RGB blend equation and the alpha blend equation are set to $(D_INLINECODE GL_FUNC_ADD).
10076      + 
10077      + The $(D_INLINECODE GL_MIN), and $(D_INLINECODE GL_MAX) equations do not use the source or destination factors, only the source and destination colors.
10078      + 
10079      + Params:
10080      +     buf       = for $(D_INLINECODE glBlendEquationSeparatei), specifies the index of the draw buffer for which to set the blend equations.
10081      +     modeRGB   = specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be $(D_INLINECODE GL_FUNC_ADD), $(D_INLINECODE GL_FUNC_SUBTRACT), $(D_INLINECODE GL_FUNC_REVERSE_SUBTRACT), $(D_INLINECODE GL_MIN), $(D_INLINECODE GL_MAX).
10082      +     modeAlpha = specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be $(D_INLINECODE GL_FUNC_ADD), $(D_INLINECODE GL_FUNC_SUBTRACT), $(D_INLINECODE GL_FUNC_REVERSE_SUBTRACT), $(D_INLINECODE GL_MIN), $(D_INLINECODE GL_MAX).
10083      + 
10084      + Copyright:
10085      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10086      + 
10087      + See_Also:
10088      +     $(D_INLINECODE glGetString), $(D_INLINECODE glBlendColor), $(D_INLINECODE glBlendFunc), $(D_INLINECODE glBlendFuncSeparate)
10089      +/
10090     @OpenGL_Version(OGLIntroducedIn.V2P0)
10091     fn_glBlendEquationSeparate glBlendEquationSeparate;
10092     alias fn_glBlendEquationSeparatei = extern(C) void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
10093     /// Ditto
10094     @OpenGL_Version(OGLIntroducedIn.V4P0)
10095     fn_glBlendEquationSeparatei glBlendEquationSeparatei;
10096     alias fn_glBlendFunc = extern(C) void function(GLenum sfactor, GLenum dfactor) @system @nogc nothrow;
10097 
10098     /++
10099      + glBlendFunc: man4/glBlendFunc.xml
10100      + 
10101      + Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_BLEND) to enable and disable blending. $(D_INLINECODE glBlendFunc) defines the operation of blending for all draw buffers when it is enabled. $(D_INLINECODE glBlendFunci) defines the operation of blending for a single draw buffer specified by $(D_INLINECODE buf) when enabled for that draw buffer. $(D_INLINECODE sfactor) specifies which method is used to scale the source color components. $(D_INLINECODE dfactor) specifies which method is used to scale the destination color components. Both parameters must be one of the following symbolic constants: $(D_INLINECODE GL_ZERO), $(D_INLINECODE GL_ONE), $(D_INLINECODE GL_SRC_COLOR), $(D_INLINECODE GL_ONE_MINUS_SRC_COLOR), $(D_INLINECODE GL_DST_COLOR), $(D_INLINECODE GL_ONE_MINUS_DST_COLOR), $(D_INLINECODE GL_SRC_ALPHA), $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA), $(D_INLINECODE GL_DST_ALPHA), $(D_INLINECODE GL_ONE_MINUS_DST_ALPHA), $(D_INLINECODE GL_CONSTANT_COLOR), $(D_INLINECODE GL_ONE_MINUS_CONSTANT_COLOR), $(D_INLINECODE GL_CONSTANT_ALPHA), $(D_INLINECODE GL_ONE_MINUS_CONSTANT_ALPHA), $(D_INLINECODE GL_SRC_ALPHA_SATURATE), $(D_INLINECODE GL_SRC1_COLOR), $(D_INLINECODE GL_ONE_MINUS_SRC1_COLOR), $(D_INLINECODE GL_SRC1_ALPHA), and $(D_INLINECODE GL_ONE_MINUS_SRC1_ALPHA). The possible methods are described in the following table. Each method defines four scale factors, one each for red, green, blue, and alpha. In the table and in subsequent equations, first source, second source and destination color components are referred to as R s0 G s0 B s0 A s0, R s1 G s1 B s1 A s1 and R d G d B d A d, respectively. The color specified by $(D_INLINECODE glBlendColor) is referred to as R c G c B c A c. They are understood to have integer values between 0 and k R k G k B k A, where k c = 2 m c - 1 and m R m G m B m A is the number of red, green, blue, and alpha bitplanes. Source and destination scale factors are referred to as s R s G s B s A and d R d G d B d A. The scale factors described in the table, denoted f R f G f B f A, represent either source or destination factors. All scale factors have range 0 1. $(B Parameter) f R f G f B f A $(D_INLINECODE GL_ZERO) 0 0 0 0 $(D_INLINECODE GL_ONE) 1 1 1 1 $(D_INLINECODE GL_SRC_COLOR) R s0 k R G s0 k G B s0 k B A s0 k A $(D_INLINECODE GL_ONE_MINUS_SRC_COLOR) 1 1 1 1 - R s0 k R G s0 k G B s0 k B A s0 k A $(D_INLINECODE GL_DST_COLOR) R d k R G d k G B d k B A d k A $(D_INLINECODE GL_ONE_MINUS_DST_COLOR) 1 1 1 1 - R d k R G d k G B d k B A d k A $(D_INLINECODE GL_SRC_ALPHA) A s0 k A A s0 k A A s0 k A A s0 k A $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA) 1 1 1 1 - A s0 k A A s0 k A A s0 k A A s0 k A $(D_INLINECODE GL_DST_ALPHA) A d k A A d k A A d k A A d k A $(D_INLINECODE GL_ONE_MINUS_DST_ALPHA) 1 1 1 1 - A d k A A d k A A d k A A d k A $(D_INLINECODE GL_CONSTANT_COLOR) R c G c B c A c $(D_INLINECODE GL_ONE_MINUS_CONSTANT_COLOR) 1 1 1 1 - R c G c B c A c $(D_INLINECODE GL_CONSTANT_ALPHA) A c A c A c A c $(D_INLINECODE GL_ONE_MINUS_CONSTANT_ALPHA) 1 1 1 1 - A c A c A c A c $(D_INLINECODE GL_SRC_ALPHA_SATURATE) i i i 1 $(D_INLINECODE GL_SRC1_COLOR) R s1 k R G s1 k G B s1 k B A s1 k A $(D_INLINECODE GL_ONE_MINUS_SRC1_COLOR) 1 1 1 1 - R s1 k R G s1 k G B s1 k B A s1 k A $(D_INLINECODE GL_SRC1_ALPHA) A s1 k A A s1 k A A s1 k A A s1 k A $(D_INLINECODE GL_ONE_MINUS_SRC1_ALPHA) 1 1 1 1 - A s1 k A A s1 k A A s1 k A A s1 k A In the table, i = min &af; A s k A - A d k A To determine the blended RGBA values of a pixel, the system uses the following equations: R d = min &af; k R R s &it; s R + R d &it; d R G d = min &af; k G G s &it; s G + G d &it; d G B d = min &af; k B B s &it; s B + B d &it; d B A d = min &af; k A A s &it; s A + A d &it; d A Despite the apparent precision of the above equations, blending arithmetic is not exactly specified, because blending operates with imprecise integer color values. However, a blend factor that should be equal to 1 is guaranteed not to modify its multiplicand, and a blend factor equal to 0 reduces its multiplicand to 0. For example, when $(D_INLINECODE sfactor) is $(D_INLINECODE GL_SRC_ALPHA), $(D_INLINECODE dfactor) is $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA), and A s is equal to k A, the equations reduce to simple replacement: R d = R s G d = G s B d = B s A d = A s
10102      + 
10103      + Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 ( K A ), representing complete opacity, to 0.0 (0), representing complete transparency. When more than one color buffer is enabled for drawing, the GL performs blending separately for each enabled buffer, using the contents of that buffer for destination color. (See $(D_INLINECODE glDrawBuffer).) When dual source blending is enabled (i.e., one of the blend factors requiring the second color input is used), the maximum number of enabled draw buffers is given by $(D_INLINECODE GL_MAX_DUAL_SOURCE_DRAW_BUFFERS), which may be lower than $(D_INLINECODE GL_MAX_DRAW_BUFFERS).
10104      + 
10105      + Params:
10106      +     buf     = For $(D_INLINECODE glBlendFunci), specifies the index of the draw buffer for which to set the blend function.
10107      +     sfactor = Specifies how the red, green, blue, and alpha source blending factors are computed. The initial value is $(D_INLINECODE GL_ONE).
10108      +     dfactor = Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: $(D_INLINECODE GL_ZERO), $(D_INLINECODE GL_ONE), $(D_INLINECODE GL_SRC_COLOR), $(D_INLINECODE GL_ONE_MINUS_SRC_COLOR), $(D_INLINECODE GL_DST_COLOR), $(D_INLINECODE GL_ONE_MINUS_DST_COLOR), $(D_INLINECODE GL_SRC_ALPHA), $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA), $(D_INLINECODE GL_DST_ALPHA), $(D_INLINECODE GL_ONE_MINUS_DST_ALPHA). $(D_INLINECODE GL_CONSTANT_COLOR), $(D_INLINECODE GL_ONE_MINUS_CONSTANT_COLOR), $(D_INLINECODE GL_CONSTANT_ALPHA), and $(D_INLINECODE GL_ONE_MINUS_CONSTANT_ALPHA). The initial value is $(D_INLINECODE GL_ZERO).
10109      + 
10110      + Copyright:
10111      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10112      + 
10113      + See_Also:
10114      +     $(D_INLINECODE glBlendColor), $(D_INLINECODE glBlendEquation), $(D_INLINECODE glBlendFuncSeparate), $(D_INLINECODE glClear), $(D_INLINECODE glDrawBuffer), $(D_INLINECODE glEnable), $(D_INLINECODE glLogicOp), $(D_INLINECODE glStencilFunc)
10115      +/
10116     @OpenGL_Version(OGLIntroducedIn.V1P0)
10117     fn_glBlendFunc glBlendFunc;
10118     alias fn_glBlendFunci = extern(C) void function(GLuint buf, GLenum sfactor, GLenum dfactor) @system @nogc nothrow;
10119     /// Ditto
10120     @OpenGL_Version(OGLIntroducedIn.V4P0)
10121     fn_glBlendFunci glBlendFunci;
10122     alias fn_glBlendFuncSeparate = extern(C) void function(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
10123 
10124     /++
10125      + glBlendFuncSeparate: man4/glBlendFuncSeparate.xml
10126      + 
10127      + Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_BLEND) to enable and disable blending. $(D_INLINECODE glBlendFuncSeparate) defines the operation of blending for all draw buffers when it is enabled. $(D_INLINECODE glBlendFuncSeparatei) defines the operation of blending for a single draw buffer specified by $(D_INLINECODE buf) when enabled for that draw buffer. $(D_INLINECODE srcRGB) specifies which method is used to scale the source RGB-color components. $(D_INLINECODE dstRGB) specifies which method is used to scale the destination RGB-color components. Likewise, $(D_INLINECODE srcAlpha) specifies which method is used to scale the source alpha color component, and $(D_INLINECODE dstAlpha) specifies which method is used to scale the destination alpha component. The possible methods are described in the following table. Each method defines four scale factors, one each for red, green, blue, and alpha. In the table and in subsequent equations, first source, second source and destination color components are referred to as R s0 G s0 B s0 A s0, R s1 G s1 B s1 A s1, and R d G d B d A d, respectively. The color specified by $(D_INLINECODE glBlendColor) is referred to as R c G c B c A c. They are understood to have integer values between 0 and k R k G k B k A, where k c = 2 m c - 1 and m R m G m B m A is the number of red, green, blue, and alpha bitplanes. Source and destination scale factors are referred to as s R s G s B s A and d R d G d B d A. All scale factors have range 0 1. $(B Parameter) $(B RGB Factor) $(B Alpha Factor) $(D_INLINECODE GL_ZERO) 0 0 0 0 $(D_INLINECODE GL_ONE) 1 1 1 1 $(D_INLINECODE GL_SRC_COLOR) R s0 k R G s0 k G B s0 k B A s0 k A $(D_INLINECODE GL_ONE_MINUS_SRC_COLOR) 1 1 1 1 - R s0 k R G s0 k G B s0 k B 1 - A s0 k A $(D_INLINECODE GL_DST_COLOR) R d k R G d k G B d k B A d k A $(D_INLINECODE GL_ONE_MINUS_DST_COLOR) 1 1 1 - R d k R G d k G B d k B 1 - A d k A $(D_INLINECODE GL_SRC_ALPHA) A s0 k A A s0 k A A s0 k A A s0 k A $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA) 1 1 1 - A s0 k A A s0 k A A s0 k A 1 - A s0 k A $(D_INLINECODE GL_DST_ALPHA) A d k A A d k A A d k A A d k A $(D_INLINECODE GL_ONE_MINUS_DST_ALPHA) 1 1 1 - A d k A A d k A A d k A 1 - A d k A $(D_INLINECODE GL_CONSTANT_COLOR) R c G c B c A c $(D_INLINECODE GL_ONE_MINUS_CONSTANT_COLOR) 1 1 1 - R c G c B c 1 - A c $(D_INLINECODE GL_CONSTANT_ALPHA) A c A c A c A c $(D_INLINECODE GL_ONE_MINUS_CONSTANT_ALPHA) 1 1 1 - A c A c A c 1 - A c $(D_INLINECODE GL_SRC_ALPHA_SATURATE) i i i 1 $(D_INLINECODE GL_SRC1_COLOR) R s1 k R G s1 k G B s1 k B A s1 k A $(D_INLINECODE GL_ONE_MINUS_SRC_COLOR) 1 1 1 1 - R s1 k R G s1 k G B s1 k B 1 - A s1 k A $(D_INLINECODE GL_SRC1_ALPHA) A s1 k A A s1 k A A s1 k A A s1 k A $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA) 1 1 1 - A s1 k A A s1 k A A s1 k A 1 - A s1 k A In the table, i = min &af; A s 1 - A d To determine the blended RGBA values of a pixel, the system uses the following equations: R d = min &af; k R R s &it; s R + R d &it; d R G d = min &af; k G G s &it; s G + G d &it; d G B d = min &af; k B B s &it; s B + B d &it; d B A d = min &af; k A A s &it; s A + A d &it; d A Despite the apparent precision of the above equations, blending arithmetic is not exactly specified, because blending operates with imprecise integer color values.  However, a blend factor that should be equal to 1 is guaranteed not to modify its multiplicand, and a blend factor equal to 0 reduces its multiplicand to 0.  For example, when $(D_INLINECODE srcRGB) is $(D_INLINECODE GL_SRC_ALPHA), $(D_INLINECODE dstRGB) is $(D_INLINECODE GL_ONE_MINUS_SRC_ALPHA), and A s is equal to k A, the equations reduce to simple replacement: R d = R s G d = G s B d = B s A d = A s
10128      + 
10129      + Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 ( K A ), representing complete opacity, to 0.0 (0), representing complete transparency. When more than one color buffer is enabled for drawing, the GL performs blending separately for each enabled buffer, using the contents of that buffer for destination color. (See $(D_INLINECODE glDrawBuffer).) When dual source blending is enabled (i.e., one of the blend factors requiring the second color input is used), the maximum number of enabled draw buffers is given by $(D_INLINECODE GL_MAX_DUAL_SOURCE_DRAW_BUFFERS), which may be lower than $(D_INLINECODE GL_MAX_DRAW_BUFFERS).
10130      + 
10131      + Params:
10132      +     buf      = For $(D_INLINECODE glBlendFuncSeparatei), specifies the index of the draw buffer for which to set the blend functions.
10133      +     srcRGB   = Specifies how the red, green, and blue blending factors are computed. The initial value is $(D_INLINECODE GL_ONE).
10134      +     dstRGB   = Specifies how the red, green, and blue destination blending factors are computed. The initial value is $(D_INLINECODE GL_ZERO).
10135      +     srcAlpha = Specified how the alpha source blending factor is computed. The initial value is $(D_INLINECODE GL_ONE).
10136      +     dstAlpha = Specified how the alpha destination blending factor is computed. The initial value is $(D_INLINECODE GL_ZERO).
10137      + 
10138      + Copyright:
10139      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10140      + 
10141      + See_Also:
10142      +     $(D_INLINECODE glBlendColor), $(D_INLINECODE glBlendFunc), $(D_INLINECODE glBlendEquation), $(D_INLINECODE glClear), $(D_INLINECODE glDrawBuffer), $(D_INLINECODE glEnable), $(D_INLINECODE glLogicOp), $(D_INLINECODE glStencilFunc)
10143      +/
10144     @OpenGL_Version(OGLIntroducedIn.V1P4)
10145     fn_glBlendFuncSeparate glBlendFuncSeparate;
10146     alias fn_glBlendFuncSeparatei = extern(C) void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
10147     /// Ditto
10148     @OpenGL_Version(OGLIntroducedIn.V4P0)
10149     fn_glBlendFuncSeparatei glBlendFuncSeparatei;
10150     alias fn_glBlitFramebuffer = extern(C) void function(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) @system @nogc nothrow;
10151 
10152     /++
10153      + glBlitFramebuffer: man4/glBlitFramebuffer.xml
10154      + 
10155      + $(D_INLINECODE glBlitFramebuffer) and $(D_INLINECODE glBlitNamedFramebuffer) transfer a rectangle of pixel values from one region of a read framebuffer to another region of a draw framebuffer. For $(D_INLINECODE glBlitFramebuffer), the read and draw framebuffers are those bound to the $(D_INLINECODE GL_READ_FRAMEBUFFER) and $(D_INLINECODE GL_DRAW_FRAMEBUFFER) targets respectively. For $(D_INLINECODE glBlitNamedFramebuffer), $(D_INLINECODE readFramebuffer) and $(D_INLINECODE drawFramebuffer) are the names of the read read and draw framebuffer objects respectively. If $(D_INLINECODE readFramebuffer) or $(D_INLINECODE drawFramebuffer) is zero, then the default read or draw framebuffer respectively is used. $(D_INLINECODE mask) is the bitwise OR of a number of values indicating which buffers are to be copied. The values are $(D_INLINECODE GL_COLOR_BUFFER_BIT), $(D_INLINECODE GL_DEPTH_BUFFER_BIT), and $(D_INLINECODE GL_STENCIL_BUFFER_BIT). The pixels corresponding to these buffers are copied from the source rectangle bounded by the locations ( $(D_INLINECODE srcX0), $(D_INLINECODE srcY0) ) and ( $(D_INLINECODE srcX1), $(D_INLINECODE srcY1) ) to the destination rectangle bounded by the locations ( $(D_INLINECODE dstX0), $(D_INLINECODE dstY0) ) and ( $(D_INLINECODE dstX1), $(D_INLINECODE dstY1) ). The lower bounds of the rectangle are inclusive, while the upper bounds are exclusive. The actual region taken from the read framebuffer is limited to the intersection of the source buffers being transferred, which may include the color buffer selected by the read buffer, the depth buffer, and/or the stencil buffer depending on mask. The actual region written to the draw framebuffer is limited to the intersection of the destination buffers being written, which may include multiple draw buffers, the depth buffer, and/or the stencil buffer depending on mask. Whether or not the source or destination regions are altered due to these limits, the scaling and offset applied to pixels being transferred is performed as though no such limits were present. If the sizes of the source and destination rectangles are not equal, $(D_INLINECODE filter) specifies the interpolation method that will be applied to resize the source image , and must be $(D_INLINECODE GL_NEAREST) or $(D_INLINECODE GL_LINEAR). $(D_INLINECODE GL_LINEAR) is only a valid interpolation method for the color buffer. If $(D_INLINECODE filter) is not $(D_INLINECODE GL_NEAREST) and $(D_INLINECODE mask) includes $(D_INLINECODE GL_DEPTH_BUFFER_BIT) or $(D_INLINECODE GL_STENCIL_BUFFER_BIT), no data is transferred and a $(D_INLINECODE GL_INVALID_OPERATION) error is generated. If $(D_INLINECODE filter) is $(D_INLINECODE GL_LINEAR) and the source rectangle would require sampling outside the bounds of the source framebuffer, values are read as if the $(D_INLINECODE GL_CLAMP_TO_EDGE) texture wrapping mode were applied. When the color buffer is transferred, values are taken from the read buffer of the specified read framebuffer and written to each of the draw buffers of the specified draw framebuffer. If the source and destination rectangles overlap or are the same, and the read and draw buffers are the same, the result of the operation is undefined.
10156      + 
10157      + Params:
10158      +     readFramebuffer = Specifies the name of the source framebuffer object for $(D_INLINECODE glBlitNamedFramebuffer).
10159      +     drawFramebuffer = Specifies the name of the destination framebuffer object for $(D_INLINECODE glBlitNamedFramebuffer).
10160      +     srcX0           = Specify the bounds of the source rectangle within the read buffer of the read framebuffer.
10161      +     dstX0           = Specify the bounds of the destination rectangle within the write buffer of the write framebuffer.
10162      +     mask            = The bitwise OR of the flags indicating which buffers are to be copied. The allowed flags are $(D_INLINECODE GL_COLOR_BUFFER_BIT), $(D_INLINECODE GL_DEPTH_BUFFER_BIT) and $(D_INLINECODE GL_STENCIL_BUFFER_BIT).
10163      +     filter          = Specifies the interpolation to be applied if the image is stretched. Must be $(D_INLINECODE GL_NEAREST) or $(D_INLINECODE GL_LINEAR).
10164      + 
10165      + Copyright:
10166      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10167      + 
10168      + See_Also:
10169      +     $(D_INLINECODE glReadPixels) $(D_INLINECODE glCheckFramebufferStatus), $(D_INLINECODE glGenFramebuffers) $(D_INLINECODE glBindFramebuffer) $(D_INLINECODE glDeleteFramebuffers)
10170      +/
10171     @OpenGL_Version(OGLIntroducedIn.V3P0)
10172     @OpenGL_Extension("GL_ARB_framebuffer_object")
10173     fn_glBlitFramebuffer glBlitFramebuffer;
10174     alias fn_glBlitNamedFramebuffer = extern(C) void function(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) @system @nogc nothrow;
10175     /// Ditto
10176     @OpenGL_Version(OGLIntroducedIn.V4P5)
10177     @OpenGL_Extension("GL_ARB_direct_state_access")
10178     fn_glBlitNamedFramebuffer glBlitNamedFramebuffer;
10179     alias fn_glBufferData = extern(C) void function(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) @system @nogc nothrow;
10180 
10181     /++
10182      + glBufferData: man4/glBufferData.xml
10183      + 
10184      + $(D_INLINECODE glBufferData) and $(D_INLINECODE glNamedBufferData) create a new data store for a buffer object. In case of $(D_INLINECODE glBufferData), the buffer object currently bound to $(D_INLINECODE target) is used. For $(D_INLINECODE glNamedBufferData), a buffer object associated with ID specified by the caller in $(D_INLINECODE buffer) will be used instead. While creating the new storage, any pre-existing data store is deleted. The new data store is created with the specified $(D_INLINECODE size) in bytes and $(D_INLINECODE usage). If $(D_INLINECODE data) is not $(D_INLINECODE null
10185      + ), the data store is initialized with data from this pointer. In its initial state, the new data store is not mapped, it has a $(D_INLINECODE null
10186      + ) mapped pointer, and its mapped access is $(D_INLINECODE GL_READ_WRITE). $(D_INLINECODE usage) is a hint to the GL implementation as to how a buffer object's data store will be accessed. This enables the GL implementation to make more intelligent decisions that may significantly impact buffer object performance. It does not, however, constrain the actual usage of the data store. $(D_INLINECODE usage) can be broken down into two parts: first, the frequency of access (modification and usage), and second, the nature of that access. The frequency of access may be one of these: The nature of access may be one of these:
10187      + 
10188      + If $(D_INLINECODE data) is $(D_INLINECODE null
10189      + ), a data store of the specified size is still created, but its contents remain uninitialized and thus undefined. Clients must align data elements consistently with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to a datum comprising N bytes be a multiple of N. The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
10190      + 
10191      + Params:
10192      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glBufferData), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
10193      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glNamedBufferData) function.
10194      +     size   = Specifies the size in bytes of the buffer object's new data store.
10195      +     data   = Specifies a pointer to data that will be copied into the data store for initialization, or $(D_INLINECODE null) if no data is to be copied.
10196      +     usage  = Specifies the expected usage pattern of the data store. The symbolic constant must be $(D_INLINECODE GL_STREAM_DRAW), $(D_INLINECODE GL_STREAM_READ), $(D_INLINECODE GL_STREAM_COPY), $(D_INLINECODE GL_STATIC_DRAW), $(D_INLINECODE GL_STATIC_READ), $(D_INLINECODE GL_STATIC_COPY), $(D_INLINECODE GL_DYNAMIC_DRAW), $(D_INLINECODE GL_DYNAMIC_READ), or $(D_INLINECODE GL_DYNAMIC_COPY).
10197      + 
10198      + Copyright:
10199      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10200      + 
10201      + See_Also:
10202      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferSubData), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
10203      +/
10204     @OpenGL_Version(OGLIntroducedIn.V1P5)
10205     fn_glBufferData glBufferData;
10206     alias fn_glNamedBufferData = extern(C) void function(GLuint buffer, GLsizei size, const void* data, GLenum usage) @system @nogc nothrow;
10207     /// Ditto
10208     @OpenGL_Version(OGLIntroducedIn.V4P5)
10209     @OpenGL_Extension("GL_ARB_direct_state_access")
10210     fn_glNamedBufferData glNamedBufferData;
10211     alias fn_glBufferStorage = extern(C) void function(GLenum target, GLsizeiptr size, const GLvoid* data, GLbitfield flags) @system @nogc nothrow;
10212 
10213     /++
10214      + glBufferStorage: man4/glBufferStorage.xml
10215      + 
10216      + $(D_INLINECODE glBufferStorage) and $(D_INLINECODE glNamedBufferStorage) create a new immutable data store. For $(D_INLINECODE glBufferStorage), the buffer object currently bound to $(D_INLINECODE target) will be initialized. For $(D_INLINECODE glNamedBufferStorage), $(D_INLINECODE buffer) is the name of the buffer object that will be configured. The size of the data store is specified by $(D_INLINECODE size). If an initial data is available, its address may be supplied in $(D_INLINECODE data). Otherwise, to create an uninitialized data store, $(D_INLINECODE data) should be $(D_INLINECODE null
10217      + ). The $(D_INLINECODE flags) parameters specifies the intended usage of the buffer's data store. It must be a bitwise combination of a subset of the following flags: The allowed combinations of flags are subject to certain restrictions. They are as follows: $(OL $(LI If $(D_INLINECODE flags) contains $(D_INLINECODE GL_MAP_PERSISTENT_BIT), it must also contain at least one of $(D_INLINECODE GL_MAP_READ_BIT) or $(D_INLINECODE GL_MAP_WRITE_BIT).) $(LI If $(D_INLINECODE flags) contains $(D_INLINECODE GL_MAP_COHERENT_BIT), it must also contain $(D_INLINECODE GL_MAP_PERSISTENT_BIT).))
10218      + 
10219      + $(D_INLINECODE glBufferStorage) is available only if the GL version is 4.4 or greater. $(D_INLINECODE glNamedBufferStorage) is available only if the GL version is 4.5 or greater. If $(D_INLINECODE data) is $(D_INLINECODE null
10220      + ), a data store of the specified size is still created, but its contents remain uninitialized and thus undefined.
10221      + 
10222      + Params:
10223      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glBufferStorage), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
10224      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glNamedBufferStorage) function.
10225      +     size   = Specifies the size in bytes of the buffer object's new data store.
10226      +     data   = Specifies a pointer to data that will be copied into the data store for initialization, or $(D_INLINECODE null) if no data is to be copied.
10227      +     flags  = Specifies the intended usage of the buffer's data store. Must be a bitwise combination of the following flags. $(D_INLINECODE GL_DYNAMIC_STORAGE_BIT), $(D_INLINECODE GL_MAP_READ_BIT) $(D_INLINECODE GL_MAP_WRITE_BIT), $(D_INLINECODE GL_MAP_PERSISTENT_BIT), $(D_INLINECODE GL_MAP_COHERENT_BIT), and $(D_INLINECODE GL_CLIENT_STORAGE_BIT).
10228      + 
10229      + Copyright:
10230      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10231      + 
10232      + See_Also:
10233      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferSubData), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
10234      +/
10235     @OpenGL_Version(OGLIntroducedIn.V4P4)
10236     @OpenGL_Extension("GL_ARB_buffer_storage")
10237     fn_glBufferStorage glBufferStorage;
10238     alias fn_glNamedBufferStorage = extern(C) void function(GLuint buffer, GLsizei size, const void* data, GLbitfield flags) @system @nogc nothrow;
10239     /// Ditto
10240     @OpenGL_Version(OGLIntroducedIn.V4P5)
10241     @OpenGL_Extension("GL_ARB_direct_state_access")
10242     fn_glNamedBufferStorage glNamedBufferStorage;
10243     alias fn_glBufferSubData = extern(C) void function(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) @system @nogc nothrow;
10244 
10245     /++
10246      + glBufferSubData: man4/glBufferSubData.xml
10247      + 
10248      + $(D_INLINECODE glBufferSubData) and $(D_INLINECODE glNamedBufferSubData) redefine some or all of the data store for the specified buffer object. Data starting at byte offset $(D_INLINECODE offset) and extending for $(D_INLINECODE size) bytes is copied to the data store from the memory pointed to by $(D_INLINECODE data). $(D_INLINECODE offset) and $(D_INLINECODE size) must define a range lying entirely within the buffer object's data store.
10249      + 
10250      + When replacing the entire data store, consider using $(D_INLINECODE glBufferSubData) rather than completely recreating the data store with $(D_INLINECODE glBufferData). This avoids the cost of reallocating the data store. Consider using multiple buffer objects to avoid stalling the rendering pipeline during data store updates. If any rendering in the pipeline makes reference to data in the buffer object being updated by $(D_INLINECODE glBufferSubData), especially from the specific region being updated, that rendering must drain from the pipeline before the data store can be updated. Clients must align data elements consistent with the requirements of the client platform, with an additional base-level requirement that an offset within a buffer to a datum comprising $N$ bytes be a multiple of $N$. The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
10251      + 
10252      + Params:
10253      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glBufferSubData), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
10254      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glNamedBufferSubData).
10255      +     offset = Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
10256      +     size   = Specifies the size in bytes of the data store region being replaced.
10257      +     data   = Specifies a pointer to the new data that will be copied into the data store.
10258      + 
10259      + Copyright:
10260      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10261      + 
10262      + See_Also:
10263      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferData), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glMapBufferRange), $(D_INLINECODE glUnmapBuffer)
10264      +/
10265     @OpenGL_Version(OGLIntroducedIn.V1P5)
10266     fn_glBufferSubData glBufferSubData;
10267     alias fn_glNamedBufferSubData = extern(C) void function(GLuint buffer, GLintptr offset, GLsizei size, const void* data) @system @nogc nothrow;
10268     /// Ditto
10269     @OpenGL_Version(OGLIntroducedIn.V4P5)
10270     @OpenGL_Extension("GL_ARB_direct_state_access")
10271     fn_glNamedBufferSubData glNamedBufferSubData;
10272     alias fn_glCheckFramebufferStatus = extern(C) GLenum function(GLenum target) @system @nogc nothrow;
10273 
10274     /++
10275      + glCheckFramebufferStatus: man4/glCheckFramebufferStatus.xml
10276      + 
10277      + $(D_INLINECODE glCheckFramebufferStatus) and $(D_INLINECODE glCheckNamedFramebufferStatus) return the completeness status of a framebuffer object when treated as a read or draw framebuffer, depending on the value of $(D_INLINECODE target). For $(D_INLINECODE glCheckFramebufferStatus), the framebuffer checked is that bound to $(D_INLINECODE target), which must be $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). For $(D_INLINECODE glCheckNamedFramebufferStatus), $(D_INLINECODE framebuffer) is zero or the name of the framebuffer object to check. If $(D_INLINECODE framebuffer) is zero, then the status of the default read or draw framebuffer, as determined by $(D_INLINECODE target), is returned. The return value is $(D_INLINECODE GL_FRAMEBUFFER_COMPLETE) if the specified framebuffer is complete. Otherwise, the return value is determined as follows: $(OL $(LI $(D_INLINECODE GL_FRAMEBUFFER_UNDEFINED) is returned if the specified framebuffer is the default read or draw framebuffer, but the default framebuffer does not exist.) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) is returned if any of the framebuffer attachment points are framebuffer incomplete.) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT) is returned if the framebuffer does not have at least one image attached to it.) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER) is returned if the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is $(D_INLINECODE GL_NONE) for any color attachment point(s) named by $(D_INLINECODE GL_DRAW_BUFFERi).) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER) is returned if $(D_INLINECODE GL_READ_BUFFER) is not $(D_INLINECODE GL_NONE) and the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is $(D_INLINECODE GL_NONE) for the color attachment point named by $(D_INLINECODE GL_READ_BUFFER).) $(LI $(D_INLINECODE GL_FRAMEBUFFER_UNSUPPORTED) is returned if the combination of internal formats of the attached images violates an implementation-dependent set of restrictions.) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) is returned if the value of $(D_INLINECODE GL_RENDERBUFFER_SAMPLES) is not the same for all attached renderbuffers; if the value of $(D_INLINECODE GL_TEXTURE_SAMPLES) is the not same for all attached textures; or, if the attached images are a mix of renderbuffers and textures, the value of $(D_INLINECODE GL_RENDERBUFFER_SAMPLES) does not match the value of $(D_INLINECODE GL_TEXTURE_SAMPLES).) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) is also returned if the value of $(D_INLINECODE GL_TEXTURE_FIXED_SAMPLE_LOCATIONS) is not the same for all attached textures; or, if the attached images are a mix of renderbuffers and textures, the value of $(D_INLINECODE GL_TEXTURE_FIXED_SAMPLE_LOCATIONS) is not $(D_INLINECODE GL_TRUE) for all attached textures.) $(LI $(D_INLINECODE GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS) is returned if any framebuffer attachment is layered, and any populated attachment is not layered, or if all populated color attachments are not from textures of the same target.)) Additionally, if an error occurs, zero is returned.
10278      + 
10279      + Params:
10280      +     target      = Specify the target to which the framebuffer is bound for $(D_INLINECODE glCheckFramebufferStatus), and the target against which framebuffer completeness of $(D_INLINECODE framebuffer) is checked for $(D_INLINECODE glCheckNamedFramebufferStatus).
10281      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glCheckNamedFramebufferStatus)
10282      + 
10283      + Copyright:
10284      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10285      + 
10286      + See_Also:
10287      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glDeleteFramebuffers) $(D_INLINECODE glBindFramebuffer)
10288      +/
10289     @OpenGL_Version(OGLIntroducedIn.V3P0)
10290     @OpenGL_Extension("GL_ARB_framebuffer_object")
10291     fn_glCheckFramebufferStatus glCheckFramebufferStatus;
10292     alias fn_glCheckNamedFramebufferStatus = extern(C) GLenum function(GLuint framebuffer, GLenum target) @system @nogc nothrow;
10293     /// Ditto
10294     @OpenGL_Version(OGLIntroducedIn.V4P5)
10295     @OpenGL_Extension("GL_ARB_direct_state_access")
10296     fn_glCheckNamedFramebufferStatus glCheckNamedFramebufferStatus;
10297     alias fn_glClampColor = extern(C) void function(GLenum target, GLenum clamp) @system @nogc nothrow;
10298 
10299     /++
10300      + glClampColor: man4/glClampColor.xml
10301      + 
10302      + $(D_INLINECODE glClampColor) controls color clamping that is performed during $(D_INLINECODE glReadPixels). $(D_INLINECODE target) must be $(D_INLINECODE GL_CLAMP_READ_COLOR). If $(D_INLINECODE clamp) is $(D_INLINECODE GL_TRUE), read color clamping is enabled; if $(D_INLINECODE clamp) is $(D_INLINECODE GL_FALSE), read color clamping is disabled. If $(D_INLINECODE clamp) is $(D_INLINECODE GL_FIXED_ONLY), read color clamping is enabled only if the selected read buffer has fixed point components and disabled otherwise.
10303      + 
10304      + Params:
10305      +     target = Target for color clamping. $(D_INLINECODE target) must be $(D_INLINECODE GL_CLAMP_READ_COLOR).
10306      +     clamp  = Specifies whether to apply color clamping. $(D_INLINECODE clamp) must be $(D_INLINECODE GL_TRUE) or $(D_INLINECODE GL_FALSE).
10307      + 
10308      + Copyright:
10309      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10310      + 
10311      + See_Also:
10312      +     
10313      +/
10314     @OpenGL_Version(OGLIntroducedIn.V3P0)
10315     fn_glClampColor glClampColor;
10316     alias fn_glClear = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
10317 
10318     /++
10319      + glClear: man4/glClear.xml
10320      + 
10321      + $(D_INLINECODE glClear) sets the bitplane area of the window to values previously selected by $(D_INLINECODE glClearColor), $(D_INLINECODE glClearDepth), and $(D_INLINECODE glClearStencil). Multiple color buffers can be cleared simultaneously by selecting more than one buffer at a time using $(D_INLINECODE glDrawBuffer). The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of $(D_INLINECODE glClear). The scissor box bounds the cleared region. Alpha function, blend function, logical operation, stenciling, texture mapping, and depth-buffering are ignored by $(D_INLINECODE glClear). $(D_INLINECODE glClear) takes a single argument that is the bitwise OR of several values indicating which buffer is to be cleared. The values are as follows: The value to which each buffer is cleared depends on the setting of the clear value for that buffer.
10322      + 
10323      + If a buffer is not present, then a $(D_INLINECODE glClear) directed at that buffer has no effect.
10324      + 
10325      + Params:
10326      +     mask = Bitwise OR of masks that indicate the buffers to be cleared. The three masks are $(D_INLINECODE GL_COLOR_BUFFER_BIT), $(D_INLINECODE GL_DEPTH_BUFFER_BIT), and $(D_INLINECODE GL_STENCIL_BUFFER_BIT).
10327      + 
10328      + Copyright:
10329      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10330      + 
10331      + See_Also:
10332      +     $(D_INLINECODE glClearColor), $(D_INLINECODE glClearDepth), $(D_INLINECODE glClearStencil), $(D_INLINECODE glColorMask), $(D_INLINECODE glDepthMask), $(D_INLINECODE glDrawBuffer), $(D_INLINECODE glScissor), $(D_INLINECODE glStencilMask)
10333      +/
10334     @OpenGL_Version(OGLIntroducedIn.V1P0)
10335     fn_glClear glClear;
10336     alias fn_glClearBufferiv = extern(C) void function(GLenum buffer, GLint drawbuffer, const GLint* value) @system @nogc nothrow;
10337 
10338     /++
10339      + glClearBuffer: man4/glClearBuffer.xml
10340      + 
10341      + These commands clear a specified buffer of a framebuffer to specified value(s). For $(D_INLINECODE glClearBuffer*), the framebuffer is the currently bound draw framebuffer object. For $(D_INLINECODE glClearNamedFramebuffer*), $(D_INLINECODE framebuffer) is zero, indicating the default draw framebuffer, or the name of a framebuffer object. $(D_INLINECODE buffer) and $(D_INLINECODE drawbuffer) identify the buffer to clear. If $(D_INLINECODE buffer) is $(D_INLINECODE GL_COLOR), a particular draw buffer $(D_INLINECODE GL_DRAW_BUFFER) $(D_INLINECODE i) is specified by passing $(D_INLINECODE i) as $(D_INLINECODE drawbuffer), and $(D_INLINECODE value) points to a four-element vector specifying the R, G, B and A color to clear that draw buffer to. If the value of $(D_INLINECODE GL_DRAW_BUFFER) $(D_INLINECODE i) is $(D_INLINECODE GL_NONE), the command has no effect. Otherwise, the value of $(D_INLINECODE GL_DRAW_BUFFER) $(D_INLINECODE i) identifies one or more color buffers, each of which is cleared to the same value. Clamping and type conversion for fixed-point color buffers are performed in the same fashion as for $(D_INLINECODE glClearColor). The $(D_INLINECODE *fv), $(D_INLINECODE *iv) and $(D_INLINECODE *uiv) forms of these commands should be used to clear fixed- and floating-point, signed integer, and unsigned integer color buffers respectively. If $(D_INLINECODE buffer) is $(D_INLINECODE GL_DEPTH), $(D_INLINECODE drawbuffer) must be zero, and $(D_INLINECODE value) points to a single value to clear the depth buffer to. Clamping and type conversion for fixed-point depth buffers are performed in the same fashion as for $(D_INLINECODE glClearDepth). Only the $(D_INLINECODE *fv) forms of these commands should be used to clear depth buffers; other forms do not accept a $(D_INLINECODE buffer) of $(D_INLINECODE GL_DEPTH). If $(D_INLINECODE buffer) is $(D_INLINECODE GL_STENCIL), $(D_INLINECODE drawbuffer) must be zero, and $(D_INLINECODE value) points to a single value to clear the stencil buffer to. Masking is performed in the same fashion as for $(D_INLINECODE glClearStencil). Only the $(D_INLINECODE *iv) forms of these commands should be used to clear stencil buffers; be used to clear stencil buffers; other forms do not accept a $(D_INLINECODE buffer) of $(D_INLINECODE GL_STENCIL). $(D_INLINECODE glClearBufferfi) and $(D_INLINECODE glClearNamedFramebufferfi) are used to clear the depth and stencil buffers simultaneously. $(D_INLINECODE buffer) must be $(D_INLINECODE GL_DEPTH_STENCIL) and $(D_INLINECODE drawbuffer) must be zero. $(D_INLINECODE depth) and $(D_INLINECODE stencil) are the values to clear the depth and stencil buffers to, respectively. Clamping and type conversion of $(D_INLINECODE depth) for fixed-point depth buffers are performed in the same fashion as for $(D_INLINECODE glClearDepth). Masking of $(D_INLINECODE stencil) for stencil buffers is performed in the same fashion as for $(D_INLINECODE glClearStencil). These commands are equivalent to clearing the depth and stencil buffers separately, but may be faster when a buffer of internal format $(D_INLINECODE GL_DEPTH_STENCIL) is being cleared. The same per-fragment and masking operations defined for $(D_INLINECODE glClear) are applied. The result of these commands is undefined if no conversion between the type of the specified $(D_INLINECODE value) and the type of the buffer being cleared is defined (for example, if $(D_INLINECODE glClearBufferiv) is called for a fixed- or floating-point buffer, or if $(D_INLINECODE glClearBufferfv) is called for a signed or unsigned integer buffer). This is not an error.
10342      + 
10343      + Params:
10344      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glClearNamedFramebuffer*).
10345      +     buffer      = Specify the buffer to clear.
10346      +     drawbuffer  = Specify a particular draw buffer to clear.
10347      +     value       = A pointer to the value or values to clear the buffer to.
10348      +     depth       = The value to clear the depth buffer to.
10349      +     stencil     = The value to clear the stencil buffer to.
10350      + 
10351      + Copyright:
10352      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10353      + 
10354      + See_Also:
10355      +     $(D_INLINECODE glClearColor), $(D_INLINECODE glClearDepth), $(D_INLINECODE glClearStencil), $(D_INLINECODE glClear)
10356      +/
10357     @OpenGL_Version(OGLIntroducedIn.V3P0)
10358     fn_glClearBufferiv glClearBufferiv;
10359     alias fn_glClearBufferuiv = extern(C) void function(GLenum buffer, GLint drawbuffer, const GLuint* value) @system @nogc nothrow;
10360     /// Ditto
10361     @OpenGL_Version(OGLIntroducedIn.V3P0)
10362     fn_glClearBufferuiv glClearBufferuiv;
10363     alias fn_glClearBufferfv = extern(C) void function(GLenum buffer, GLint drawbuffer, const GLfloat* value) @system @nogc nothrow;
10364     /// Ditto
10365     @OpenGL_Version(OGLIntroducedIn.V3P0)
10366     fn_glClearBufferfv glClearBufferfv;
10367     alias fn_glClearBufferfi = extern(C) void function(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) @system @nogc nothrow;
10368     /// Ditto
10369     @OpenGL_Version(OGLIntroducedIn.V3P0)
10370     fn_glClearBufferfi glClearBufferfi;
10371     alias fn_glClearNamedFramebufferiv = extern(C) void function(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint* value) @system @nogc nothrow;
10372     /// Ditto
10373     @OpenGL_Version(OGLIntroducedIn.V4P5)
10374     @OpenGL_Extension("GL_ARB_direct_state_access")
10375     fn_glClearNamedFramebufferiv glClearNamedFramebufferiv;
10376     alias fn_glClearNamedFramebufferuiv = extern(C) void function(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint* value) @system @nogc nothrow;
10377     /// Ditto
10378     @OpenGL_Version(OGLIntroducedIn.V4P5)
10379     @OpenGL_Extension("GL_ARB_direct_state_access")
10380     fn_glClearNamedFramebufferuiv glClearNamedFramebufferuiv;
10381     alias fn_glClearNamedFramebufferfv = extern(C) void function(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat* value) @system @nogc nothrow;
10382     /// Ditto
10383     @OpenGL_Version(OGLIntroducedIn.V4P5)
10384     @OpenGL_Extension("GL_ARB_direct_state_access")
10385     fn_glClearNamedFramebufferfv glClearNamedFramebufferfv;
10386     alias fn_glClearNamedFramebufferfi = extern(C) void function(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) @system @nogc nothrow;
10387     /// Ditto
10388     @OpenGL_Version(OGLIntroducedIn.V4P5)
10389     @OpenGL_Extension("GL_ARB_direct_state_access")
10390     fn_glClearNamedFramebufferfi glClearNamedFramebufferfi;
10391     alias fn_glClearBufferData = extern(C) void function(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
10392 
10393     /++
10394      + glClearBufferData: man4/glClearBufferData.xml
10395      + 
10396      + $(D_INLINECODE glClearBufferData) and $(D_INLINECODE glClearNamedBufferData) fill the entirety of a buffer object's data store with data from client memory. Data, initially supplied in a format specified by $(D_INLINECODE format) in data type $(D_INLINECODE type) is read from the memory address given by $(D_INLINECODE data) and converted into the internal representation given by $(D_INLINECODE internalformat), which must be one of the following sized internal formats: $(B Component) $(B Sized Internal Format) $(B Base Type) $(B Components) $(B Norm) 0 1 2 3 $(D_INLINECODE GL_R8) ubyte 1 YES R 0 0 1 $(D_INLINECODE GL_R16) ushort 1 YES R 0 0 1 $(D_INLINECODE GL_R16F) half 1 NO R 0 0 1 $(D_INLINECODE GL_R32F) float 1 NO R 0 0 1 $(D_INLINECODE GL_R8I) byte 1 NO R 0 0 1 $(D_INLINECODE GL_R16I) short 1 NO R 0 0 1 $(D_INLINECODE GL_R32I) int 1 NO R 0 0 1 $(D_INLINECODE GL_R8UI) ubyte 1 NO R 0 0 1 $(D_INLINECODE GL_R16UI) ushort 1 NO R 0 0 1 $(D_INLINECODE GL_R32UI) uint 1 NO R 0 0 1 $(D_INLINECODE GL_RG8) ubyte 2 YES R G 0 1 $(D_INLINECODE GL_RG16) ushort 2 YES R G 0 1 $(D_INLINECODE GL_RG16F) half 2 NO R G 0 1 $(D_INLINECODE GL_RG32F) float 2 NO R G 0 1 $(D_INLINECODE GL_RG8I) byte 2 NO R G 0 1 $(D_INLINECODE GL_RG16I) short 2 NO R G 0 1 $(D_INLINECODE GL_RG32I) int 2 NO R G 0 1 $(D_INLINECODE GL_RG8UI) ubyte 2 NO R G 0 1 $(D_INLINECODE GL_RG16UI) ushort 2 NO R G 0 1 $(D_INLINECODE GL_RG32UI) uint 2 NO R G 0 1 $(D_INLINECODE GL_RGB32F) float 3 NO R G B 1 $(D_INLINECODE GL_RGB32I) int 3 NO R G B 1 $(D_INLINECODE GL_RGB32UI) uint 3 NO R G B 1 $(D_INLINECODE GL_RGBA8) uint 4 YES R G B A $(D_INLINECODE GL_RGBA16) short 4 YES R G B A $(D_INLINECODE GL_RGBA16F) half 4 NO R G B A $(D_INLINECODE GL_RGBA32F) float 4 NO R G B A $(D_INLINECODE GL_RGBA8I) byte 4 NO R G B A $(D_INLINECODE GL_RGBA16I) short 4 NO R G B A $(D_INLINECODE GL_RGBA32I) int 4 NO R G B A $(D_INLINECODE GL_RGBA8UI) ubyte 4 NO R G B A $(D_INLINECODE GL_RGBA16UI) ushort 4 NO R G B A $(D_INLINECODE GL_RGBA32UI) uint 4 NO R G B A This converted data is then replicated throughout the buffer object's data store. If $(D_INLINECODE data) is null,
10397      +  then the buffer's data store is filled with zeros.
10398      + 
10399      + Params:
10400      +     target         = Specifies the target to which the buffer object is bound for $(D_INLINECODE glClearBufferData), which must must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
10401      +     buffer         = Specifies the name of the buffer object for $(D_INLINECODE glClearNamedBufferData).
10402      +     internalformat = The internal format with which the data will be stored in the buffer object.
10403      +     format         = The format of the data in memory addressed by $(D_INLINECODE data).
10404      +     type           = The type of the data in memory addressed by $(D_INLINECODE data).
10405      +     data           = The address of a memory location storing the data to be replicated into the buffer's data store.
10406      + 
10407      + Copyright:
10408      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10409      + 
10410      + See_Also:
10411      +     $(D_INLINECODE glClearBufferSubData).
10412      +/
10413     @OpenGL_Version(OGLIntroducedIn.V4P3)
10414     @OpenGL_Extension("GL_ARB_clear_buffer_object")
10415     fn_glClearBufferData glClearBufferData;
10416     alias fn_glClearNamedBufferData = extern(C) void function(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
10417     /// Ditto
10418     @OpenGL_Version(OGLIntroducedIn.V4P5)
10419     @OpenGL_Extension("GL_ARB_direct_state_access")
10420     fn_glClearNamedBufferData glClearNamedBufferData;
10421     alias fn_glClearBufferSubData = extern(C) void function(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
10422 
10423     /++
10424      + glClearBufferSubData: man4/glClearBufferSubData.xml
10425      + 
10426      + $(D_INLINECODE glClearBufferSubData) and $(D_INLINECODE glClearNamedBufferSubData) fill a specified region of a buffer object's data store with data from client memory. $(D_INLINECODE offset) and $(D_INLINECODE size) specify the extent of the region within the data store of the buffer object to fill with data. Data, initially supplied in a format specified by $(D_INLINECODE format) in data type $(D_INLINECODE type) is read from the memory address given by $(D_INLINECODE data) and converted into the internal representation given by $(D_INLINECODE internalformat), which must be one of the following sized internal formats: $(B Component) $(B Sized Internal Format) $(B Base Type) $(B Components) $(B Norm) 0 1 2 3 $(D_INLINECODE GL_R8) ubyte 1 YES R 0 0 1 $(D_INLINECODE GL_R16) ushort 1 YES R 0 0 1 $(D_INLINECODE GL_R16F) half 1 NO R 0 0 1 $(D_INLINECODE GL_R32F) float 1 NO R 0 0 1 $(D_INLINECODE GL_R8I) byte 1 NO R 0 0 1 $(D_INLINECODE GL_R16I) short 1 NO R 0 0 1 $(D_INLINECODE GL_R32I) int 1 NO R 0 0 1 $(D_INLINECODE GL_R8UI) ubyte 1 NO R 0 0 1 $(D_INLINECODE GL_R16UI) ushort 1 NO R 0 0 1 $(D_INLINECODE GL_R32UI) uint 1 NO R 0 0 1 $(D_INLINECODE GL_RG8) ubyte 2 YES R G 0 1 $(D_INLINECODE GL_RG16) ushort 2 YES R G 0 1 $(D_INLINECODE GL_RG16F) half 2 NO R G 0 1 $(D_INLINECODE GL_RG32F) float 2 NO R G 0 1 $(D_INLINECODE GL_RG8I) byte 2 NO R G 0 1 $(D_INLINECODE GL_RG16I) short 2 NO R G 0 1 $(D_INLINECODE GL_RG32I) int 2 NO R G 0 1 $(D_INLINECODE GL_RG8UI) ubyte 2 NO R G 0 1 $(D_INLINECODE GL_RG16UI) ushort 2 NO R G 0 1 $(D_INLINECODE GL_RG32UI) uint 2 NO R G 0 1 $(D_INLINECODE GL_RGB32F) float 3 NO R G B 1 $(D_INLINECODE GL_RGB32I) int 3 NO R G B 1 $(D_INLINECODE GL_RGB32UI) uint 3 NO R G B 1 $(D_INLINECODE GL_RGBA8) uint 4 YES R G B A $(D_INLINECODE GL_RGBA16) short 4 YES R G B A $(D_INLINECODE GL_RGBA16F) half 4 NO R G B A $(D_INLINECODE GL_RGBA32F) float 4 NO R G B A $(D_INLINECODE GL_RGBA8I) byte 4 NO R G B A $(D_INLINECODE GL_RGBA16I) short 4 NO R G B A $(D_INLINECODE GL_RGBA32I) int 4 NO R G B A $(D_INLINECODE GL_RGBA8UI) ubyte 4 NO R G B A $(D_INLINECODE GL_RGBA16UI) ushort 4 NO R G B A $(D_INLINECODE GL_RGBA32UI) uint 4 NO R G B A This converted data is then replicated throughout the specified region of the buffer object's data store. If $(D_INLINECODE data) is null, then the subrange of the
10427      +  buffer's data store is filled with zeros.
10428      + 
10429      + Params:
10430      +     target         = Specifies the target to which the buffer object is bound for $(D_INLINECODE glClearBufferSubData), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
10431      +     buffer         = Specifies the name of the buffer object for $(D_INLINECODE glClearNamedBufferSubData).
10432      +     internalformat = The internal format with which the data will be stored in the buffer object.
10433      +     offset         = The offset in basic machine units into the buffer object's data store at which to start filling.
10434      +     size           = The size in basic machine units of the range of the data store to fill.
10435      +     format         = The format of the data in memory addressed by $(D_INLINECODE data).
10436      +     type           = The type of the data in memory addressed by $(D_INLINECODE data).
10437      +     data           = The address of a memory location storing the data to be replicated into the buffer's data store.
10438      + 
10439      + Copyright:
10440      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10441      + 
10442      + See_Also:
10443      +     $(D_INLINECODE glClearBufferData).
10444      +/
10445     @OpenGL_Version(OGLIntroducedIn.V4P3)
10446     @OpenGL_Extension("GL_ARB_clear_buffer_object")
10447     fn_glClearBufferSubData glClearBufferSubData;
10448     alias fn_glClearNamedBufferSubData = extern(C) void function(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
10449     /// Ditto
10450     @OpenGL_Version(OGLIntroducedIn.V4P5)
10451     @OpenGL_Extension("GL_ARB_direct_state_access")
10452     fn_glClearNamedBufferSubData glClearNamedBufferSubData;
10453     alias fn_glClearColor = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) @system @nogc nothrow;
10454 
10455     /++
10456      + glClearColor: man4/glClearColor.xml
10457      + 
10458      + $(D_INLINECODE glClearColor) specifies the red, green, blue, and alpha values used by $(D_INLINECODE glClear) to clear the color buffers. Values specified by $(D_INLINECODE glClearColor) are clamped to the range 0 1.
10459      + 
10460      + The type of the $(D_INLINECODE red), $(D_INLINECODE green), $(D_INLINECODE blue), and $(D_INLINECODE alpha) parameters was changed from GLclampf to GLfloat. This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
10461      + 
10462      + Params:
10463      +     red = Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0.
10464      + 
10465      + Copyright:
10466      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10467      + 
10468      + See_Also:
10469      +     $(D_INLINECODE glClear), $(D_INLINECODE removedTypes)
10470      +/
10471     @OpenGL_Version(OGLIntroducedIn.V1P0)
10472     fn_glClearColor glClearColor;
10473     alias fn_glClearDepth = extern(C) void function(GLdouble depth) @system @nogc nothrow;
10474 
10475     /++
10476      + glClearDepth: man4/glClearDepth.xml
10477      + 
10478      + $(D_INLINECODE glClearDepth) specifies the depth value used by $(D_INLINECODE glClear) to clear the depth buffer. Values specified by $(D_INLINECODE glClearDepth) are clamped to the range 0 1.
10479      + 
10480      + The type of the $(D_INLINECODE depth) parameter was changed from GLclampf to GLfloat for $(D_INLINECODE glClearDepthf) and from GLclampd to GLdouble for $(D_INLINECODE glClearDepth). This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
10481      + 
10482      + Params:
10483      +     depth = Specifies the depth value used when the depth buffer is cleared. The initial value is 1.
10484      + 
10485      + Copyright:
10486      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10487      + 
10488      + See_Also:
10489      +     $(D_INLINECODE glClear), $(D_INLINECODE removedTypes)
10490      +/
10491     @OpenGL_Version(OGLIntroducedIn.V1P0)
10492     fn_glClearDepth glClearDepth;
10493     alias fn_glClearDepthf = extern(C) void function(GLfloat depth) @system @nogc nothrow;
10494     /// Ditto
10495     @OpenGL_Version(OGLIntroducedIn.V4P1)
10496     @OpenGL_Extension("GL_ARB_ES2_compatibility")
10497     fn_glClearDepthf glClearDepthf;
10498     alias fn_glClearStencil = extern(C) void function(GLint s) @system @nogc nothrow;
10499 
10500     /++
10501      + glClearStencil: man4/glClearStencil.xml
10502      + 
10503      + $(D_INLINECODE glClearStencil) specifies the index used by $(D_INLINECODE glClear) to clear the stencil buffer. $(D_INLINECODE s) is masked with 2 m - 1, where m is the number of bits in the stencil buffer.
10504      + 
10505      + Params:
10506      +     s = Specifies the index used when the stencil buffer is cleared. The initial value is 0.
10507      + 
10508      + Copyright:
10509      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10510      + 
10511      + See_Also:
10512      +     $(D_INLINECODE glClear), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilFuncSeparate), $(D_INLINECODE glStencilMask), $(D_INLINECODE glStencilMaskSeparate), $(D_INLINECODE glStencilOp), $(D_INLINECODE glStencilOpSeparate)
10513      +/
10514     @OpenGL_Version(OGLIntroducedIn.V1P0)
10515     fn_glClearStencil glClearStencil;
10516     alias fn_glClearTexImage = extern(C) void function(GLuint texture, GLint level, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
10517 
10518     /++
10519      + glClearTexImage: man4/glClearTexImage.xml
10520      + 
10521      + $(D_INLINECODE glClearTexImage) fills all an image contained in a texture with an application supplied value. $(D_INLINECODE texture) must be the name of an existing texture. Further, $(D_INLINECODE texture) may not be the name of a buffer texture, nor may its internal format be compressed. $(D_INLINECODE format) and $(D_INLINECODE type) specify the format and type of the source data and are interpreted as they are for $(D_INLINECODE glTexImage3D). Textures with a base internal format of $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_STENCIL_INDEX), or $(D_INLINECODE GL_DEPTH_STENCIL) require depth component, stencil, or depth-stencil component data respectively. Textures with other base internal formats require RGBA formats. Textures with integer internal formats require integer data. $(D_INLINECODE data) is a pointer to an array of between one and four components of texel data that will be used as the source for the constant fill value. The elements of data are converted by the GL into the internal format of the texture image (that was specified when the level was defined by any of the $(D_INLINECODE glTexImage*), $(D_INLINECODE glTexStorage*) or $(D_INLINECODE glCopyTexImage*) commands), and then used to fill the specified range of the destination texture level. If $(D_INLINECODE data) is $(D_INLINECODE null
10522      + ), then the pointer is ignored and the sub-range of the texture image is filled with zeros. If texture is a multisample texture, all the samples in a texel are cleared to the value specified by data.
10523      + 
10524      + $(D_INLINECODE glClearTexImage) is available only if the GL version is 4.4 or greater.
10525      + 
10526      + Params:
10527      +     texture = The name of an existing texture object containing the image to be cleared.
10528      +     level   = The level of $(D_INLINECODE texture) containing the region to be cleared.
10529      +     format  = The format of the data whose address in memory is given by $(D_INLINECODE data).
10530      +     type    = The type of the data whose address in memory is given by $(D_INLINECODE data).
10531      +     data    = The address in memory of the data to be used to clear the specified region.
10532      + 
10533      + Copyright:
10534      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10535      + 
10536      + See_Also:
10537      +     $(D_INLINECODE glClearTexSubImage), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage3D), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D)
10538      +/
10539     @OpenGL_Version(OGLIntroducedIn.V4P4)
10540     @OpenGL_Extension("GL_ARB_clear_texture")
10541     fn_glClearTexImage glClearTexImage;
10542     alias fn_glClearTexSubImage = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
10543 
10544     /++
10545      + glClearTexSubImage: man4/glClearTexSubImage.xml
10546      + 
10547      + $(D_INLINECODE glClearTexSubImage) fills all or part of an image contained in a texture with an application supplied value. $(D_INLINECODE texture) must be the name of an existing texture. Further, $(D_INLINECODE texture) may not be the name of a buffer texture, nor may its internal format be compressed. Arguments $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), and $(D_INLINECODE zoffset) specify the lower left texel coordinates of a width-wide by height-high by depth-deep rectangular subregion of the texel array. For one-dimensional array textures, $(D_INLINECODE yoffset) is interpreted as the first layer to be cleared and $(D_INLINECODE height) is the number of layers to clear. For two-dimensional array textures, $(D_INLINECODE zoffset) is interpreted as the first layer to be cleared and $(D_INLINECODE depth) is the number of layers to clear. Cube map textures are treated as an array of six slices in the z-dimension, where the value of $(D_INLINECODE zoffset) is interpreted as specifying the cube map face for the corresponding layer and $(D_INLINECODE depth) is the number of faces to clear. For cube map array textures, $(D_INLINECODE zoffset) is the first layer-face to clear, and $(D_INLINECODE depth) is the number of layer-faces to clear. Each layer-face is translated into an array layer and a cube map face as described in the OpenGL Specification. Negative values of $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), and $(D_INLINECODE zoffset) correspond to the coordinates of border texels. Taking ws, hs, ds, wb, hb, and db to be the specified $(D_INLINECODE width), $(D_INLINECODE height), $(D_INLINECODE depth), and the border width, border height, and border depth of the texel array and taking x, y, z, w, h, and d to be the $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), $(D_INLINECODE zoffset), $(D_INLINECODE width), $(D_INLINECODE height), and $(D_INLINECODE depth) argument values, any of the following relationships generates a $(D_INLINECODE GL_INVALID_OPERATION) error: $(OL $(LI x &lt; w b) $(LI x + w &gt; w s - w b) $(LI y &lt; - h b) $(LI y + h &gt; h s - h b) $(LI z &lt; - d b) $(LI z + d &gt; d s - d b)) For texture types that do not have certain dimensions, this command treats those dimensions as having a size of 1. For example, to clear a portion of a two-dimensional texture, use $(D_INLINECODE zoffset) equal to zero and $(D_INLINECODE depth) equal to one. $(D_INLINECODE format) and $(D_INLINECODE type) specify the format and type of the source data and are interpreted as they are for $(D_INLINECODE glTexImage3D). Textures with a base internal format of $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_STENCIL_INDEX), or $(D_INLINECODE GL_DEPTH_STENCIL) require depth component, stencil, or depth-stencil component data respectively. Textures with other base internal formats require RGBA formats. Textures with integer internal formats require integer data. $(D_INLINECODE data) is a pointer to an array of between one and four components of texel data that will be used as the source for the constant fill value. The elements of data are converted by the GL into the internal format of the texture image (that was specified when the level was defined by any of the $(D_INLINECODE glTexImage*), $(D_INLINECODE glTexStorage*) or $(D_INLINECODE glCopyTexImage*) commands), and then used to fill the specified range of the destination texture level. If $(D_INLINECODE data) is $(D_INLINECODE null
10548      + ), then the pointer is ignored and the sub-range of the texture image is filled with zeros. If texture is a multisample texture, all the samples in a texel are cleared to the value specified by data.
10549      + 
10550      + $(D_INLINECODE glClearTexSubImage) is available only if the GL version is 4.4 or greater.
10551      + 
10552      + Params:
10553      +     texture = The name of an existing texture object containing the image to be cleared.
10554      +     level   = The level of $(D_INLINECODE texture) containing the region to be cleared.
10555      +     xoffset = The coordinate of the left edge of the region to be cleared.
10556      +     yoffset = The coordinate of the lower edge of the region to be cleared.
10557      +     zoffset = The coordinate of the front of the region to be cleared.
10558      +     width   = The width of the region to be cleared.
10559      +     height  = The height of the region to be cleared.
10560      +     depth   = The depth of the region to be cleared.
10561      +     format  = The format of the data whose address in memory is given by $(D_INLINECODE data).
10562      +     type    = The type of the data whose address in memory is given by $(D_INLINECODE data).
10563      +     data    = The address in memory of the data to be used to clear the specified region.
10564      + 
10565      + Copyright:
10566      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10567      + 
10568      + See_Also:
10569      +     $(D_INLINECODE glClearTexImage), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage3D), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D)
10570      +/
10571     @OpenGL_Version(OGLIntroducedIn.V4P4)
10572     @OpenGL_Extension("GL_ARB_clear_texture")
10573     fn_glClearTexSubImage glClearTexSubImage;
10574     alias fn_glClientWaitSync = extern(C) GLenum function(GLsync sync, GLbitfield flags, GLuint64 timeout) @system @nogc nothrow;
10575 
10576     /++
10577      + glClientWaitSync: man4/glClientWaitSync.xml
10578      + 
10579      + $(D_INLINECODE glClientWaitSync) causes the client to block and wait for the sync object specified by $(D_INLINECODE sync) to become signaled. If $(D_INLINECODE sync) is signaled when $(D_INLINECODE glClientWaitSync) is called, $(D_INLINECODE glClientWaitSync) returns immediately, otherwise it will block and wait for up to $(D_INLINECODE timeout) nanoseconds for $(D_INLINECODE sync) to become signaled. The return value is one of four status values: $(OL $(LI $(D_INLINECODE GL_ALREADY_SIGNALED) indicates that $(D_INLINECODE sync) was signaled at the time that $(D_INLINECODE glClientWaitSync) was called.) $(LI $(D_INLINECODE GL_TIMEOUT_EXPIRED) indicates that at least $(D_INLINECODE timeout) nanoseconds passed and $(D_INLINECODE sync) did not become signaled.) $(LI $(D_INLINECODE GL_CONDITION_SATISFIED) indicates that $(D_INLINECODE sync) was signaled before the timeout expired.) $(LI $(D_INLINECODE GL_WAIT_FAILED) indicates that an error occurred. Additionally, an OpenGL error will be generated.))
10580      + 
10581      + $(D_INLINECODE glClientWaitSync) is available only if the GL version is 3.2 or greater.
10582      + 
10583      + Params:
10584      +     sync    = The sync object whose status to wait on.
10585      +     flags   = A bitfield controlling the command flushing behavior. $(D_INLINECODE flags) may be $(D_INLINECODE GL_SYNC_FLUSH_COMMANDS_BIT).
10586      +     timeout = The timeout, specified in nanoseconds, for which the implementation should wait for $(D_INLINECODE sync) to become signaled.
10587      + 
10588      + Copyright:
10589      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10590      + 
10591      + See_Also:
10592      +     $(D_INLINECODE glFenceSync), $(D_INLINECODE glIsSync) $(D_INLINECODE glWaitSync)
10593      +/
10594     @OpenGL_Version(OGLIntroducedIn.V3P2)
10595     @OpenGL_Extension("GL_ARB_sync")
10596     fn_glClientWaitSync glClientWaitSync;
10597     alias fn_glClipControl = extern(C) void function(GLenum origin, GLenum depth) @system @nogc nothrow;
10598 
10599     /++
10600      + glClipControl: man4/glClipControl.xml
10601      + 
10602      + $(D_INLINECODE glClipControl) controls the clipping volume behavior and the clip coordinate to window coordinate transformation behavior. The view volume is defined by $$z_{min} \leq z_c \leq w_c$$ where $z_{min} = -w_c$ when $(D_INLINECODE depth) is $(D_INLINECODE GL_NEGATIVE_ONE_TO_ONE), and $z_{min} = 0$ when $(D_INLINECODE depth) is $(D_INLINECODE GL_ZERO_TO_ONE). The normalized device coordinate $y_d$ is given by $$y_d = { { f \times y_c } \over w_c }$$ where $f = 1$ when $(D_INLINECODE origin) is $(D_INLINECODE GL_LOWER_LEFT), and $f = -1$ when $(D_INLINECODE origin) is $(D_INLINECODE GL_UPPER_LEFT). The window coordinate $z_w$ is given by $$z_w = s \times z_d + b$$ where $s = { { f - n } \over 2 }$ and $b = { {n + f} \over 2 }$ when $(D_INLINECODE depth) is $(D_INLINECODE GL_NEGATIVE_ONE_TO_ONE), and $s = f - n$ and $b = n$ when $(D_INLINECODE depth) is $(D_INLINECODE GL_ZERO_TO_ONE). $n$ and $f$ are the near and far depth range values set with $(D_INLINECODE glDepthRange). Finally, the polygon area computation defined by $(D_INLINECODE gl_FrontFacing) to determine if a polygon is front- or back-facing has its sign negated when $(D_INLINECODE origin) is $(D_INLINECODE GL_UPPER_LEFT).
10603      + 
10604      + The default GL clip volume definition is for a $(D_INLINECODE origin) of $(D_INLINECODE GL_LOWER_LEFT) and a $(D_INLINECODE depth) of $(D_INLINECODE GL_NEGATIVE_ONE_TO_ONE). An $(D_INLINECODE origin) of $(D_INLINECODE GL_UPPER_LEFT) and a $(D_INLINECODE depth) of $(D_INLINECODE GL_ZERO_TO_ONE) corresponds to Direct3D's clip volume definition. An $(D_INLINECODE origin) of $(D_INLINECODE GL_UPPER_LEFT) and a $(D_INLINECODE depth) of $(D_INLINECODE GL_NEGATIVE_ONE_TO_ONE) corresponds to the upper-left origin of the window coordinate system of Microsoft Windows and the X Window System. There is extensive discussion of the uses and further consequences of the different clip volume settings in the $(D_INLINECODE GL_ARB_clip_control) extension specification in the OpenGL Registry at URL $(LINK2 http://www.opengl.org/registry/, http://www.opengl.org/registry/).
10605      + 
10606      + Params:
10607      +     origin = Specifies the clip control origin. Must be one of $(D_INLINECODE GL_LOWER_LEFT) or $(D_INLINECODE GL_UPPER_LEFT).
10608      +     depth  = Specifies the clip control depth mode. Must be one of $(D_INLINECODE GL_NEGATIVE_ONE_TO_ONE) or $(D_INLINECODE GL_ZERO_TO_ONE).
10609      + 
10610      + Copyright:
10611      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10612      + 
10613      + See_Also:
10614      +     $(D_INLINECODE gl_ClipDistance), $(D_INLINECODE gl_CullDistance), $(D_INLINECODE gl_FrontFacing), $(D_INLINECODE glDepthRange).
10615      +/
10616     @OpenGL_Version(OGLIntroducedIn.V4P5)
10617     @OpenGL_Extension("GL_ARB_clip_control")
10618     fn_glClipControl glClipControl;
10619     alias fn_glColorMask = extern(C) void function(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) @system @nogc nothrow;
10620 
10621     /++
10622      + glColorMask: man4/glColorMask.xml
10623      + 
10624      + $(D_INLINECODE glColorMask) and $(D_INLINECODE glColorMaski) specify whether the individual color components in the frame buffer can or cannot be written. $(D_INLINECODE glColorMaski) sets the mask for a specific draw buffer, whereas $(D_INLINECODE glColorMask) sets the mask for all draw buffers. If $(D_INLINECODE red) is $(D_INLINECODE GL_FALSE), for example, no change is made to the red component of any pixel in any of the color buffers, regardless of the drawing operation attempted. Changes to individual bits of components cannot be controlled. Rather, changes are either enabled or disabled for entire color components.
10625      + 
10626      + Params:
10627      +     buf = For $(D_INLINECODE glColorMaski), specifies the index of the draw buffer whose color mask to set.
10628      +     red = Specify whether red, green, blue, and alpha are to be written into the frame buffer. The initial values are all $(D_INLINECODE GL_TRUE), indicating that the color components are written.
10629      + 
10630      + Copyright:
10631      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10632      + 
10633      + See_Also:
10634      +     $(D_INLINECODE glClear), $(D_INLINECODE glDepthMask), $(D_INLINECODE glStencilMask)
10635      +/
10636     @OpenGL_Version(OGLIntroducedIn.V1P0)
10637     fn_glColorMask glColorMask;
10638     alias fn_glCompileShader = extern(C) void function(GLuint shader) @system @nogc nothrow;
10639 
10640     /++
10641      + glCompileShader: man4/glCompileShader.xml
10642      + 
10643      + $(D_INLINECODE glCompileShader) compiles the source code strings that have been stored in the shader object specified by $(D_INLINECODE shader). The compilation status will be stored as part of the shader object's state. This value will be set to $(D_INLINECODE GL_TRUE) if the shader was compiled without errors and is ready for use, and $(D_INLINECODE GL_FALSE) otherwise. It can be queried by calling $(D_INLINECODE glGetShader) with arguments $(D_INLINECODE shader) and $(D_INLINECODE GL_COMPILE_STATUS). Compilation of a shader can fail for a number of reasons as specified by the OpenGL Shading Language Specification. Whether or not the compilation was successful, information about the compilation can be obtained from the shader object's information log by calling $(D_INLINECODE glGetShaderInfoLog).
10644      + 
10645      + Params:
10646      +     shader = Specifies the shader object to be compiled.
10647      + 
10648      + Copyright:
10649      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10650      + 
10651      + See_Also:
10652      +     $(D_INLINECODE glCreateShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glShaderSource)
10653      +/
10654     @OpenGL_Version(OGLIntroducedIn.V2P0)
10655     fn_glCompileShader glCompileShader;
10656     alias fn_glCompressedTexImage1D = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid* data) @system @nogc nothrow;
10657 
10658     /++
10659      + glCompressedTexImage1D: man4/glCompressedTexImage1D.xml
10660      + 
10661      + Texturing allows elements of an image array to be read by shaders. $(D_INLINECODE glCompressedTexImage1D) loads a previously defined, and retrieved, compressed one-dimensional texture image if $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D) (see $(D_INLINECODE glTexImage1D) ). If $(D_INLINECODE target) is $(D_INLINECODE GL_PROXY_TEXTURE_1D), no data is read from $(D_INLINECODE data), but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities.  If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see $(D_INLINECODE glGetError) ). To query for an entire mipmap array, use an image array level greater than or equal to 1. $(D_INLINECODE internalformat) must be an extension-specified compressed-texture format. When a texture is loaded with $(D_INLINECODE glTexImage1D) using a generic compressed  texture format (e.g., $(D_INLINECODE GL_COMPRESSED_RGB) ) the GL selects from one of its extensions supporting compressed textures.  In order to load the compressed texture image using $(D_INLINECODE glCompressedTexImage1D), query the compressed texture image's size and format using $(D_INLINECODE glGetTexLevelParameter). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store. If the compressed data are arranged into fixed-size blocks of texels, the pixel storage modes can be used to select a sub-rectangle from a larger containing rectangle. These pixel storage modes operate in the same way as they do for $(D_INLINECODE glTexImage1D). In the following description, denote by b s, b w, b h, and b d the values of pixel storage modes $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_SIZE), $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_WIDTH), $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_HEIGHT), and $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_DEPTH), respectively. b s is the compressed block size in bytes; b w, b h, and b d are the compressed block width, height, and depth in pixels. By default the pixel storage modes $(D_INLINECODE GL_UNPACK_ROW_LENGTH), $(D_INLINECODE GL_UNPACK_SKIP_ROWS), $(D_INLINECODE GL_UNPACK_SKIP_PIXELS), $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT) and $(D_INLINECODE GL_UNPACK_SKIP_IMAGES) are ignored for compressed images. To enable $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) and $(D_INLINECODE GL_UNPACK_ROW_LENGTH), b s and b w must both be non-zero. To also enable $(D_INLINECODE GL_UNPACK_SKIP_ROWS) and $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT), b h must be non-zero. To also enable $(D_INLINECODE GL_UNPACK_SKIP_IMAGES), b d must be non-zero. All parameters must be consistent with the compressed format to produce the desired results. When selecting a sub-rectangle from a compressed image, $(OL $(LI the value of $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) must be a multiple of b w)) $(D_INLINECODE imageSize) must be equal to: b s &times; width b w
10662      + 
10663      + Params:
10664      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_1D) or $(D_INLINECODE GL_PROXY_TEXTURE_1D).
10665      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10666      +     internalformat = Specifies the format of the compressed image data stored at address $(D_INLINECODE data).
10667      +     width          = Specifies the width of the texture image. All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
10668      +     border         = This value must be 0.
10669      +     imageSize      = Specifies the number of unsigned bytes of image data starting at the address specified by $(D_INLINECODE data).
10670      +     data           = Specifies a pointer to the compressed image data in memory.
10671      + 
10672      + Copyright:
10673      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10674      + 
10675      + See_Also:
10676      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
10677      +/
10678     @OpenGL_Version(OGLIntroducedIn.V1P3)
10679     fn_glCompressedTexImage1D glCompressedTexImage1D;
10680     alias fn_glCompressedTexImage2D = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data) @system @nogc nothrow;
10681 
10682     /++
10683      + glCompressedTexImage2D: man4/glCompressedTexImage2D.xml
10684      + 
10685      + Texturing allows elements of an image array to be read by shaders. $(D_INLINECODE glCompressedTexImage2D) loads a previously defined, and retrieved, compressed two-dimensional texture image if $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D), or one of the cube map faces such as $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X). (see $(D_INLINECODE glTexImage2D) ). If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE data) is treated as an array of compressed 1D textures. If $(D_INLINECODE target) is $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP), no data is read from $(D_INLINECODE data), but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities.  If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see $(D_INLINECODE glGetError) ). To query for an entire mipmap array, use an image array level greater than or equal to 1. $(D_INLINECODE internalformat) must be a known compressed image format (such as $(D_INLINECODE GL_RGTC) ) or an extension-specified compressed-texture format. When a texture is loaded with $(D_INLINECODE glTexImage2D) using a generic compressed texture format (e.g., $(D_INLINECODE GL_COMPRESSED_RGB) ), the GL selects from one of its extensions supporting compressed textures.  In order to load the compressed texture image using $(D_INLINECODE glCompressedTexImage2D), query the compressed texture image's size and format using $(D_INLINECODE glGetTexLevelParameter). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store. If the compressed data are arranged into fixed-size blocks of texels, the pixel storage modes can be used to select a sub-rectangle from a larger containing rectangle. These pixel storage modes operate in the same way as they do for $(D_INLINECODE glTexImage2D). In the following description, denote by b s, b w, b h, and b d, the values of pixel storage modes $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_SIZE), $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_WIDTH), $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_HEIGHT), and $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_DEPTH), respectively. b s is the compressed block size in bytes; b w, b h, and b d are the compressed block width, height, and depth in pixels. By default the pixel storage modes $(D_INLINECODE GL_UNPACK_ROW_LENGTH), $(D_INLINECODE GL_UNPACK_SKIP_ROWS), $(D_INLINECODE GL_UNPACK_SKIP_PIXELS), $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT) and $(D_INLINECODE GL_UNPACK_SKIP_IMAGES) are ignored for compressed images. To enable $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) and $(D_INLINECODE GL_UNPACK_ROW_LENGTH), b s and b w must both be non-zero. To also enable $(D_INLINECODE GL_UNPACK_SKIP_ROWS) and $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT), b h must be non-zero. To also enable $(D_INLINECODE GL_UNPACK_SKIP_IMAGES), b d must be non-zero. All parameters must be consistent with the compressed format to produce the desired results. When selecting a sub-rectangle from a compressed image: $(OL $(LI The value of $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) must be a multiple of b w;) $(LI the value of $(D_INLINECODE GL_UNPACK_SKIP_ROWS) must be a multiple of b w.)) $(D_INLINECODE imageSize) must be equal to: b s &times; width b w &times; height b h
10686      + 
10687      + The specific compressed internal formats $(D_INLINECODE GL_COMPRESSED_RGB8_ETC2), $(D_INLINECODE GL_COMPRESSED_SRGB8_ETC2), $(D_INLINECODE GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2), $(D_INLINECODE GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2), $(D_INLINECODE GL_COMPRESSED_RGBA8_ETC2_EAC), $(D_INLINECODE GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC), $(D_INLINECODE GL_COMPRESSED_R11_EAC), $(D_INLINECODE GL_COMPRESSED_SIGNED_R11_EAC), $(D_INLINECODE GL_COMPRESSED_RG11_EAC), and $(D_INLINECODE GL_COMPRESSED_SIGNED_RG11_EAC) are available only if the GL version is 4.3 or higher.
10688      + 
10689      + Params:
10690      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP).
10691      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10692      +     internalformat = Specifies the format of the compressed image data stored at address $(D_INLINECODE data).
10693      +     width          = Specifies the width of the texture image. All implementations support 2D texture and cube map texture images that are at least 16384 texels wide.
10694      +     height         = Specifies the height of the texture image. All implementations support 2D texture and cube map texture images that are at least 16384 texels high.
10695      +     border         = This value must be 0.
10696      +     imageSize      = Specifies the number of unsigned bytes of image data starting at the address specified by $(D_INLINECODE data).
10697      +     data           = Specifies a pointer to the compressed image data in memory.
10698      + 
10699      + Copyright:
10700      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10701      + 
10702      + See_Also:
10703      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
10704      +/
10705     @OpenGL_Version(OGLIntroducedIn.V1P3)
10706     fn_glCompressedTexImage2D glCompressedTexImage2D;
10707     alias fn_glCompressedTexImage3D = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) @system @nogc nothrow;
10708 
10709     /++
10710      + glCompressedTexImage3D: man4/glCompressedTexImage3D.xml
10711      + 
10712      + Texturing allows elements of an image array to be read by shaders. $(D_INLINECODE glCompressedTexImage3D) loads a previously defined, and retrieved, compressed three-dimensional texture image if $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_3D) (see $(D_INLINECODE glTexImage3D) ). If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE data) is treated as an array of compressed 2D textures. If $(D_INLINECODE target) is $(D_INLINECODE GL_PROXY_TEXTURE_3D) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_ARRAY), no data is read from $(D_INLINECODE data), but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities.  If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see $(D_INLINECODE glGetError) ). To query for an entire mipmap array, use an image array level greater than or equal to 1. $(D_INLINECODE internalformat) must be a known compressed image format (such as $(D_INLINECODE GL_RGTC) ) or an extension-specified compressed-texture format. When a texture is loaded with $(D_INLINECODE glTexImage2D) using a generic compressed texture format (e.g., $(D_INLINECODE GL_COMPRESSED_RGB) ), the GL selects from one of its extensions supporting compressed textures.  In order to load the compressed texture image using $(D_INLINECODE glCompressedTexImage3D), query the compressed texture image's size and format using $(D_INLINECODE glGetTexLevelParameter). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store. If the compressed data are arranged into fixed-size blocks of texels, the pixel storage modes can be used to select a sub-rectangle from a larger containing rectangle. These pixel storage modes operate in the same way as they do for $(D_INLINECODE glTexImage1D). In the following description, denote by b s, b w, b h, and b d the values of pixel storage modes $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_SIZE), $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_WIDTH), $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_HEIGHT), and $(D_INLINECODE GL_UNPACK_COMPRESSED_BLOCK_DEPTH), respectively. b s is the compressed block size in bytes; b w, b h, and b d are the compressed block width, height, and depth in pixels. By default the pixel storage modes $(D_INLINECODE GL_UNPACK_ROW_LENGTH), $(D_INLINECODE GL_UNPACK_SKIP_ROWS), $(D_INLINECODE GL_UNPACK_SKIP_PIXELS), $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT) and $(D_INLINECODE GL_UNPACK_SKIP_IMAGES) are ignored for compressed images. To enable $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) and $(D_INLINECODE GL_UNPACK_ROW_LENGTH), b s and b w must both be non-zero. To also enable $(D_INLINECODE GL_UNPACK_SKIP_ROWS) and $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT), b h must be non-zero. To also enable $(D_INLINECODE GL_UNPACK_SKIP_IMAGES), b d must be non-zero. All parameters must be consistent with the compressed format to produce the desired results. When selecting a sub-rectangle from a compressed image: $(OL $(LI the value of $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) must be a multiple of b w;) $(LI the value of $(D_INLINECODE GL_UNPACK_SKIP_ROWS) must be a multiple of b w;) $(LI the value of $(D_INLINECODE GL_UNPACK_SKIP_IMAGES) must be a multiple of b w.)) $(D_INLINECODE imageSize) must be equal to: b s &times; width b w &times; height b h &times; depth b d
10713      + 
10714      + Params:
10715      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_PROXY_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_ARRAY).
10716      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10717      +     internalformat = Specifies the format of the compressed image data stored at address $(D_INLINECODE data).
10718      +     width          = Specifies the width of the texture image. All implementations support 3D texture images that are at least 16 texels wide.
10719      +     height         = Specifies the height of the texture image. All implementations support 3D texture images that are at least 16 texels high.
10720      +     depth          = Specifies the depth of the texture image. All implementations support 3D texture images that are at least 16 texels deep.
10721      +     border         = This value must be 0.
10722      +     imageSize      = Specifies the number of unsigned bytes of image data starting at the address specified by $(D_INLINECODE data).
10723      +     data           = Specifies a pointer to the compressed image data in memory.
10724      + 
10725      + Copyright:
10726      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10727      + 
10728      + See_Also:
10729      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
10730      +/
10731     @OpenGL_Version(OGLIntroducedIn.V1P3)
10732     fn_glCompressedTexImage3D glCompressedTexImage3D;
10733     alias fn_glCompressedTexSubImage1D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid* data) @system @nogc nothrow;
10734 
10735     /++
10736      + glCompressedTexSubImage1D: man4/glCompressedTexSubImage1D.xml
10737      + 
10738      + Texturing allows elements of an image array to be read by shaders. $(D_INLINECODE glCompressedTexSubImage1D) and $(D_INLINECODE glCompressedTextureSubImage1D) redefine a contiguous subregion of an existing one-dimensional texture image. The texels referenced by $(D_INLINECODE data) replace the portion of the existing texture array with x indices $(D_INLINECODE xoffset) and xoffset + width - 1, inclusive.  This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. $(D_INLINECODE internalformat) must be a known compressed image format (such as $(D_INLINECODE GL_RGTC) ) or an extension-specified compressed-texture format. The $(D_INLINECODE format) of the compressed texture image is selected by the GL implementation that compressed it (see $(D_INLINECODE glTexImage1D) ), and should be queried at the time the texture was compressed with $(D_INLINECODE glGetTexLevelParameter). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store.
10739      + 
10740      + Params:
10741      +     target    = Specifies the target, to which the texture is bound, for $(D_INLINECODE glCompressedTexSubImage1D) function. Must be $(D_INLINECODE GL_TEXTURE_1D).
10742      +     texture   = Specifies the texture object name for $(D_INLINECODE glCompressedTextureSubImage1D) function.
10743      +     level     = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10744      +     xoffset   = Specifies a texel offset in the x direction within the texture array.
10745      +     width     = Specifies the width of the texture subimage.
10746      +     format    = Specifies the format of the compressed image data stored at address $(D_INLINECODE data).
10747      +     imageSize = Specifies the number of unsigned bytes of image data starting at the address specified by $(D_INLINECODE data).
10748      +     data      = Specifies a pointer to the compressed image data in memory.
10749      + 
10750      + Copyright:
10751      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10752      + 
10753      + See_Also:
10754      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
10755      +/
10756     @OpenGL_Version(OGLIntroducedIn.V1P3)
10757     fn_glCompressedTexSubImage1D glCompressedTexSubImage1D;
10758     alias fn_glCompressedTextureSubImage1D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
10759     /// Ditto
10760     @OpenGL_Version(OGLIntroducedIn.V4P5)
10761     @OpenGL_Extension("GL_ARB_direct_state_access")
10762     fn_glCompressedTextureSubImage1D glCompressedTextureSubImage1D;
10763     alias fn_glCompressedTexSubImage2D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data) @system @nogc nothrow;
10764 
10765     /++
10766      + glCompressedTexSubImage2D: man4/glCompressedTexSubImage2D.xml
10767      + 
10768      + Texturing allows elements of an image array to be read by shaders. $(D_INLINECODE glCompressedTexSubImage2D) and $(D_INLINECODE glCompressedTextureSubImage2D) redefine a contiguous subregion of an existing two-dimensional texture image. The texels referenced by $(D_INLINECODE data) replace the portion of the existing texture array with x indices $(D_INLINECODE xoffset) and xoffset + width - 1, and the y indices $(D_INLINECODE yoffset) and yoffset + height - 1, inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. $(D_INLINECODE internalformat) must be a known compressed image format (such as $(D_INLINECODE GL_RGTC) ) or an extension-specified compressed-texture format. The $(D_INLINECODE format) of the compressed texture image is selected by the GL implementation that compressed it (see $(D_INLINECODE glTexImage2D) ) and should be queried at the time the texture was compressed with $(D_INLINECODE glGetTexLevelParameter). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store.
10769      + 
10770      + Params:
10771      +     target    = Specifies the target to which the texture is bound for $(D_INLINECODE glCompressedTexSubImage2D) function. Must be $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z).
10772      +     texture   = Specifies the texture object name for $(D_INLINECODE glCompressedTextureSubImage2D) function.
10773      +     level     = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10774      +     xoffset   = Specifies a texel offset in the x direction within the texture array.
10775      +     yoffset   = Specifies a texel offset in the y direction within the texture array.
10776      +     width     = Specifies the width of the texture subimage.
10777      +     height    = Specifies the height of the texture subimage.
10778      +     format    = Specifies the format of the compressed image data stored at address $(D_INLINECODE data).
10779      +     imageSize = Specifies the number of unsigned bytes of image data starting at the address specified by $(D_INLINECODE data).
10780      +     data      = Specifies a pointer to the compressed image data in memory.
10781      + 
10782      + Copyright:
10783      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10784      + 
10785      + See_Also:
10786      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
10787      +/
10788     @OpenGL_Version(OGLIntroducedIn.V1P3)
10789     fn_glCompressedTexSubImage2D glCompressedTexSubImage2D;
10790     alias fn_glCompressedTextureSubImage2D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
10791     /// Ditto
10792     @OpenGL_Version(OGLIntroducedIn.V4P5)
10793     @OpenGL_Extension("GL_ARB_direct_state_access")
10794     fn_glCompressedTextureSubImage2D glCompressedTextureSubImage2D;
10795     alias fn_glCompressedTexSubImage3D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) @system @nogc nothrow;
10796 
10797     /++
10798      + glCompressedTexSubImage3D: man4/glCompressedTexSubImage3D.xml
10799      + 
10800      + Texturing allows elements of an image array to be read by shaders. $(D_INLINECODE glCompressedTexSubImage3D) and $(D_INLINECODE glCompressedTextureSubImage3D) redefine a contiguous subregion of an existing three-dimensional texture image. The texels referenced by $(D_INLINECODE data) replace the portion of the existing texture array with x indices $(D_INLINECODE xoffset) and xoffset + width - 1, and the y indices $(D_INLINECODE yoffset) and yoffset + height - 1, and the z indices $(D_INLINECODE zoffset) and zoffset + depth - 1, inclusive.  This region may not include any texels outside the range of the texture array as it was originally specified.  It is not an error to specify a subtexture with width of 0, but such a specification has no effect. $(D_INLINECODE internalformat) must be a known compressed image format (such as $(D_INLINECODE GL_RGTC) ) or an extension-specified compressed-texture format. The $(D_INLINECODE format) of the compressed texture image is selected by the GL implementation that compressed it (see $(D_INLINECODE glTexImage3D) ) and should be queried at the time the texture was compressed with $(D_INLINECODE glGetTexLevelParameter). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store.
10801      + 
10802      + Params:
10803      +     target    = Specifies the target to which the texture is bound for $(D_INLINECODE glCompressedTexSubImage3D) function. Must be $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY).
10804      +     texture   = Specifies the texture object name for $(D_INLINECODE glCompressedTextureSubImage3D) function.
10805      +     level     = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10806      +     xoffset   = Specifies a texel offset in the x direction within the texture array.
10807      +     yoffset   = Specifies a texel offset in the y direction within the texture array.
10808      +     width     = Specifies the width of the texture subimage.
10809      +     height    = Specifies the height of the texture subimage.
10810      +     depth     = Specifies the depth of the texture subimage.
10811      +     format    = Specifies the format of the compressed image data stored at address $(D_INLINECODE data).
10812      +     imageSize = Specifies the number of unsigned bytes of image data starting at the address specified by $(D_INLINECODE data).
10813      +     data      = Specifies a pointer to the compressed image data in memory.
10814      + 
10815      + Copyright:
10816      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10817      + 
10818      + See_Also:
10819      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
10820      +/
10821     @OpenGL_Version(OGLIntroducedIn.V1P3)
10822     fn_glCompressedTexSubImage3D glCompressedTexSubImage3D;
10823     alias fn_glCompressedTextureSubImage3D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
10824     /// Ditto
10825     @OpenGL_Version(OGLIntroducedIn.V4P5)
10826     @OpenGL_Extension("GL_ARB_direct_state_access")
10827     fn_glCompressedTextureSubImage3D glCompressedTextureSubImage3D;
10828     alias fn_glCopyBufferSubData = extern(C) void function(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) @system @nogc nothrow;
10829 
10830     /++
10831      + glCopyBufferSubData: man4/glCopyBufferSubData.xml
10832      + 
10833      + $(D_INLINECODE glCopyBufferSubData) and $(D_INLINECODE glCopyNamedBufferSubData) copy part of the data store attached to a source buffer object to the data store attached to a destination buffer object. The number of basic machine units indicated by $(D_INLINECODE size) is copied from the source at offset $(D_INLINECODE readOffset) to the destination at $(D_INLINECODE writeOffset). $(D_INLINECODE readOffset), $(D_INLINECODE writeOffset) and $(D_INLINECODE size) are in terms of basic machine units. For $(D_INLINECODE glCopyBufferSubData), $(D_INLINECODE readTarget) and $(D_INLINECODE writeTarget) specify the targets to which the source and destination buffer objects are bound, and must each be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage Any of these targets may be used, but the targets $(D_INLINECODE GL_COPY_READ_BUFFER) and $(D_INLINECODE GL_COPY_WRITE_BUFFER) are provided specifically to allow copies between buffers without disturbing other GL state. $(D_INLINECODE readOffset), $(D_INLINECODE writeOffset) and $(D_INLINECODE size) must all be greater than or equal to zero. Furthermore, $readOffset+size$ must not exceeed the size of the source buffer object, and $writeOffset+size$ must not exceeed the size of the buffer bound to $(D_INLINECODE writeTarget). If the source and destination are the same buffer object, then the source and destination ranges must not overlap.
10834      + 
10835      + The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
10836      + 
10837      + Params:
10838      +     readTarget  = Specifies the target to which the source buffer object is bound for $(D_INLINECODE glCopyBufferSubData)
10839      +     writeTarget = Specifies the target to which the destination buffer object is bound for $(D_INLINECODE glCopyBufferSubData).
10840      +     readBuffer  = Specifies the name of the source buffer object for $(D_INLINECODE glCopyNamedBufferSubData).
10841      +     writeBuffer = Specifies the name of the destination buffer object for $(D_INLINECODE glCopyNamedBufferSubData).
10842      +     readOffset  = Specifies the offset, in basic machine units, within the data store of the source buffer object at which data will be read.
10843      +     writeOffset = Specifies the offset, in basic machine units, within the data store of the destination buffer object at which data will be written.
10844      +     size        = Specifies the size, in basic machine units, of the data to be copied from the source buffer object to the destination buffer object.
10845      + 
10846      + Copyright:
10847      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10848      + 
10849      + See_Also:
10850      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferData), $(D_INLINECODE glBufferSubData), $(D_INLINECODE glGetBufferSubData), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glMapBufferRange)
10851      +/
10852     @OpenGL_Version(OGLIntroducedIn.V3P1)
10853     @OpenGL_Extension("GL_ARB_copy_buffer")
10854     fn_glCopyBufferSubData glCopyBufferSubData;
10855     alias fn_glCopyNamedBufferSubData = extern(C) void function(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) @system @nogc nothrow;
10856     /// Ditto
10857     @OpenGL_Version(OGLIntroducedIn.V4P5)
10858     @OpenGL_Extension("GL_ARB_direct_state_access")
10859     fn_glCopyNamedBufferSubData glCopyNamedBufferSubData;
10860     alias fn_glCopyImageSubData = extern(C) void function(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) @system @nogc nothrow;
10861 
10862     /++
10863      + glCopyImageSubData: man4/glCopyImageSubData.xml
10864      + 
10865      + $(D_INLINECODE glCopyImageSubData) may be used to copy data from one image (i.e. texture or renderbuffer) to another. $(D_INLINECODE glCopyImageSubData) does not perform general-purpose conversions such as scaling, resizing, blending, color-space, or format conversions. It should be considered to operate in a manner similar to a CPU memcpy. CopyImageSubData can copy between images with different internal formats, provided the formats are compatible. $(D_INLINECODE glCopyImageSubData) also allows copying between certain types of compressed and uncompressed internal formats. This copy does not perform on-the-fly compression or decompression. When copying from an uncompressed internal format to a compressed internal format, each texel of uncompressed data becomes a single block of compressed data. When copying from a compressed internal format to an uncompressed internal format, a block of compressed data becomes a single texel of uncompressed data. The texel size of the uncompressed format must be the same size the block size of the compressed formats. Thus it is permitted to copy between a 128-bit uncompressed format and a compressed format which uses 8-bit 4x4 blocks, or between a 64-bit uncompressed format and a compressed format which uses 4-bit 4x4 blocks. The source object is identified by $(D_INLINECODE srcName) and $(D_INLINECODE srcTarget) and the destination object is identified by $(D_INLINECODE dstName) and $(D_INLINECODE dstTarget). The interpretation of the name depends on the value of the corresponding $(D_INLINECODE target) parameter. If $(D_INLINECODE target) is $(D_INLINECODE GL_RENDERBUFFER), the name is interpreted as the name of a renderbuffer object.  If the target parameter is a texture target, the name is interpreted as a texture object.  All non-proxy texture targets are accepted, with the exception of $(D_INLINECODE GL_TEXTURE_BUFFER) and the cubemap face selectors. $(D_INLINECODE srcLevel) and $(D_INLINECODE dstLevel) identify the source and destination level of detail.  For textures, this must be a valid level of detail in the texture object.  For renderbuffers, this value must be zero. $(D_INLINECODE srcX), $(D_INLINECODE srcY), and $(D_INLINECODE srcZ) specify the lower left texel coordinates of a $(D_INLINECODE srcWidth) -wide by $(D_INLINECODE srcHeight) -high by $(D_INLINECODE srcDepth) -deep rectangular subregion of the source texel array. Similarly, $(D_INLINECODE dstX), $(D_INLINECODE dstY) and $(D_INLINECODE dstZ) specify the coordinates of a subregion of the destination texel array.  The source and destination subregions must be contained entirely within the specified level of the corresponding image objects. The dimensions are always specified in texels, even for compressed texture formats. However, it should be noted that if only one of the source and destination textures is compressed then the number of texels touched in the compressed image will be a factor of the block size larger than in the uncompressed image. Slices of a $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) $(D_INLINECODE GL_TEXTURE_3D) and faces of $(D_INLINECODE GL_TEXTURE_CUBE_MAP) are all compatible provided they share a compatible internal format, and multiple slices or faces may be copied between these objects with a single call by specifying the starting slice with $(D_INLINECODE srcZ) and $(D_INLINECODE dstZ), and the number of slices to be copied with $(D_INLINECODE srcDepth).  Cubemap textures always have six faces which are selected by a zero-based face index. For the purposes of CopyImageSubData, two internal formats are considered compatible if any of the following conditions are met: $(OL $(LI the formats are the same,) $(LI the formats are considered compatible according to the compatibility rules used for texture views as defined in section 3.9.X. In particular, if both internal formats are listed in the same entry of Table 3.X.2, they are considered compatible, or) $(LI one format is compressed and the other is uncompressed and Table 4.X.1 lists the two formats in the same row.)) If the formats are not compatible, an INVALID_OPERATION error is generated.<h3> Sized Internal Formats</h3> $(B Texel / Block Size) $(B Uncompressed Internal Format) $(B Compressed Internal Format(s)) 64-bit $(D_INLINECODE GL_RGBA32UI), $(D_INLINECODE GL_RGBA32I), $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_COMPRESSED_RGBA_S3TC_DXT3_EXT), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT), $(D_INLINECODE GL_COMPRESSED_RGBA_S3TC_DXT5_EXT), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT), $(D_INLINECODE GL_COMPRESSED_RG_RGTC2), $(D_INLINECODE GL_COMPRESSED_SIGNED_RG_RGTC2), $(D_INLINECODE GL_COMPRESSED_RGBA_BPTC_UNORM), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM), $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT), $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT) 128-bit $(D_INLINECODE GL_RGBA16UI), $(D_INLINECODE GL_RGBA16I), $(D_INLINECODE GL_RGBA16F), $(D_INLINECODE GL_RG32F), $(D_INLINECODE GL_RG32UI), $(D_INLINECODE GL_RG32I), $(D_INLINECODE GL_RGBA16), $(D_INLINECODE GL_RGBA16_SNORM) $(D_INLINECODE GL_COMPRESSED_RGB_S3TC_DXT1_EXT), $(D_INLINECODE GL_COMPRESSED_SRGB_S3TC_DXT1_EXT), $(D_INLINECODE GL_COMPRESSED_RGBA_S3TC_DXT1_EXT), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT), $(D_INLINECODE GL_COMPRESSED_RED_RGTC1), $(D_INLINECODE GL_COMPRESSED_SIGNED_RED_RGTC1)
10866      + 
10867      + Params:
10868      +     srcName   = The name of a texture or renderbuffer object from which to copy.
10869      +     srcTarget = The target representing the namespace of the source name $(D_INLINECODE srcName).
10870      +     srcLevel  = The mipmap level to read from the source.
10871      +     srcX      = The X coordinate of the left edge of the souce region to copy.
10872      +     srcY      = The Y coordinate of the top edge of the souce region to copy.
10873      +     srcZ      = The Z coordinate of the near edge of the souce region to copy.
10874      +     dstName   = The name of a texture or renderbuffer object to which to copy.
10875      +     dstTarget = The target representing the namespace of the destination name $(D_INLINECODE dstName).
10876      +     dstX      = The X coordinate of the left edge of the destination region.
10877      +     dstY      = The Y coordinate of the top edge of the destination region.
10878      +     dstZ      = The Z coordinate of the near edge of the destination region.
10879      +     srcWidth  = The width of the region to be copied.
10880      +     srcHeight = The height of the region to be copied.
10881      +     srcDepth  = The depth of the region to be copied.
10882      + 
10883      + Copyright:
10884      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
10885      + 
10886      + See_Also:
10887      +     $(D_INLINECODE glDispatchComputeIndirect).
10888      +/
10889     @OpenGL_Version(OGLIntroducedIn.V4P3)
10890     @OpenGL_Extension("GL_ARB_copy_image")
10891     fn_glCopyImageSubData glCopyImageSubData;
10892     alias fn_glCopyTexImage1D = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) @system @nogc nothrow;
10893 
10894     /++
10895      + glCopyTexImage1D: man4/glCopyTexImage1D.xml
10896      + 
10897      + $(D_INLINECODE glCopyTexImage1D) defines a one-dimensional texture image with pixels from the current $(D_INLINECODE GL_READ_BUFFER). The screen-aligned pixel row with left corner at x y and with a length of width defines the texture array at the mipmap level specified by $(D_INLINECODE level). $(D_INLINECODE internalformat) specifies the internal format of the texture array. The pixels in the row are processed exactly as if $(D_INLINECODE glReadPixels) had been called, but the process stops just before final conversion. At this point all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. Pixel ordering is such that lower x screen coordinates correspond to lower texture coordinates. If any of the pixels within the specified row of the current $(D_INLINECODE GL_READ_BUFFER) are outside the window associated with the current rendering context, then the values obtained for those pixels are undefined. $(D_INLINECODE glCopyTexImage1D) defines a one-dimensional texture image with pixels from the current $(D_INLINECODE GL_READ_BUFFER). When $(D_INLINECODE internalformat) is one of the sRGB  types, the GL does not automatically convert the source pixels to the sRGB color space.  In this case, the $(D_INLINECODE glPixelMap) function can be used to accomplish the conversion.
10898      + 
10899      + 1, 2, 3, and 4 are not accepted values for $(D_INLINECODE internalformat). An image with 0 width indicates a null texture.
10900      +  $(D_INLINECODE GL_STENCIL_INDEX8) is accepted for $(D_INLINECODE internalformat) only if the GL version is 4.4 or higher.
10901      + 
10902      + Params:
10903      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_1D).
10904      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10905      +     internalformat = Specifies the internal format of the texture. Must be one of the following symbolic constants: $(D_INLINECODE GL_COMPRESSED_RED), $(D_INLINECODE GL_COMPRESSED_RG), $(D_INLINECODE GL_COMPRESSED_RGB), $(D_INLINECODE GL_COMPRESSED_RGBA). $(D_INLINECODE GL_COMPRESSED_SRGB), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA). $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_COMPONENT16), $(D_INLINECODE GL_DEPTH_COMPONENT24), $(D_INLINECODE GL_DEPTH_COMPONENT32), $(D_INLINECODE GL_STENCIL_INDEX8), $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_R3_G3_B2), $(D_INLINECODE GL_RGB4), $(D_INLINECODE GL_RGB5), $(D_INLINECODE GL_RGB8), $(D_INLINECODE GL_RGB10), $(D_INLINECODE GL_RGB12), $(D_INLINECODE GL_RGB16), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_RGBA2), $(D_INLINECODE GL_RGBA4), $(D_INLINECODE GL_RGB5_A1), $(D_INLINECODE GL_RGBA8), $(D_INLINECODE GL_RGB10_A2), $(D_INLINECODE GL_RGBA12), $(D_INLINECODE GL_RGBA16), $(D_INLINECODE GL_SRGB), $(D_INLINECODE GL_SRGB8), $(D_INLINECODE GL_SRGB_ALPHA), or $(D_INLINECODE GL_SRGB8_ALPHA8).
10906      +     x              = Specify the window coordinates of the left corner of the row of pixels to be copied.
10907      +     width          = Specifies the width of the texture image. The height of the texture image is 1.
10908      +     border         = Must be 0.
10909      + 
10910      + Copyright:
10911      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2012-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10912      + 
10913      + See_Also:
10914      +     $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexParameter)
10915      +/
10916     @OpenGL_Version(OGLIntroducedIn.V1P1)
10917     fn_glCopyTexImage1D glCopyTexImage1D;
10918     alias fn_glCopyTexImage2D = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) @system @nogc nothrow;
10919 
10920     /++
10921      + glCopyTexImage2D: man4/glCopyTexImage2D.xml
10922      + 
10923      + $(D_INLINECODE glCopyTexImage2D) defines a two-dimensional texture image, or cube-map texture image with pixels from the current $(D_INLINECODE GL_READ_BUFFER). The screen-aligned pixel rectangle with lower left corner at ( $(D_INLINECODE x), $(D_INLINECODE y) ) and with a width of width and a height of height defines the texture array at the mipmap level specified by $(D_INLINECODE level). $(D_INLINECODE internalformat) specifies the internal format of the texture array. The pixels in the rectangle are processed exactly as if $(D_INLINECODE glReadPixels) had been called, but the process stops just before final conversion. At this point all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. Pixel ordering is such that lower x and y screen coordinates correspond to lower s and t texture coordinates. If any of the pixels within the specified rectangle of the current $(D_INLINECODE GL_READ_BUFFER) are outside the window associated with the current rendering context, then the values obtained for those pixels are undefined. When $(D_INLINECODE internalformat) is one of the sRGB  types, the GL does not automatically convert the source pixels to the sRGB color space.  In this case, the $(D_INLINECODE glPixelMap) function can be used to accomplish the conversion.
10924      + 
10925      + 1, 2, 3, and 4 are not accepted values for $(D_INLINECODE internalformat). An image with height or width of 0 indicates a null texture.
10926      +  $(D_INLINECODE GL_STENCIL_INDEX8) is accepted for $(D_INLINECODE internalformat) only if the GL version is 4.4 or higher.
10927      + 
10928      + Params:
10929      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z).
10930      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10931      +     internalformat = Specifies the internal format of the texture. Must be one of the following symbolic constants: $(D_INLINECODE GL_COMPRESSED_RED), $(D_INLINECODE GL_COMPRESSED_RG), $(D_INLINECODE GL_COMPRESSED_RGB), $(D_INLINECODE GL_COMPRESSED_RGBA). $(D_INLINECODE GL_COMPRESSED_SRGB), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA). $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_COMPONENT16), $(D_INLINECODE GL_DEPTH_COMPONENT24), $(D_INLINECODE GL_DEPTH_COMPONENT32), $(D_INLINECODE GL_STENCIL_INDEX8), $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_R3_G3_B2), $(D_INLINECODE GL_RGB4), $(D_INLINECODE GL_RGB5), $(D_INLINECODE GL_RGB8), $(D_INLINECODE GL_RGB10), $(D_INLINECODE GL_RGB12), $(D_INLINECODE GL_RGB16), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_RGBA2), $(D_INLINECODE GL_RGBA4), $(D_INLINECODE GL_RGB5_A1), $(D_INLINECODE GL_RGBA8), $(D_INLINECODE GL_RGB10_A2), $(D_INLINECODE GL_RGBA12), $(D_INLINECODE GL_RGBA16), $(D_INLINECODE GL_SRGB), $(D_INLINECODE GL_SRGB8), $(D_INLINECODE GL_SRGB_ALPHA), or $(D_INLINECODE GL_SRGB8_ALPHA8).
10932      +     x              = Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
10933      +     width          = Specifies the width of the texture image.
10934      +     height         = Specifies the height of the texture image.
10935      +     border         = Must be 0.
10936      + 
10937      + Copyright:
10938      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2012-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10939      + 
10940      + See_Also:
10941      +     $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexParameter)
10942      +/
10943     @OpenGL_Version(OGLIntroducedIn.V1P1)
10944     fn_glCopyTexImage2D glCopyTexImage2D;
10945     alias fn_glCopyTexSubImage1D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
10946 
10947     /++
10948      + glCopyTexSubImage1D: man4/glCopyTexSubImage1D.xml
10949      + 
10950      + $(D_INLINECODE glCopyTexSubImage1D) and $(D_INLINECODE glCopyTextureSubImage1D) replace a portion of a one-dimensional texture image with pixels from the current $(D_INLINECODE GL_READ_BUFFER) (rather than from main memory, as is the case for $(D_INLINECODE glTexSubImage1D) ). For $(D_INLINECODE glCopyTexSubImage1D), the texture object that is bound to $(D_INLINECODE target) will be used for the process. For $(D_INLINECODE glCopyTextureSubImage1D), $(D_INLINECODE texture) tells which texture object should be used for the purpose of the call. The screen-aligned pixel row with left corner at ( $(D_INLINECODE x),\ $(D_INLINECODE y) ), and with length $(D_INLINECODE width) replaces the portion of the texture array with x indices $(D_INLINECODE xoffset) through xoffset + width - 1, inclusive. The destination in the texture array may not include any texels outside the texture array as it was originally specified. The pixels in the row are processed exactly as if $(D_INLINECODE glReadPixels) had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. It is not an error to specify a subtexture with zero width, but such a specification has no effect. If any of the pixels within the specified row of the current $(D_INLINECODE GL_READ_BUFFER) are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined. No change is made to the or parameters of the specified texture array or to texel values outside the specified subregion.
10951      + 
10952      + The $(D_INLINECODE glPixelStore) mode affects texture images.
10953      + 
10954      + Params:
10955      +     target  = Specifies the target to which the texture object is bound for $(D_INLINECODE glCopyTexSubImage1D) function. Must be $(D_INLINECODE GL_TEXTURE_1D).
10956      +     texture = Specifies the texture object name for $(D_INLINECODE glCopyTextureSubImage1D) function.
10957      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10958      +     xoffset = Specifies the texel offset within the texture array.
10959      +     x       = Specify the window coordinates of the left corner of the row of pixels to be copied.
10960      +     width   = Specifies the width of the texture subimage.
10961      + 
10962      + Copyright:
10963      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2012-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10964      + 
10965      + See_Also:
10966      +     $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glReadBuffer), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
10967      +/
10968     @OpenGL_Version(OGLIntroducedIn.V1P1)
10969     fn_glCopyTexSubImage1D glCopyTexSubImage1D;
10970     alias fn_glCopyTextureSubImage1D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
10971     /// Ditto
10972     @OpenGL_Version(OGLIntroducedIn.V4P5)
10973     @OpenGL_Extension("GL_ARB_direct_state_access")
10974     fn_glCopyTextureSubImage1D glCopyTextureSubImage1D;
10975     alias fn_glCopyTexSubImage2D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
10976 
10977     /++
10978      + glCopyTexSubImage2D: man4/glCopyTexSubImage2D.xml
10979      + 
10980      + $(D_INLINECODE glCopyTexSubImage2D) and $(D_INLINECODE glCopyTextureSubImage2D) replace a rectangular portion of a two-dimensional texture image, cube-map texture image, rectangular image, or a linear portion of a number of slices of a one-dimensional array texture with pixels from the current $(D_INLINECODE GL_READ_BUFFER) (rather than from main memory, as is the case for $(D_INLINECODE glTexSubImage2D) ). The screen-aligned pixel rectangle with lower left corner at x y and with width $(D_INLINECODE width) and height $(D_INLINECODE height) replaces the portion of the texture array with x indices $(D_INLINECODE xoffset) through xoffset + width - 1, inclusive, and y indices $(D_INLINECODE yoffset) through yoffset + height - 1, inclusive, at the mipmap level specified by $(D_INLINECODE level). The pixels in the rectangle are processed exactly as if $(D_INLINECODE glReadPixels) had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range $[0,1]$ and then converted to the texture's internal format for storage in the texel array. The destination rectangle in the texture array may not include any texels outside the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. When $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D_ARRAY) then the y coordinate and height are treated as the start slice and number of slices to modify. If any of the pixels within the specified rectangle of the current $(D_INLINECODE GL_READ_BUFFER) are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined. No change is made to the,, or, parameters of the specified texture array or to texel values outside the specified subregion.
10981      + 
10982      + $(D_INLINECODE glPixelStore) modes affect texture images.
10983      + 
10984      + Params:
10985      +     target  = Specifies the target to which the texture object is bound for $(D_INLINECODE glCopyTexSubImage2D) function. Must be $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), or $(D_INLINECODE GL_TEXTURE_RECTANGLE).
10986      +     texture = Specifies the texture object name for $(D_INLINECODE glCopyTextureSubImage2D) function.
10987      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
10988      +     xoffset = Specifies a texel offset in the x direction within the texture array.
10989      +     yoffset = Specifies a texel offset in the y direction within the texture array.
10990      +     x       = Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
10991      +     width   = Specifies the width of the texture subimage.
10992      +     height  = Specifies the height of the texture subimage.
10993      + 
10994      + Copyright:
10995      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2012-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
10996      + 
10997      + See_Also:
10998      +     $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glReadBuffer), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
10999      +/
11000     @OpenGL_Version(OGLIntroducedIn.V1P1)
11001     fn_glCopyTexSubImage2D glCopyTexSubImage2D;
11002     alias fn_glCopyTextureSubImage2D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
11003     /// Ditto
11004     @OpenGL_Version(OGLIntroducedIn.V4P5)
11005     @OpenGL_Extension("GL_ARB_direct_state_access")
11006     fn_glCopyTextureSubImage2D glCopyTextureSubImage2D;
11007     alias fn_glCopyTexSubImage3D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
11008 
11009     /++
11010      + glCopyTexSubImage3D: man4/glCopyTexSubImage3D.xml
11011      + 
11012      + $(D_INLINECODE glCopyTexSubImage3D) and $(D_INLINECODE glCopyTextureSubImage3D) functions replace a rectangular portion of a three-dimensional or two-dimensional array texture image with pixels from the current $(D_INLINECODE GL_READ_BUFFER) (rather than from main memory, as is the case for $(D_INLINECODE glTexSubImage3D) ). The screen-aligned pixel rectangle with lower left corner at ( $(D_INLINECODE x), $(D_INLINECODE y) ) and with width $(D_INLINECODE width) and height $(D_INLINECODE height) replaces the portion of the texture array with x indices $(D_INLINECODE xoffset) through xoffset + width - 1, inclusive, and y indices $(D_INLINECODE yoffset) through yoffset + height - 1, inclusive, at z index $(D_INLINECODE zoffset) and at the mipmap level specified by $(D_INLINECODE level). The pixels in the rectangle are processed exactly as if $(D_INLINECODE glReadPixels) had been called, but the process stops just before final conversion. At this point, all pixel component values are clamped to the range 0 1 and then converted to the texture's internal format for storage in the texel array. The destination rectangle in the texture array may not include any texels outside the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. If any of the pixels within the specified rectangle of the current $(D_INLINECODE GL_READ_BUFFER) are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined. No change is made to the,,,, or parameters of the specified texture array or to texel values outside the specified subregion.
11013      + 
11014      + $(D_INLINECODE glPixelStore) modes affect texture images.
11015      + 
11016      + Params:
11017      +     target  = Specifies the target to which the texture object is bound for $(D_INLINECODE glCopyTexSubImage3D) function. Must be $(D_INLINECODE GL_TEXTURE_3D) or $(D_INLINECODE GL_TEXTURE_2D_ARRAY).
11018      +     texture = Specifies the texture object name for $(D_INLINECODE glCopyTextureSubImage3D) function.
11019      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
11020      +     xoffset = Specifies a texel offset in the x direction within the texture array.
11021      +     yoffset = Specifies a texel offset in the y direction within the texture array.
11022      +     zoffset = Specifies a texel offset in the z direction within the texture array.
11023      +     x       = Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
11024      +     width   = Specifies the width of the texture subimage.
11025      +     height  = Specifies the height of the texture subimage.
11026      + 
11027      + Copyright:
11028      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2012-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11029      + 
11030      + See_Also:
11031      +     $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glReadBuffer), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
11032      +/
11033     @OpenGL_Version(OGLIntroducedIn.V1P2)
11034     fn_glCopyTexSubImage3D glCopyTexSubImage3D;
11035     alias fn_glCopyTextureSubImage3D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
11036     /// Ditto
11037     @OpenGL_Version(OGLIntroducedIn.V4P5)
11038     @OpenGL_Extension("GL_ARB_direct_state_access")
11039     fn_glCopyTextureSubImage3D glCopyTextureSubImage3D;
11040     alias fn_glCreateBuffers = extern(C) void function(GLsizei n, GLuint* buffers) @system @nogc nothrow;
11041 
11042     /++
11043      + glCreateBuffers: man4/glCreateBuffers.xml
11044      + 
11045      + $(D_INLINECODE glCreateBuffers) returns $(D_INLINECODE n) previously unused buffer names in $(D_INLINECODE buffers), each representing a new buffer object initialized as if it had been bound to an unspecified target.
11046      + 
11047      + Params:
11048      +     n       = Specifies the number of buffer objects to create.
11049      +     buffers = Specifies an array in which names of the new buffer objects are stored.
11050      + 
11051      + Copyright:
11052      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11053      + 
11054      + See_Also:
11055      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glGet), $(D_INLINECODE glIsBuffer)
11056      +/
11057     @OpenGL_Version(OGLIntroducedIn.V4P5)
11058     @OpenGL_Extension("GL_ARB_direct_state_access")
11059     fn_glCreateBuffers glCreateBuffers;
11060     alias fn_glCreateFramebuffers = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
11061 
11062     /++
11063      + glCreateFramebuffers: man4/glCreateFramebuffers.xml
11064      + 
11065      + $(D_INLINECODE glCreateFramebuffers) returns $(D_INLINECODE n) previously unused framebuffer names in $(D_INLINECODE framebuffers), each representing a new framebuffer object initialized to the default state.
11066      + 
11067      + Params:
11068      +     n            = Number of framebuffer objects to create.
11069      +     framebuffers = Specifies an array in which names of the new framebuffer objects are stored.
11070      + 
11071      + Copyright:
11072      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11073      + 
11074      + See_Also:
11075      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glFramebufferTexture), $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D), $(D_INLINECODE glFramebufferTexture3D), $(D_INLINECODE glFramebufferTextureLayer), $(D_INLINECODE glDeleteFramebuffers), $(D_INLINECODE glIsFramebuffer)
11076      +/
11077     @OpenGL_Version(OGLIntroducedIn.V4P5)
11078     @OpenGL_Extension("GL_ARB_direct_state_access")
11079     fn_glCreateFramebuffers glCreateFramebuffers;
11080     alias fn_glCreateProgram = extern(C) GLuint function() @system @nogc nothrow;
11081 
11082     /++
11083      + glCreateProgram: man4/glCreateProgram.xml
11084      + 
11085      + $(D_INLINECODE glCreateProgram) creates an empty program object and returns a non-zero value by which it can be referenced. A program object is an object to which shader objects can be attached. This provides a mechanism to specify the shader objects that will be linked to create a program. It also provides a means for checking the compatibility of the shaders that will be used to create a program (for instance, checking the compatibility between a vertex shader and a fragment shader). When no longer needed as part of a program object, shader objects can be detached. One or more executables are created in a program object by successfully attaching shader objects to it with $(D_INLINECODE glAttachShader), successfully compiling the shader objects with $(D_INLINECODE glCompileShader), and successfully linking the program object with $(D_INLINECODE glLinkProgram). These executables are made part of current state when $(D_INLINECODE glUseProgram) is called. Program objects can be deleted by calling $(D_INLINECODE glDeleteProgram). The memory associated with the program object will be deleted when it is no longer part of current rendering state for any context.
11086      + 
11087      + Like buffer and texture objects, the name space for program objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address space. If the name space is shared across contexts, any attached objects and the data associated with those attached objects are shared as well. Applications are responsible for providing the synchronization across API calls when objects are accessed from different execution threads.
11088      + 
11089      + Params:
11090      + 
11091      + Copyright:
11092      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11093      + 
11094      + See_Also:
11095      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glCreateShader), $(D_INLINECODE glDeleteProgram), $(D_INLINECODE glDetachShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform), $(D_INLINECODE glUseProgram), $(D_INLINECODE glValidateProgram)
11096      +/
11097     @OpenGL_Version(OGLIntroducedIn.V2P0)
11098     fn_glCreateProgram glCreateProgram;
11099     alias fn_glCreateProgramPipelines = extern(C) void function(GLsizei n, GLuint* pipelines) @system @nogc nothrow;
11100 
11101     /++
11102      + glCreateProgramPipelines: man4/glCreateProgramPipelines.xml
11103      + 
11104      + $(D_INLINECODE glCreateProgramPipelines) returns $(D_INLINECODE n) previously unused program pipeline names in $(D_INLINECODE pipelines), each representing a new program pipeline object initialized to the default state.
11105      + 
11106      + Params:
11107      +     n         = Number of program pipeline objects to create.
11108      +     pipelines = Specifies an array in which names of the new program pipeline objects are stored.
11109      + 
11110      + Copyright:
11111      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11112      + 
11113      + See_Also:
11114      +     $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glCreateShader), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glCompileShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glDeleteProgramPipelines), $(D_INLINECODE glIsProgramPipeline)
11115      +/
11116     @OpenGL_Version(OGLIntroducedIn.V4P5)
11117     @OpenGL_Extension("GL_ARB_direct_state_access")
11118     fn_glCreateProgramPipelines glCreateProgramPipelines;
11119     alias fn_glCreateQueries = extern(C) void function(GLenum target, GLsizei n, GLuint* ids) @system @nogc nothrow;
11120 
11121     /++
11122      + glCreateQueries: man4/glCreateQueries.xml
11123      + 
11124      + $(D_INLINECODE glCreateQueries) returns $(D_INLINECODE n) previously unused query object names in $(D_INLINECODE ids), each representing a new query object with the specified $(D_INLINECODE target). $(D_INLINECODE target) may be one of $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE), $(D_INLINECODE GL_TIME_ELAPSED), $(D_INLINECODE GL_TIMESTAMP), $(D_INLINECODE GL_PRIMITIVES_GENERATED) or $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN).
11125      + 
11126      + Params:
11127      +     target = Specifies the target of each created query object.
11128      +     n      = Number of query objects to create.
11129      +     ids    = Specifies an array in which names of the new query objects are stored.
11130      + 
11131      + Copyright:
11132      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11133      + 
11134      + See_Also:
11135      +     $(D_INLINECODE glBeginQuery), $(D_INLINECODE glBeginQueryIndexed), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glEndQuery), $(D_INLINECODE glGenQueries), $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glIsQuery)
11136      +/
11137     @OpenGL_Version(OGLIntroducedIn.V4P5)
11138     @OpenGL_Extension("GL_ARB_direct_state_access")
11139     fn_glCreateQueries glCreateQueries;
11140     alias fn_glCreateRenderbuffers = extern(C) void function(GLsizei n, GLuint* renderbuffers) @system @nogc nothrow;
11141 
11142     /++
11143      + glCreateRenderbuffers: man4/glCreateRenderbuffers.xml
11144      + 
11145      + $(D_INLINECODE glCreateRenderbuffers) returns $(D_INLINECODE n) previously unused renderbuffer object names in $(D_INLINECODE renderbuffers), each representing a new renderbuffer object initialized to the default state.
11146      + 
11147      + Params:
11148      +     n             = Number of renderbuffer objects to create.
11149      +     renderbuffers = Specifies an array in which names of the new renderbuffer objects are stored.
11150      + 
11151      + Copyright:
11152      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11153      + 
11154      + See_Also:
11155      +     $(D_INLINECODE glBindRenderbuffer), $(D_INLINECODE glDeleteRenderbuffers), $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glIsRenderbuffer), $(D_INLINECODE glRenderbufferStorage), $(D_INLINECODE glRenderbufferStorageMultisample)
11156      +/
11157     @OpenGL_Version(OGLIntroducedIn.V4P5)
11158     @OpenGL_Extension("GL_ARB_direct_state_access")
11159     fn_glCreateRenderbuffers glCreateRenderbuffers;
11160     alias fn_glCreateSamplers = extern(C) void function(GLsizei n, GLuint* samplers) @system @nogc nothrow;
11161 
11162     /++
11163      + glCreateSamplers: man4/glCreateSamplers.xml
11164      + 
11165      + $(D_INLINECODE glCreateSamplers) returns $(D_INLINECODE n) previously unused sampler names in $(D_INLINECODE samplers), each representing a new sampler object initialized to the default state.
11166      + 
11167      + Params:
11168      +     n        = Number of sampler objects to create.
11169      +     samplers = Specifies an array in which names of the new sampler objects are stored.
11170      + 
11171      + Copyright:
11172      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11173      + 
11174      + See_Also:
11175      +     $(D_INLINECODE glBindSampler), $(D_INLINECODE glBindTexture), $(D_INLINECODE glDeleteSamplers), $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenSamplers), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetSamplerParameter), $(D_INLINECODE glSamplerParameter)
11176      +/
11177     @OpenGL_Version(OGLIntroducedIn.V4P5)
11178     @OpenGL_Extension("GL_ARB_direct_state_access")
11179     fn_glCreateSamplers glCreateSamplers;
11180     alias fn_glCreateShader = extern(C) GLuint function(GLenum shaderType) @system @nogc nothrow;
11181 
11182     /++
11183      + glCreateShader: man4/glCreateShader.xml
11184      + 
11185      + $(D_INLINECODE glCreateShader) creates an empty shader object and returns a non-zero value by which it can be referenced. A shader object is used to maintain the source code strings that define a shader. $(D_INLINECODE shaderType) indicates the type of shader to be created. Five types of shader are supported. A shader of type $(D_INLINECODE GL_COMPUTE_SHADER) is a shader that is intended to run on the programmable compute processor. A shader of type $(D_INLINECODE GL_VERTEX_SHADER) is a shader that is intended to run on the programmable vertex processor. A shader of type $(D_INLINECODE GL_TESS_CONTROL_SHADER) is a shader that is intended to run on the programmable tessellation processor in the control stage. A shader of type $(D_INLINECODE GL_TESS_EVALUATION_SHADER) is a shader that is intended to run on the programmable tessellation processor in the evaluation stage. A shader of type $(D_INLINECODE GL_GEOMETRY_SHADER) is a shader that is intended to run on the programmable geometry processor. A shader of type $(D_INLINECODE GL_FRAGMENT_SHADER) is a shader that is intended to run on the programmable fragment processor. When created, a shader object's $(D_INLINECODE GL_SHADER_TYPE) parameter is set to either $(D_INLINECODE GL_COMPUTE_SHADER), $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER), depending on the value of $(D_INLINECODE shaderType).
11186      + 
11187      + Like buffer and texture objects, the name space for shader objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address space. If the name space is shared across contexts, any attached objects and the data associated with those attached objects are shared as well. Applications are responsible for providing the synchronization across API calls when objects are accessed from different execution threads. $(D_INLINECODE GL_COMPUTE_SHADER) is available only if the GL version is 4.3 or higher.
11188      + 
11189      + Params:
11190      +     shaderType = Specifies the type of shader to be created. Must be one of $(D_INLINECODE GL_COMPUTE_SHADER), $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER), or $(D_INLINECODE GL_FRAGMENT_SHADER).
11191      + 
11192      + Copyright:
11193      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11194      + 
11195      + See_Also:
11196      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glCompileShader), $(D_INLINECODE glDeleteShader), $(D_INLINECODE glDetachShader), $(D_INLINECODE glShaderSource)
11197      +/
11198     @OpenGL_Version(OGLIntroducedIn.V2P0)
11199     fn_glCreateShader glCreateShader;
11200     alias fn_glCreateShaderProgramv = extern(C) GLuint function(GLenum type, GLsizei count, const char** strings) @system @nogc nothrow;
11201 
11202     /++
11203      + glCreateShaderProgram: man4/glCreateShaderProgram.xml
11204      + 
11205      + $(D_INLINECODE glCreateShaderProgram) creates a program object containing compiled and linked shaders for a single stage specified by $(D_INLINECODE type). $(D_INLINECODE strings) refers to an array of $(D_INLINECODE count) strings from which to create the shader executables. $(D_INLINECODE glCreateShaderProgram) is equivalent (assuming no errors are generated) to:
11206      + 
11207      + ---
11208      + const GLuint shader = glCreateShader(type);
11209      + if (shader) {
11210      +     glShaderSource(shader, count, strings, NULL);
11211      +     glCompileShader(shader);
11212      +     const GLuint program = glCreateProgram();
11213      +     if (program) {
11214      +         GLint compiled = GL_FALSE;
11215      +         glGetShaderiv(shader, GL_COMPILE_STATUS, &amp;compiled);
11216      +         glProgramParameteri(program, GL_PROGRAM_SEPARABLE, GL_TRUE);
11217      +         if (compiled) {
11218      +             glAttachShader(program, shader);
11219      +             glLinkProgram(program);
11220      +             glDetachShader(program, shader);
11221      +         }
11222      +         /* append-shader-info-log-to-program-info-log */
11223      +     }
11224      +     glDeleteShader(shader);
11225      +     return program;
11226      + } else {
11227      +     return 0;
11228      + }
11229      + ---
11230      +  The program object created by $(D_INLINECODE glCreateShaderProgram) has its $(D_INLINECODE GL_PROGRAM_SEPARABLE) status set to $(D_INLINECODE GL_TRUE).
11231      + 
11232      + Params:
11233      +     type    = Specifies the type of shader to create.
11234      +     count   = Specifies the number of source code strings in the array $(D_INLINECODE strings).
11235      +     strings = Specifies the address of an array of pointers to source code strings from which to create the program object.
11236      + 
11237      + Copyright:
11238      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11239      + 
11240      + See_Also:
11241      +     $(D_INLINECODE glCreateShader), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glCompileShader), $(D_INLINECODE glLinkProgram)
11242      +/
11243     @OpenGL_Version(OGLIntroducedIn.V4P1)
11244     @OpenGL_Extension("GL_ARB_separate_shader_objects")
11245     fn_glCreateShaderProgramv glCreateShaderProgramv;
11246     alias fn_glCreateTextures = extern(C) void function(GLenum target, GLsizei n, GLuint* textures) @system @nogc nothrow;
11247 
11248     /++
11249      + glCreateTextures: man4/glCreateTextures.xml
11250      + 
11251      + $(D_INLINECODE glCreateTextures) returns $(D_INLINECODE n) previously unused texture names in $(D_INLINECODE textures), each representing a new texture object of the dimensionality and type specified by $(D_INLINECODE target) and initialized to the default values for that texture type. $(D_INLINECODE target) must be one of $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE GL_TEXTURE_BUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY).
11252      + 
11253      + Params:
11254      +     target   = Specifies the effective texture target of each created texture.
11255      +     n        = Number of texture objects to create.
11256      +     textures = Specifies an array in which names of the new texture objects are stored.
11257      + 
11258      + Copyright:
11259      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11260      + 
11261      + See_Also:
11262      +     $(D_INLINECODE glBindTexture), $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glIsTexture), $(D_INLINECODE glTexBuffer), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage2DMultisample), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage3DMultisample), $(D_INLINECODE glTexParameter)
11263      +/
11264     @OpenGL_Version(OGLIntroducedIn.V4P5)
11265     @OpenGL_Extension("GL_ARB_direct_state_access")
11266     fn_glCreateTextures glCreateTextures;
11267     alias fn_glCreateTransformFeedbacks = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
11268 
11269     /++
11270      + glCreateTransformFeedbacks: man4/glCreateTransformFeedbacks.xml
11271      + 
11272      + $(D_INLINECODE glCreateTransformFeedbacks) returns $(D_INLINECODE n) previously unused transform feedback object names in $(D_INLINECODE ids), each representing a new transform feedback object initialized to the default state.
11273      + 
11274      + Params:
11275      +     n   = Number of transform feedback objects to create.
11276      +     ids = Specifies an array in which names of the new transform feedback objects are stored.
11277      + 
11278      + Copyright:
11279      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11280      + 
11281      + See_Also:
11282      +     $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glBindTransformFeedback), $(D_INLINECODE glDeleteTransformFeedbacks), $(D_INLINECODE glEndTransformFeedback), $(D_INLINECODE glGenTransformFeedbacks), $(D_INLINECODE glIsTransformFeedback), $(D_INLINECODE glPauseTransformFeedback), $(D_INLINECODE glResumeTransformFeedback)
11283      +/
11284     @OpenGL_Version(OGLIntroducedIn.V4P5)
11285     @OpenGL_Extension("GL_ARB_direct_state_access")
11286     fn_glCreateTransformFeedbacks glCreateTransformFeedbacks;
11287     alias fn_glCreateVertexArrays = extern(C) void function(GLsizei n, GLuint* arrays) @system @nogc nothrow;
11288 
11289     /++
11290      + glCreateVertexArrays: man4/glCreateVertexArrays.xml
11291      + 
11292      + $(D_INLINECODE glCreateVertexArrays) returns $(D_INLINECODE n) previously unused vertex array object names in $(D_INLINECODE arrays), each representing a new vertex array object initialized to the default state.
11293      + 
11294      + Params:
11295      +     n      = Number of vertex array objects to create.
11296      +     arrays = Specifies an array in which names of the new vertex array objects are stored.
11297      + 
11298      + Copyright:
11299      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11300      + 
11301      + See_Also:
11302      +     $(D_INLINECODE glBindVertexArray), $(D_INLINECODE glDeleteVertexArrays) $(D_INLINECODE glEnableVertexAttribArray) $(D_INLINECODE glGenVertexArrays), $(D_INLINECODE glIsVertexArray), $(D_INLINECODE glVertexAttribPointer)
11303      +/
11304     @OpenGL_Version(OGLIntroducedIn.V4P5)
11305     @OpenGL_Extension("GL_ARB_direct_state_access")
11306     fn_glCreateVertexArrays glCreateVertexArrays;
11307     alias fn_glCullFace = extern(C) void function(GLenum mode) @system @nogc nothrow;
11308 
11309     /++
11310      + glCullFace: man4/glCullFace.xml
11311      + 
11312      + $(D_INLINECODE glCullFace) specifies whether front- or back-facing facets are culled (as specified by ) when facet culling is enabled. Facet culling is initially disabled. To enable and disable facet culling, call the $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) commands with the argument $(D_INLINECODE GL_CULL_FACE). Facets include triangles, quadrilaterals, polygons, and rectangles. $(D_INLINECODE glFrontFace) specifies which of the clockwise and counterclockwise facets are front-facing and back-facing. See $(D_INLINECODE glFrontFace).
11313      + 
11314      + If $(D_INLINECODE mode) is $(D_INLINECODE GL_FRONT_AND_BACK), no facets are drawn, but other primitives such as points and lines are drawn.
11315      + 
11316      + Params:
11317      +     mode = Specifies whether front- or back-facing facets are candidates for culling. Symbolic constants $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), and $(D_INLINECODE GL_FRONT_AND_BACK) are accepted. The initial value is $(D_INLINECODE GL_BACK).
11318      + 
11319      + Copyright:
11320      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11321      + 
11322      + See_Also:
11323      +     $(D_INLINECODE glEnable), $(D_INLINECODE glFrontFace)
11324      +/
11325     @OpenGL_Version(OGLIntroducedIn.V1P0)
11326     fn_glCullFace glCullFace;
11327     alias fn_glDebugMessageCallback = extern(C) void function(GLDEBUGPROC callback, void* userParam) @system @nogc nothrow;
11328 
11329     /++
11330      + glDebugMessageCallback: man4/glDebugMessageCallback.xml
11331      + 
11332      + $(D_INLINECODE glDebugMessageCallback) sets the current debug output callback function to the function whose address is given in $(D_INLINECODE callback). The callback function should have the following prototype (in C), or be otherwise compatible with such a prototype:
11333      + 
11334      + ---
11335      + typedef void (APIENTRY *DEBUGPROC)(GLenum source,
11336      +         GLenum type,
11337      +         GLuint id,
11338      +         GLenum severity,
11339      +         GLsizei length,
11340      +         const GLchar *message,
11341      +         void *userParam);
11342      + ---
11343      +  This function is defined to have the same calling convention as the GL API functions. In most cases this is defined as $(D_INLINECODE APIENTRY), although it will vary depending on platform, language and compiler. Each time a debug message is generated the debug callback function will be invoked with $(D_INLINECODE source), $(D_INLINECODE type), $(D_INLINECODE id), and $(D_INLINECODE severity) associated with the message, and $(D_INLINECODE length) set to the length of debug message whose character string is in the array pointed to by $(D_INLINECODE message) $(D_INLINECODE userParam) will be set to the value passed in the $(D_INLINECODE userParam) parameter to the most recent call to $(D_INLINECODE glDebugMessageCallback).
11344      + 
11345      + When the GL is in use remotely, the server may not be able to call functions in the client's address space. In such cases, the callback function may not be invoked and the user should retrieve debug messages from the context's debug message log by calling $(D_INLINECODE glGetDebugMessageLog).
11346      + 
11347      + Params:
11348      +     callback  = The address of a callback function that will be called when a debug message is generated.
11349      +     userParam = A user supplied pointer that will be passed on each invocation of $(D_INLINECODE callback).
11350      + 
11351      + Copyright:
11352      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11353      + 
11354      + See_Also:
11355      +     $(D_INLINECODE glDebugMessageControl), $(D_INLINECODE glDebugMessageInsert), $(D_INLINECODE glGetDebugMessageLog).
11356      +/
11357     @OpenGL_Version(OGLIntroducedIn.V4P3)
11358     @OpenGL_Extension("GL_KHR_debug")
11359     fn_glDebugMessageCallback glDebugMessageCallback;
11360     alias fn_glDebugMessageControl = extern(C) void function(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) @system @nogc nothrow;
11361 
11362     /++
11363      + glDebugMessageControl: man4/glDebugMessageControl.xml
11364      + 
11365      + $(D_INLINECODE glDebugMessageControl) controls the reporting of debug messages generated by a debug context. The parameters $(D_INLINECODE source), $(D_INLINECODE type) and $(D_INLINECODE severity) form a filter to select messages from the pool of potential messages generated by the GL. $(D_INLINECODE source) may be $(D_INLINECODE GL_DEBUG_SOURCE_API), $(D_INLINECODE GL_DEBUG_SOURCE_WINDOW_SYSTEM_), $(D_INLINECODE GL_DEBUG_SOURCE_SHADER_COMPILER), $(D_INLINECODE GL_DEBUG_SOURCE_THIRD_PARTY), $(D_INLINECODE GL_DEBUG_SOURCE_APPLICATION), $(D_INLINECODE GL_DEBUG_SOURCE_OTHER) to select messages generated by usage of the GL API, the window system, the shader compiler, third party tools or libraries, explicitly by the application or by some other source, respectively. It may also take the value $(D_INLINECODE GL_DONT_CARE). If $(D_INLINECODE source) is not $(D_INLINECODE GL_DONT_CARE) then only messages whose source matches $(D_INLINECODE source) will be referenced. $(D_INLINECODE type) may be one of $(D_INLINECODE GL_DEBUG_TYPE_ERROR), $(D_INLINECODE GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR), $(D_INLINECODE GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR), $(D_INLINECODE GL_DEBUG_TYPE_PORTABILITY), $(D_INLINECODE GL_DEBUG_TYPE_PERFORMANCE), $(D_INLINECODE GL_DEBUG_TYPE_MARKER), $(D_INLINECODE GL_DEBUG_TYPE_PUSH_GROUP), $(D_INLINECODE GL_DEBUG_TYPE_POP_GROUP), or $(D_INLINECODE GL_DEBUG_TYPE_OTHER) to indicate the type of messages describing GL errors, attempted use of deprecated features, triggering of undefined behavior, portability issues, performance notifications, markers, group push and pop events, and other types of messages, respectively. It may also take the value $(D_INLINECODE GL_DONT_CARE). If $(D_INLINECODE type) is not $(D_INLINECODE GL_DONT_CARE) then only messages whose type matches $(D_INLINECODE type) will be referenced. $(D_INLINECODE severity) may be one of $(D_INLINECODE GL_DEBUG_SEVERITY_LOW), $(D_INLINECODE GL_DEBUG_SEVERITY_MEDIUM), or $(D_INLINECODE GL_DEBUG_SEVERITY_HIGH) to select messages of low, medium or high severity messages or to $(D_INLINECODE GL_DEBUG_SEVERITY_NOTIFICATION) for notifications. It may also take the value $(D_INLINECODE GL_DONT_CARE). If $(D_INLINECODE severity) is not $(D_INLINECODE GL_DONT_CARE) then only messages whose severity matches $(D_INLINECODE severity) will be referenced. $(D_INLINECODE ids) contains a list of $(D_INLINECODE count) message identifiers to select specific messages from the pool of available messages. If $(D_INLINECODE count) is zero then the value of $(D_INLINECODE ids) is ignored. Otherwise, only messages appearing in this list are selected. In this case, $(D_INLINECODE source) and $(D_INLINECODE type) may not be $(D_INLINECODE GL_DONT_CARE) and $(D_INLINECODE severity) must be $(D_INLINECODE GL_DONT_CARE). If $(D_INLINECODE enabled) is $(D_INLINECODE GL_TRUE) then messages that match the filter formed by $(D_INLINECODE source), $(D_INLINECODE type), $(D_INLINECODE severity) and $(D_INLINECODE ids) are enabled. Otherwise, those messages are disabled.
11366      + 
11367      + Although debug messages may be enabled in a non-debug context, the quantity and detail of such messages may be substantially inferior to those in a debug context. In particular, a valid implementation of the debug message queue in a non-debug context may produce no messages at all. $(D_INLINECODE GL_DEBUG_TYPE_MARKER), $(D_INLINECODE GL_DEBUG_TYPE_PUSH_GROUP), $(D_INLINECODE GL_DEBUG_TYPE_POP_GROUP), and $(D_INLINECODE GL_DEBUG_SEVERITY_NOTIFICATION) are available only if the GL version is 4.3 or higher.
11368      + 
11369      + Params:
11370      +     source   = The source of debug messages to enable or disable.
11371      +     type     = The type of debug messages to enable or disable.
11372      +     severity = The severity of debug messages to enable or disable.
11373      +     count    = The length of the array $(D_INLINECODE ids).
11374      +     ids      = The address of an array of unsigned integers contianing the ids of the messages to enable or disable.
11375      +     enabled  = A Boolean flag determining whether the selected messages should be enabled or disabled.
11376      + 
11377      + Copyright:
11378      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11379      + 
11380      + See_Also:
11381      +     $(D_INLINECODE glDebugMessageInsert), $(D_INLINECODE glDebugMessageCallback), $(D_INLINECODE glGetDebugMessageLog).
11382      +/
11383     @OpenGL_Version(OGLIntroducedIn.V4P3)
11384     @OpenGL_Extension("GL_KHR_debug")
11385     fn_glDebugMessageControl glDebugMessageControl;
11386     alias fn_glDebugMessageInsert = extern(C) void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* message) @system @nogc nothrow;
11387 
11388     /++
11389      + glDebugMessageInsert: man4/glDebugMessageInsert.xml
11390      + 
11391      + $(D_INLINECODE glDebugMessageInsert) inserts a user-supplied message into the debug output queue. $(D_INLINECODE source) specifies the source that will be used to classify the message and must be $(D_INLINECODE GL_DEBUG_SOURCE_APPLICATION) or $(D_INLINECODE GL_DEBUG_SOURCE_THIRD_PARTY). All other sources are reserved for use by the GL implementation. $(D_INLINECODE type) indicates the type of the message to be inserted and may be one of $(D_INLINECODE GL_DEBUG_TYPE_ERROR), $(D_INLINECODE GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR), $(D_INLINECODE GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR), $(D_INLINECODE GL_DEBUG_TYPE_PORTABILITY), $(D_INLINECODE GL_DEBUG_TYPE_PERFORMANCE), $(D_INLINECODE GL_DEBUG_TYPE_MARKER), $(D_INLINECODE GL_DEBUG_TYPE_PUSH_GROUP), $(D_INLINECODE GL_DEBUG_TYPE_POP_GROUP), or $(D_INLINECODE GL_DEBUG_TYPE_OTHER). $(D_INLINECODE severity) indicates the severity of the message and may be $(D_INLINECODE GL_DEBUG_SEVERITY_LOW), $(D_INLINECODE GL_DEBUG_SEVERITY_MEDIUM), $(D_INLINECODE GL_DEBUG_SEVERITY_HIGH) or $(D_INLINECODE GL_DEBUG_SEVERITY_NOTIFICATION). $(D_INLINECODE id) is available for application defined use and may be any value. This value will be recorded and used to identify the message. $(D_INLINECODE length) contains a count of the characters in the character array whose address is given in $(D_INLINECODE message). If $(D_INLINECODE length) is negative then $(D_INLINECODE message) is treated as a null-terminated string. The length of the message, whether specified explicitly or implicitly, must be less than or equal to the implementation defined constant $(D_INLINECODE GL_MAX_DEBUG_MESSAGE_LENGTH).
11392      + 
11393      + $(D_INLINECODE GL_DEBUG_TYPE_MARKER), $(D_INLINECODE GL_DEBUG_TYPE_PUSH_GROUP), $(D_INLINECODE GL_DEBUG_TYPE_POP_GROUP), and $(D_INLINECODE GL_DEBUG_SEVERITY_NOTIFICATION) are available only if the GL version is 4.3 or higher.
11394      + 
11395      + Params:
11396      +     source   = The source of the debug message to insert.
11397      +     type     = The type of the debug message insert.
11398      +     id       = The user-supplied identifier of the message to insert.
11399      +     severity = The severity of the debug messages to insert.
11400      +     length   = The length string contained in the character array whose address is given by $(D_INLINECODE message).
11401      +     message  = The address of a character array containing the message to insert.
11402      + 
11403      + Copyright:
11404      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11405      + 
11406      + See_Also:
11407      +     $(D_INLINECODE glDebugMessageControl), $(D_INLINECODE glDebugMessageCallback), $(D_INLINECODE glGetDebugMessageLog).
11408      +/
11409     @OpenGL_Version(OGLIntroducedIn.V4P3)
11410     @OpenGL_Extension("GL_KHR_debug")
11411     fn_glDebugMessageInsert glDebugMessageInsert;
11412     alias fn_glDeleteBuffers = extern(C) void function(GLsizei n, const GLuint* buffers) @system @nogc nothrow;
11413 
11414     /++
11415      + glDeleteBuffers: man4/glDeleteBuffers.xml
11416      + 
11417      + $(D_INLINECODE glDeleteBuffers) deletes $(D_INLINECODE n) buffer objects named by the elements of the array $(D_INLINECODE buffers). After a buffer object is deleted, it has no contents, and its name is free for reuse (for example by $(D_INLINECODE glGenBuffers) ). If a buffer object that is currently bound is deleted, the binding reverts to 0 (the absence of any buffer object). $(D_INLINECODE glDeleteBuffers) silently ignores 0's and names that do not correspond to existing buffer objects.
11418      + 
11419      + Params:
11420      +     n       = Specifies the number of buffer objects to be deleted.
11421      +     buffers = Specifies an array of buffer objects to be deleted.
11422      + 
11423      + Copyright:
11424      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11425      + 
11426      + See_Also:
11427      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glGenBuffers), $(D_INLINECODE glGet)
11428      +/
11429     @OpenGL_Version(OGLIntroducedIn.V1P5)
11430     fn_glDeleteBuffers glDeleteBuffers;
11431     alias fn_glDeleteFramebuffers = extern(C) void function(GLsizei n, GLuint* framebuffers) @system @nogc nothrow;
11432 
11433     /++
11434      + glDeleteFramebuffers: man4/glDeleteFramebuffers.xml
11435      + 
11436      + $(D_INLINECODE glDeleteFramebuffers) deletes the $(D_INLINECODE n) framebuffer objects whose names are stored in the array addressed by $(D_INLINECODE framebuffers). The name zero is reserved by the GL and is silently ignored, should it occur in $(D_INLINECODE framebuffers), as are other unused names. Once a framebuffer object is deleted, its name is again unused and it has no attachments. If a framebuffer that is currently bound to one or more of the targets $(D_INLINECODE GL_DRAW_FRAMEBUFFER) or $(D_INLINECODE GL_READ_FRAMEBUFFER) is deleted, it is as though $(D_INLINECODE glBindFramebuffer) had been executed with the corresponding $(D_INLINECODE target) and $(D_INLINECODE framebuffer) zero.
11437      + 
11438      + Params:
11439      +     n            = Specifies the number of framebuffer objects to be deleted.
11440      +     framebuffers = A pointer to an array containing $(D_INLINECODE n) framebuffer objects to be deleted.
11441      + 
11442      + Copyright:
11443      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11444      + 
11445      + See_Also:
11446      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glCheckFramebufferStatus)
11447      +/
11448     @OpenGL_Version(OGLIntroducedIn.V3P0)
11449     @OpenGL_Extension("GL_ARB_framebuffer_object")
11450     fn_glDeleteFramebuffers glDeleteFramebuffers;
11451     alias fn_glDeleteProgram = extern(C) void function(GLuint program) @system @nogc nothrow;
11452 
11453     /++
11454      + glDeleteProgram: man4/glDeleteProgram.xml
11455      + 
11456      + $(D_INLINECODE glDeleteProgram) frees the memory and invalidates the name associated with the program object specified by $(D_INLINECODE program.) This command effectively undoes the effects of a call to $(D_INLINECODE glCreateProgram). If a program object is in use as part of current rendering state, it will be flagged for deletion, but it will not be deleted until it is no longer part of current state for any rendering context. If a program object to be deleted has shader objects attached to it, those shader objects will be automatically detached but not deleted unless they have already been flagged for deletion by a previous call to $(D_INLINECODE glDeleteShader). A value of 0 for $(D_INLINECODE program) will be silently ignored. To determine whether a program object has been flagged for deletion, call $(D_INLINECODE glGetProgram) with arguments $(D_INLINECODE program) and $(D_INLINECODE GL_DELETE_STATUS).
11457      + 
11458      + Params:
11459      +     program = Specifies the program object to be deleted.
11460      + 
11461      + Copyright:
11462      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11463      + 
11464      + See_Also:
11465      +     $(D_INLINECODE glCreateShader), $(D_INLINECODE glDetachShader), $(D_INLINECODE glUseProgram)
11466      +/
11467     @OpenGL_Version(OGLIntroducedIn.V2P0)
11468     fn_glDeleteProgram glDeleteProgram;
11469     alias fn_glDeleteProgramPipelines = extern(C) void function(GLsizei n, const GLuint* pipelines) @system @nogc nothrow;
11470 
11471     /++
11472      + glDeleteProgramPipelines: man4/glDeleteProgramPipelines.xml
11473      + 
11474      + $(D_INLINECODE glDeleteProgramPipelines) deletes the $(D_INLINECODE n) program pipeline objects whose names are stored in the array $(D_INLINECODE pipelines). Unused names in $(D_INLINECODE pipelines) are ignored, as is the name zero. After a program pipeline object is deleted, its name is again unused and it has no contents. If program pipeline object that is currently bound is deleted, the binding for that object reverts to zero and no program pipeline object becomes current.
11475      + 
11476      + Params:
11477      +     n         = Specifies the number of program pipeline objects to delete.
11478      +     pipelines = Specifies an array of names of program pipeline objects to delete.
11479      + 
11480      + Copyright:
11481      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11482      + 
11483      + See_Also:
11484      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glIsProgramPipeline), $(D_INLINECODE glUseProgramStages), $(D_INLINECODE glUseProgram)
11485      +/
11486     @OpenGL_Version(OGLIntroducedIn.V4P1)
11487     @OpenGL_Extension("GL_ARB_separate_shader_objects")
11488     fn_glDeleteProgramPipelines glDeleteProgramPipelines;
11489     alias fn_glDeleteQueries = extern(C) void function(GLsizei n, const GLuint* ids) @system @nogc nothrow;
11490 
11491     /++
11492      + glDeleteQueries: man4/glDeleteQueries.xml
11493      + 
11494      + $(D_INLINECODE glDeleteQueries) deletes $(D_INLINECODE n) query objects named by the elements of the array $(D_INLINECODE ids). After a query object is deleted, it has no contents, and its name is free for reuse (for example by $(D_INLINECODE glGenQueries) ). $(D_INLINECODE glDeleteQueries) silently ignores 0's and names that do not correspond to existing query objects.
11495      + 
11496      + Params:
11497      +     n   = Specifies the number of query objects to be deleted.
11498      +     ids = Specifies an array of query objects to be deleted.
11499      + 
11500      + Copyright:
11501      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11502      + 
11503      + See_Also:
11504      +     $(D_INLINECODE glBeginQuery), $(D_INLINECODE glEndQuery), $(D_INLINECODE glGenQueries), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glGetQueryObject)
11505      +/
11506     @OpenGL_Version(OGLIntroducedIn.V1P5)
11507     fn_glDeleteQueries glDeleteQueries;
11508     alias fn_glDeleteRenderbuffers = extern(C) void function(GLsizei n, GLuint* renderbuffers) @system @nogc nothrow;
11509 
11510     /++
11511      + glDeleteRenderbuffers: man4/glDeleteRenderbuffers.xml
11512      + 
11513      + $(D_INLINECODE glDeleteRenderbuffers) deletes the $(D_INLINECODE n) renderbuffer objects whose names are stored in the array addressed by $(D_INLINECODE renderbuffers). The name zero is reserved by the GL and is silently ignored, should it occur in $(D_INLINECODE renderbuffers), as are other unused names. Once a renderbuffer object is deleted, its name is again unused and it has no contents. If a renderbuffer that is currently bound to the target $(D_INLINECODE GL_RENDERBUFFER) is deleted, it is as though $(D_INLINECODE glBindRenderbuffer) had been executed with a $(D_INLINECODE target) of $(D_INLINECODE GL_RENDERBUFFER) and a $(D_INLINECODE name) of zero. If a renderbuffer object is attached to one or more attachment points in the currently bound framebuffer, then it as if $(D_INLINECODE glFramebufferRenderbuffer) had been called, with a $(D_INLINECODE renderbuffer) of zero for each attachment point to which this image was attached in the currently bound framebuffer. In other words, this renderbuffer object is first detached from all attachment ponits in the currently bound framebuffer. Note that the renderbuffer image is specifically detached from any non-bound framebuffers.
11514      + 
11515      + Params:
11516      +     n             = Specifies the number of renderbuffer objects to be deleted.
11517      +     renderbuffers = A pointer to an array containing $(D_INLINECODE n) renderbuffer objects to be deleted.
11518      + 
11519      + Copyright:
11520      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11521      + 
11522      + See_Also:
11523      +     $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glRenderbufferStorage), $(D_INLINECODE glRenderbufferStorageMultisample)
11524      +/
11525     @OpenGL_Version(OGLIntroducedIn.V3P0)
11526     @OpenGL_Extension("GL_ARB_framebuffer_object")
11527     fn_glDeleteRenderbuffers glDeleteRenderbuffers;
11528     alias fn_glDeleteSamplers = extern(C) void function(GLsizei n, const GLuint* samplers) @system @nogc nothrow;
11529 
11530     /++
11531      + glDeleteSamplers: man4/glDeleteSamplers.xml
11532      + 
11533      + $(D_INLINECODE glDeleteSamplers) deletes $(D_INLINECODE n) sampler objects named by the elements of the array $(D_INLINECODE samplers). After a sampler object is deleted, its name is again unused. If a sampler object that is currently bound to a sampler unit is deleted, it is as though $(D_INLINECODE glBindSampler) is called with unit set to the unit the sampler is bound to and sampler zero. Unused names in samplers are silently ignored, as is the reserved name zero.
11534      + 
11535      + $(D_INLINECODE glDeleteSamplers) is available only if the GL version is 3.3 or higher.
11536      + 
11537      + Params:
11538      +     n        = Specifies the number of sampler objects to be deleted.
11539      +     samplers = Specifies an array of sampler objects to be deleted.
11540      + 
11541      + Copyright:
11542      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11543      + 
11544      + See_Also:
11545      +     $(D_INLINECODE glGenSamplers), $(D_INLINECODE glBindSampler), $(D_INLINECODE glDeleteSamplers), $(D_INLINECODE glIsSampler)
11546      +/
11547     @OpenGL_Version(OGLIntroducedIn.V3P3)
11548     @OpenGL_Extension("GL_ARB_sampler_objects")
11549     fn_glDeleteSamplers glDeleteSamplers;
11550     alias fn_glDeleteShader = extern(C) void function(GLuint shader) @system @nogc nothrow;
11551 
11552     /++
11553      + glDeleteShader: man4/glDeleteShader.xml
11554      + 
11555      + $(D_INLINECODE glDeleteShader) frees the memory and invalidates the name associated with the shader object specified by $(D_INLINECODE shader). This command effectively undoes the effects of a call to $(D_INLINECODE glCreateShader). If a shader object to be deleted is attached to a program object, it will be flagged for deletion, but it will not be deleted until it is no longer attached to any program object, for any rendering context (i.e., it must be detached from wherever it was attached before it will be deleted). A value of 0 for $(D_INLINECODE shader) will be silently ignored. To determine whether an object has been flagged for deletion, call $(D_INLINECODE glGetShader) with arguments $(D_INLINECODE shader) and $(D_INLINECODE GL_DELETE_STATUS).
11556      + 
11557      + Params:
11558      +     shader = Specifies the shader object to be deleted.
11559      + 
11560      + Copyright:
11561      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11562      + 
11563      + See_Also:
11564      +     $(D_INLINECODE glCreateProgram), $(D_INLINECODE glCreateShader), $(D_INLINECODE glDetachShader), $(D_INLINECODE glUseProgram)
11565      +/
11566     @OpenGL_Version(OGLIntroducedIn.V2P0)
11567     fn_glDeleteShader glDeleteShader;
11568     alias fn_glDeleteSync = extern(C) void function(GLsync sync) @system @nogc nothrow;
11569 
11570     /++
11571      + glDeleteSync: man4/glDeleteSync.xml
11572      + 
11573      + $(D_INLINECODE glDeleteSync) deletes the sync object specified by $(D_INLINECODE sync). If the fence command corresponding to the specified sync object has completed, or if no $(D_INLINECODE glWaitSync) or $(D_INLINECODE glClientWaitSync) commands are blocking on $(D_INLINECODE sync), the object is deleted immediately. Otherwise, $(D_INLINECODE sync) is flagged for deletion and will be deleted when it is no longer associated with any fence command and is no longer blocking any $(D_INLINECODE glWaitSync) or $(D_INLINECODE glClientWaitSync) command. In either case, after $(D_INLINECODE glDeleteSync) returns, the name $(D_INLINECODE sync) is invalid and can no longer be used to refer to the sync object. $(D_INLINECODE glDeleteSync) will silently ignore a $(D_INLINECODE sync) value of zero.
11574      + 
11575      + $(D_INLINECODE glSync) is only supported if the GL version is 3.2 or greater, or if the $(D_INLINECODE ARB_sync) extension is supported.
11576      + 
11577      + Params:
11578      +     sync = The sync object to be deleted.
11579      + 
11580      + Copyright:
11581      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11582      + 
11583      + See_Also:
11584      +     $(D_INLINECODE glFenceSync), $(D_INLINECODE glWaitSync), $(D_INLINECODE glClientWaitSync)
11585      +/
11586     @OpenGL_Version(OGLIntroducedIn.V3P2)
11587     @OpenGL_Extension("GL_ARB_sync")
11588     fn_glDeleteSync glDeleteSync;
11589     alias fn_glDeleteTextures = extern(C) void function(GLsizei n, const GLuint* textures) @system @nogc nothrow;
11590 
11591     /++
11592      + glDeleteTextures: man4/glDeleteTextures.xml
11593      + 
11594      + $(D_INLINECODE glDeleteTextures) deletes $(D_INLINECODE n) textures named by the elements of the array $(D_INLINECODE textures). After a texture is deleted, it has no contents or dimensionality, and its name is free for reuse (for example by $(D_INLINECODE glGenTextures) ). If a texture that is currently bound is deleted, the binding reverts to 0 (the default texture). $(D_INLINECODE glDeleteTextures) silently ignores 0's and names that do not correspond to existing textures.
11595      + 
11596      + Params:
11597      +     n        = Specifies the number of textures to be deleted.
11598      +     textures = Specifies an array of textures to be deleted.
11599      + 
11600      + Copyright:
11601      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11602      + 
11603      + See_Also:
11604      +     $(D_INLINECODE glBindTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexParameter)
11605      +/
11606     @OpenGL_Version(OGLIntroducedIn.V1P1)
11607     fn_glDeleteTextures glDeleteTextures;
11608     alias fn_glDeleteTransformFeedbacks = extern(C) void function(GLsizei n, const GLuint* ids) @system @nogc nothrow;
11609 
11610     /++
11611      + glDeleteTransformFeedbacks: man4/glDeleteTransformFeedbacks.xml
11612      + 
11613      + $(D_INLINECODE glDeleteTransformFeedbacks) deletes the $(D_INLINECODE n) transform feedback objects whose names are stored in the array $(D_INLINECODE ids). Unused names in $(D_INLINECODE ids) are ignored, as is the name zero. After a transform feedback object is deleted, its name is again unused and it has no contents. If an active transform feedback object is deleted, its name immediately becomes unused, but the underlying object is not deleted until it is no longer active.
11614      + 
11615      + Params:
11616      +     n   = Specifies the number of transform feedback objects to delete.
11617      +     ids = Specifies an array of names of transform feedback objects to delete.
11618      + 
11619      + Copyright:
11620      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11621      + 
11622      + See_Also:
11623      +     $(D_INLINECODE glGenTransformFeedbacks), $(D_INLINECODE glBindTransformFeedback), $(D_INLINECODE glIsTransformFeedback), $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glPauseTransformFeedback), $(D_INLINECODE glResumeTransformFeedback), $(D_INLINECODE glEndTransformFeedback)
11624      +/
11625     @OpenGL_Version(OGLIntroducedIn.V4P0)
11626     @OpenGL_Extension("GL_ARB_transform_feedback2")
11627     fn_glDeleteTransformFeedbacks glDeleteTransformFeedbacks;
11628     alias fn_glDeleteVertexArrays = extern(C) void function(GLsizei n, const GLuint* arrays) @system @nogc nothrow;
11629 
11630     /++
11631      + glDeleteVertexArrays: man4/glDeleteVertexArrays.xml
11632      + 
11633      + $(D_INLINECODE glDeleteVertexArrays) deletes $(D_INLINECODE n) vertex array objects whose names are stored in the array addressed by $(D_INLINECODE arrays). Once a vertex array object is deleted it has no contents and its name is again unused. If a vertex array object that is currently bound is deleted, the binding for that object reverts to zero and the default vertex array becomes current. Unused names in $(D_INLINECODE arrays) are silently ignored, as is the value zero.
11634      + 
11635      + Params:
11636      +     n      = Specifies the number of vertex array objects to be deleted.
11637      +     arrays = Specifies the address of an array containing the $(D_INLINECODE n) names of the objects to be deleted.
11638      + 
11639      + Copyright:
11640      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11641      + 
11642      + See_Also:
11643      +     $(D_INLINECODE glGenVertexArrays), $(D_INLINECODE glIsVertexArray), $(D_INLINECODE glBindVertexArray)
11644      +/
11645     @OpenGL_Version(OGLIntroducedIn.V3P0)
11646     @OpenGL_Extension("GL_ARB_vertex_array_object")
11647     fn_glDeleteVertexArrays glDeleteVertexArrays;
11648     alias fn_glDepthFunc = extern(C) void function(GLenum func) @system @nogc nothrow;
11649 
11650     /++
11651      + glDepthFunc: man4/glDepthFunc.xml
11652      + 
11653      + $(D_INLINECODE glDepthFunc) specifies the function used to compare each incoming pixel depth value with the depth value present in the depth buffer. The comparison is performed only if depth testing is enabled. (See $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) of $(D_INLINECODE GL_DEPTH_TEST).) $(D_INLINECODE func) specifies the conditions under which the pixel will be drawn. The comparison functions are as follows: The initial value of $(D_INLINECODE func) is $(D_INLINECODE GL_LESS). Initially, depth testing is disabled.  If depth testing is disabled or if no depth buffer exists, it is as if the depth test always passes.
11654      + 
11655      + Even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. In order to unconditionally write to the depth buffer, the depth test should be enabled and set to $(D_INLINECODE GL_ALWAYS).
11656      + 
11657      + Params:
11658      +     func = Specifies the depth comparison function. Symbolic constants $(D_INLINECODE GL_NEVER), $(D_INLINECODE GL_LESS), $(D_INLINECODE GL_EQUAL), $(D_INLINECODE GL_LEQUAL), $(D_INLINECODE GL_GREATER), $(D_INLINECODE GL_NOTEQUAL), $(D_INLINECODE GL_GEQUAL), and $(D_INLINECODE GL_ALWAYS) are accepted. The initial value is $(D_INLINECODE GL_LESS).
11659      + 
11660      + Copyright:
11661      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11662      + 
11663      + See_Also:
11664      +     $(D_INLINECODE glDepthRange), $(D_INLINECODE glEnable), $(D_INLINECODE glPolygonOffset)
11665      +/
11666     @OpenGL_Version(OGLIntroducedIn.V1P0)
11667     fn_glDepthFunc glDepthFunc;
11668     alias fn_glDepthMask = extern(C) void function(GLboolean flag) @system @nogc nothrow;
11669 
11670     /++
11671      + glDepthMask: man4/glDepthMask.xml
11672      + 
11673      + $(D_INLINECODE glDepthMask) specifies whether the depth buffer is enabled for writing. If $(D_INLINECODE flag) is $(D_INLINECODE GL_FALSE), depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled.
11674      + 
11675      + Even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. In order to unconditionally write to the depth buffer, the depth test should be enabled and set to $(D_INLINECODE GL_ALWAYS) (see $(D_INLINECODE glDepthFunc) ).
11676      + 
11677      + Params:
11678      +     flag = Specifies whether the depth buffer is enabled for writing. If $(D_INLINECODE flag) is $(D_INLINECODE GL_FALSE), depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled.
11679      + 
11680      + Copyright:
11681      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11682      + 
11683      + See_Also:
11684      +     $(D_INLINECODE glColorMask), $(D_INLINECODE glDepthFunc), $(D_INLINECODE glDepthRange), $(D_INLINECODE glStencilMask)
11685      +/
11686     @OpenGL_Version(OGLIntroducedIn.V1P0)
11687     fn_glDepthMask glDepthMask;
11688     alias fn_glDepthRange = extern(C) void function(GLdouble nearVal, GLdouble farVal) @system @nogc nothrow;
11689 
11690     /++
11691      + glDepthRange: man4/glDepthRange.xml
11692      + 
11693      + After clipping and division by, depth coordinates range from -1 to 1, corresponding to the near and far clipping planes. $(D_INLINECODE glDepthRange) specifies a linear mapping of the normalized depth coordinates in this range to window depth coordinates. Regardless of the actual depth buffer implementation, window coordinate depth values are treated as though they range from 0 through 1 (like color components). Thus, the values accepted by $(D_INLINECODE glDepthRange) are both clamped to this range before they are accepted. The setting of (0,1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized.
11694      + 
11695      + It is not necessary that $(D_INLINECODE nearVal) be less than $(D_INLINECODE farVal). Reverse mappings such as nearVal = 1, and farVal = 0 are acceptable. The type of the $(D_INLINECODE nearVal) and $(D_INLINECODE farVal) parameters was changed from GLclampf to GLfloat for $(D_INLINECODE glDepthRangef) and from GLclampd to GLdouble for $(D_INLINECODE glDepthRange). This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
11696      + 
11697      + Params:
11698      +     nearVal = Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.
11699      +     farVal  = Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.
11700      + 
11701      + Copyright:
11702      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11703      + 
11704      + See_Also:
11705      +     $(D_INLINECODE glDepthFunc), $(D_INLINECODE glPolygonOffset), $(D_INLINECODE glViewport), $(D_INLINECODE removedTypes)
11706      +/
11707     @OpenGL_Version(OGLIntroducedIn.V1P0)
11708     fn_glDepthRange glDepthRange;
11709     alias fn_glDepthRangef = extern(C) void function(GLfloat nearVal, GLfloat farVal) @system @nogc nothrow;
11710     /// Ditto
11711     @OpenGL_Version(OGLIntroducedIn.V4P1)
11712     @OpenGL_Extension("GL_ARB_ES2_compatibility")
11713     fn_glDepthRangef glDepthRangef;
11714     alias fn_glDepthRangeArrayv = extern(C) void function(GLuint first, GLsizei count, const GLdouble* v) @system @nogc nothrow;
11715 
11716     /++
11717      + glDepthRangeArray: man4/glDepthRangeArray.xml
11718      + 
11719      + After clipping and division by, depth coordinates range from -1 to 1, corresponding to the near and far clipping planes. Each viewport has an independent depth range specified as a linear mapping of the normalized depth coordinates in this range to window depth coordinates. Regardless of the actual depth buffer implementation, window coordinate depth values are treated as though they range from 0 through 1 (like color components). $(D_INLINECODE glDepthRangeArray) specifies a linear mapping of the normalized depth coordinates in this range to window depth coordinates for each viewport in the range [ $(D_INLINECODE first), $(D_INLINECODE first) + $(D_INLINECODE count) ). Thus, the values accepted by $(D_INLINECODE glDepthRangeArray) are both clamped to this range before they are accepted. The $(D_INLINECODE first) parameter specifies the index of the first viewport whose depth range to modify and must be less than the value of $(D_INLINECODE GL_MAX_VIEWPORTS). $(D_INLINECODE count) specifies the number of viewports whose depth range to modify. $(D_INLINECODE first) + $(D_INLINECODE count) must be less than or equal to the value of $(D_INLINECODE GL_MAX_VIEWPORTS). $(D_INLINECODE v) specifies the address of an array of pairs of double precision floating point values representing the near and far values of the depth range for each viewport, in that order. The setting of (0,1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized.
11720      + 
11721      + It is not necessary that the near plane distance be less than the far plane distance. Reverse mappings such as near = 1, and far = 0 are acceptable. The type of the $(D_INLINECODE v) parameter was changed from GLclampd to GLdouble. This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
11722      + 
11723      + Params:
11724      +     first = Specifies the index of the first viewport whose depth range to update.
11725      +     count = Specifies the number of viewports whose depth range to update.
11726      +     v     = Specifies the address of an array containing the near and far values for the depth range of each modified viewport.
11727      + 
11728      + Copyright:
11729      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11730      + 
11731      + See_Also:
11732      +     $(D_INLINECODE glDepthFunc), $(D_INLINECODE glDepthRange), $(D_INLINECODE glDepthRangeIndexed), $(D_INLINECODE glPolygonOffset), $(D_INLINECODE glViewportArray), $(D_INLINECODE glViewport), $(D_INLINECODE removedTypes)
11733      +/
11734     @OpenGL_Version(OGLIntroducedIn.V4P1)
11735     @OpenGL_Extension("GL_ARB_viewport_array")
11736     fn_glDepthRangeArrayv glDepthRangeArrayv;
11737     alias fn_glDepthRangeIndexed = extern(C) void function(GLuint index, GLdouble nearVal, GLdouble farVal) @system @nogc nothrow;
11738 
11739     /++
11740      + glDepthRangeIndexed: man4/glDepthRangeIndexed.xml
11741      + 
11742      + After clipping and division by, depth coordinates range from -1 to 1, corresponding to the near and far clipping planes. Each viewport has an independent depth range specified as a linear mapping of the normalized depth coordinates in this range to window depth coordinates. Regardless of the actual depth buffer implementation, window coordinate depth values are treated as though they range from 0 through 1 (like color components). $(D_INLINECODE glDepthRangeIndexed) specifies a linear mapping of the normalized depth coordinates in this range to window depth coordinates for a specified viewport. Thus, the values accepted by $(D_INLINECODE glDepthRangeIndexed) are both clamped to this range before they are accepted. The $(D_INLINECODE index) parameter specifies the index of first viewport whose depth range to modify and must be less than the value of $(D_INLINECODE GL_MAX_VIEWPORTS). $(D_INLINECODE nearVal) and $(D_INLINECODE farVal) specify near and far values of the depth range for the specified viewport, respectively. The setting of (0,1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized.
11743      + 
11744      + It is not necessary that the near plane distance be less than the far plane distance. Reverse mappings such as nearVal = 1, and farVal = 0 are acceptable. The type of the $(D_INLINECODE nearVal) and $(D_INLINECODE farVal) parameters was changed from GLclampd to GLdouble. This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
11745      + 
11746      + Params:
11747      +     index   = Specifies the index of the viewport whose depth range to update.
11748      +     nearVal = Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.
11749      +     farVal  = Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.
11750      + 
11751      + Copyright:
11752      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11753      + 
11754      + See_Also:
11755      +     $(D_INLINECODE glDepthFunc), $(D_INLINECODE glDepthRange), $(D_INLINECODE glDepthRangeArray), $(D_INLINECODE glPolygonOffset), $(D_INLINECODE glViewportArray), $(D_INLINECODE glViewport), $(D_INLINECODE removedTypes)
11756      +/
11757     @OpenGL_Version(OGLIntroducedIn.V4P1)
11758     @OpenGL_Extension("GL_ARB_viewport_array")
11759     fn_glDepthRangeIndexed glDepthRangeIndexed;
11760     alias fn_glDetachShader = extern(C) void function(GLuint program, GLuint shader) @system @nogc nothrow;
11761 
11762     /++
11763      + glDetachShader: man4/glDetachShader.xml
11764      + 
11765      + $(D_INLINECODE glDetachShader) detaches the shader object specified by $(D_INLINECODE shader) from the program object specified by $(D_INLINECODE program). This command can be used to undo the effect of the command $(D_INLINECODE glAttachShader). If $(D_INLINECODE shader) has already been flagged for deletion by a call to $(D_INLINECODE glDeleteShader) and it is not attached to any other program object, it will be deleted after it has been detached.
11766      + 
11767      + Params:
11768      +     program = Specifies the program object from which to detach the shader object.
11769      +     shader  = Specifies the shader object to be detached.
11770      + 
11771      + Copyright:
11772      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11773      + 
11774      + See_Also:
11775      +     $(D_INLINECODE glAttachShader)
11776      +/
11777     @OpenGL_Version(OGLIntroducedIn.V2P0)
11778     fn_glDetachShader glDetachShader;
11779     alias fn_glEnable = extern(C) void function(GLenum cap) @system @nogc nothrow;
11780 
11781     /++
11782      + glDisable: man4/glEnable.xml
11783      + 
11784      + $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) enable and disable various capabilities. Use $(D_INLINECODE glIsEnabled) or $(D_INLINECODE glGet) to determine the current setting of any capability. The initial value for each capability with the exception of $(D_INLINECODE GL_DITHER) and $(D_INLINECODE GL_MULTISAMPLE) is $(D_INLINECODE GL_FALSE). The initial value for $(D_INLINECODE GL_DITHER) and $(D_INLINECODE GL_MULTISAMPLE) is $(D_INLINECODE GL_TRUE). Both $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) take a single argument, $(D_INLINECODE cap), which can assume one of the following values: Some of the GL's capabilities are indexed. $(D_INLINECODE glEnablei) and $(D_INLINECODE glDisablei) enable and disable indexed capabilities.
11785      + 
11786      + $(D_INLINECODE GL_PRIMITIVE_RESTART) is available only if the GL version is 3.1 or greater. $(D_INLINECODE GL_TEXTURE_CUBE_MAP_SEAMLESS) is available only if the GL version is 3.2 or greater. $(D_INLINECODE GL_PRIMITIVE_RESTART_FIXED_INDEX) is available only if the GL version is 4.3 or greater. $(D_INLINECODE GL_DEBUG_OUTPUT) and $(D_INLINECODE GL_DEBUG_OUTPUT_SYNCHRONOUS) are available only if the GL version is 4.3 or greater. Any token accepted by $(D_INLINECODE glEnable) or $(D_INLINECODE glDisable) is also accepted by $(D_INLINECODE glEnablei) and $(D_INLINECODE glDisablei), but if the capability is not indexed, the maximum value that $(D_INLINECODE index) may take is zero. In general, passing an indexed capability to $(D_INLINECODE glEnable) or $(D_INLINECODE glDisable) will enable or disable that capability for all indices, resepectively.
11787      + 
11788      + Params:
11789      +     cap   = Specifies a symbolic constant indicating a GL capability.
11790      +     index = Specifies the index of the switch to disable (for $(D_INLINECODE glEnablei) and $(D_INLINECODE glDisablei) only).
11791      + 
11792      + Copyright:
11793      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11794      + 
11795      + See_Also:
11796      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glBlendFunc), $(D_INLINECODE glCullFace), $(D_INLINECODE glDepthFunc), $(D_INLINECODE glDepthRange), $(D_INLINECODE glGet), $(D_INLINECODE glIsEnabled), $(D_INLINECODE glLineWidth), $(D_INLINECODE glLogicOp), $(D_INLINECODE glPointSize), $(D_INLINECODE glPolygonMode), $(D_INLINECODE glPolygonOffset), $(D_INLINECODE glSampleCoverage), $(D_INLINECODE glScissor), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilOp), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D)
11797      +/
11798     @OpenGL_Version(OGLIntroducedIn.V1P0)
11799     fn_glEnable glEnable;
11800     alias fn_glEnableVertexAttribArray = extern(C) void function(GLuint index) @system @nogc nothrow;
11801 
11802     /++
11803      + glDisableVertexArrayAttrib: man4/glEnableVertexAttribArray.xml
11804      + 
11805      + $(D_INLINECODE glEnableVertexAttribArray) and $(D_INLINECODE glEnableVertexArrayAttrib) enable the generic vertex attribute array specified by $(D_INLINECODE index). $(D_INLINECODE glEnableVertexAttribArray) uses currently bound vertex array object for the operation, whereas $(D_INLINECODE glEnableVertexArrayAttrib) updates state of the vertex array object with ID $(D_INLINECODE vaobj). $(D_INLINECODE glDisableVertexAttribArray) and $(D_INLINECODE glDisableVertexArrayAttrib) disable the generic vertex attribute array specified by $(D_INLINECODE index). $(D_INLINECODE glDisableVertexAttribArray) uses currently bound vertex array object for the operation, whereas $(D_INLINECODE glDisableVertexArrayAttrib) updates state of the vertex array object with ID $(D_INLINECODE vaobj). By default, all client-side capabilities are disabled, including all generic vertex attribute arrays. If enabled, the values in the generic vertex attribute array will be accessed and used for rendering when calls are made to vertex array commands such as $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glMultiDrawElements), or $(D_INLINECODE glMultiDrawArrays).
11806      + 
11807      + Params:
11808      +     vaobj = Specifies the name of the vertex array object for $(D_INLINECODE glDisableVertexArrayAttrib) and $(D_INLINECODE glEnableVertexArrayAttrib) functions.
11809      +     index = Specifies the index of the generic vertex attribute to be enabled or disabled.
11810      + 
11811      + Copyright:
11812      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11813      + 
11814      + See_Also:
11815      +     $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glMultiDrawElements), $(D_INLINECODE glVertexAttrib), $(D_INLINECODE glVertexAttribPointer)
11816      +/
11817     @OpenGL_Version(OGLIntroducedIn.V2P0)
11818     fn_glEnableVertexAttribArray glEnableVertexAttribArray;
11819     alias fn_glDisableVertexAttribArray = extern(C) void function(GLuint index) @system @nogc nothrow;
11820     /// Ditto
11821     @OpenGL_Version(OGLIntroducedIn.V2P0)
11822     fn_glDisableVertexAttribArray glDisableVertexAttribArray;
11823     alias fn_glEnableVertexArrayAttrib = extern(C) void function(GLuint vaobj, GLuint index) @system @nogc nothrow;
11824     /// Ditto
11825     @OpenGL_Version(OGLIntroducedIn.V4P5)
11826     @OpenGL_Extension("GL_ARB_direct_state_access")
11827     fn_glEnableVertexArrayAttrib glEnableVertexArrayAttrib;
11828     alias fn_glDisableVertexArrayAttrib = extern(C) void function(GLuint vaobj, GLuint index) @system @nogc nothrow;
11829     /// Ditto
11830     @OpenGL_Version(OGLIntroducedIn.V4P5)
11831     @OpenGL_Extension("GL_ARB_direct_state_access")
11832     fn_glDisableVertexArrayAttrib glDisableVertexArrayAttrib;
11833     alias fn_glDispatchCompute = extern(C) void function(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) @system @nogc nothrow;
11834 
11835     /++
11836      + glDispatchCompute: man4/glDispatchCompute.xml
11837      + 
11838      + $(D_INLINECODE glDispatchCompute) launches one or more compute work groups. Each work group is processed by the active program object for the compute shader stage. While the individual shader invocations within a work group are executed as a unit, work groups are executed completely independently and in unspecified order. $(D_INLINECODE num_groups_x), $(D_INLINECODE num_groups_y) and $(D_INLINECODE num_groups_z) specify the number of local work groups that will be dispatched in the X, Y and Z dimensions, respectively.
11839      + 
11840      + Params:
11841      +     num_groups_x = The number of work groups to be launched in the X dimension.
11842      +     num_groups_y = The number of work groups to be launched in the Y dimension.
11843      +     num_groups_z = The number of work groups to be launched in the Z dimension.
11844      + 
11845      + Copyright:
11846      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11847      + 
11848      + See_Also:
11849      +     $(D_INLINECODE glDispatchComputeIndirect).
11850      +/
11851     @OpenGL_Version(OGLIntroducedIn.V4P3)
11852     @OpenGL_Extension("GL_ARB_compute_shader")
11853     fn_glDispatchCompute glDispatchCompute;
11854     alias fn_glDispatchComputeIndirect = extern(C) void function(GLintptr indirect) @system @nogc nothrow;
11855 
11856     /++
11857      + glDispatchComputeIndirect: man4/glDispatchComputeIndirect.xml
11858      + 
11859      + $(D_INLINECODE glDispatchComputeIndirect) launches one or more compute work groups using parameters stored in the buffer object currently bound to the $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) target. Each work group is processed by the active program object for the compute shader stage. While the individual shader invocations within a work group are executed as a unit, work groups are executed completely independently and in unspecified order. $(D_INLINECODE indirect) contains the offset into the data store of the buffer object bound to the $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) target at which the parameters are stored. The parameters addressed by $(D_INLINECODE indirect) are packed a structure, which takes the form (in C):
11860      + 
11861      + ---
11862      + typedef  struct {
11863      +     uint  num_groups_x;
11864      +     uint  num_groups_y;
11865      +     uint  num_groups_z;
11866      + } DispatchIndirectCommand;
11867      + ---
11868      +  A call to $(D_INLINECODE glDispatchComputeIndirect) is equivalent, assuming no errors are generated, to:
11869      + 
11870      + ---
11871      + cmd = (const DispatchIndirectCommand  *)indirect;
11872      + glDispatchComputeIndirect(cmd-&gt;num_groups_x, cmd-&gt;num_groups_y, cmd-&gt;num_groups_z);
11873      + ---
11874      +  Unlike $(D_INLINECODE glDispatchCompute), no error is generated if any of the $(D_INLINECODE num_groups_x), $(D_INLINECODE num_groups_y) or $(D_INLINECODE num_groups_z) members of the $(D_INLINECODE DispatchIndirectCommand) is larger than the value of $(D_INLINECODE GL_MAX_COMPUTE_WORK_GROUP_COUNT) for the corresponding dimension. In such circumstances, behavior is undefined and may lead to application termination.
11875      + 
11876      + Params:
11877      +     indirect = The offset into the buffer object currently bound to the $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) buffer target at which the dispatch parameters are stored.
11878      + 
11879      + Copyright:
11880      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11881      + 
11882      + See_Also:
11883      +     $(D_INLINECODE glDispatchCompute).
11884      +/
11885     @OpenGL_Version(OGLIntroducedIn.V4P3)
11886     @OpenGL_Extension("GL_ARB_compute_shader")
11887     fn_glDispatchComputeIndirect glDispatchComputeIndirect;
11888     alias fn_glDrawArrays = extern(C) void function(GLenum mode, GLint first, GLsizei count) @system @nogc nothrow;
11889 
11890     /++
11891      + glDrawArrays: man4/glDrawArrays.xml
11892      + 
11893      + $(D_INLINECODE glDrawArrays) specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL procedure to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and colors and use them to construct a sequence of primitives with a single call to $(D_INLINECODE glDrawArrays). When $(D_INLINECODE glDrawArrays) is called, it uses $(D_INLINECODE count) sequential elements from each enabled array to construct a sequence of geometric primitives, beginning with element $(D_INLINECODE first). $(D_INLINECODE mode) specifies what kind of primitives are constructed and how the array elements construct those primitives. Vertex attributes that are modified by $(D_INLINECODE glDrawArrays) have an unspecified value after $(D_INLINECODE glDrawArrays) returns. Attributes that aren't modified remain well defined.
11894      + 
11895      + $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
11896      + 
11897      + Params:
11898      +     mode  = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
11899      +     first = Specifies the starting index in the enabled arrays.
11900      +     count = Specifies the number of indices to be rendered.
11901      + 
11902      + Copyright:
11903      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
11904      + 
11905      + See_Also:
11906      +     $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements),
11907      +/
11908     @OpenGL_Version(OGLIntroducedIn.V1P1)
11909     fn_glDrawArrays glDrawArrays;
11910     alias fn_glDrawArraysIndirect = extern(C) void function(GLenum mode, const void* indirect) @system @nogc nothrow;
11911 
11912     /++
11913      + glDrawArraysIndirect: man4/glDrawArraysIndirect.xml
11914      + 
11915      + $(D_INLINECODE glDrawArraysIndirect) specifies multiple geometric primitives with very few subroutine calls. $(D_INLINECODE glDrawArraysIndirect) behaves similarly to $(D_INLINECODE glDrawArraysInstancedBaseInstance), execept that the parameters to $(D_INLINECODE glDrawArraysInstancedBaseInstance) are stored in memory at the address given by $(D_INLINECODE indirect). The parameters addressed by $(D_INLINECODE indirect) are packed into a structure that takes the form (in C):
11916      + 
11917      + ---
11918      + typedef  struct {
11919      +     uint  count;
11920      +     uint  primCount;
11921      +     uint  first;
11922      +     uint  baseInstance;
11923      + } DrawArraysIndirectCommand;
11924      + 
11925      + const DrawArraysIndirectCommand *cmd = (const DrawArraysIndirectCommand *)indirect;
11926      + glDrawArraysInstancedBaseInstance(mode, cmd-&gt;first, cmd-&gt;count, cmd-&gt;primCount, cmd-&gt;baseInstance);
11927      + ---
11928      +  If a buffer is bound to the $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) binding at the time of a call to $(D_INLINECODE glDrawArraysIndirect), $(D_INLINECODE indirect) is interpreted as an offset, in basic machine units, into that buffer and the parameter data is read from the buffer rather than from client memory. In contrast to $(D_INLINECODE glDrawArraysInstancedBaseInstance), the $(D_INLINECODE first) member of the parameter structure is unsigned, and out-of-range indices do not generate an error. Vertex attributes that are modified by $(D_INLINECODE glDrawArraysIndirect) have an unspecified value after $(D_INLINECODE glDrawArraysIndirect) returns. Attributes that aren't modified remain well defined.
11929      + 
11930      + The $(D_INLINECODE baseInstance) member of the $(D_INLINECODE DrawArraysIndirectCommand) structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, this parameter is present but is reserved and should be set to zero. On earlier versions of the GL, behavior is undefined if it is non-zero.
11931      + 
11932      + Params:
11933      +     mode     = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
11934      +     indirect = Specifies the address of a structure containing the draw parameters.
11935      + 
11936      + Copyright:
11937      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11938      + 
11939      + See_Also:
11940      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements),
11941      +/
11942     @OpenGL_Version(OGLIntroducedIn.V4P0)
11943     @OpenGL_Extension("GL_ARB_draw_indirect")
11944     fn_glDrawArraysIndirect glDrawArraysIndirect;
11945     alias fn_glDrawArraysInstanced = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei primcount) @system @nogc nothrow;
11946 
11947     /++
11948      + glDrawArraysInstanced: man4/glDrawArraysInstanced.xml
11949      + 
11950      + $(D_INLINECODE glDrawArraysInstanced) behaves identically to $(D_INLINECODE glDrawArrays) except that $(D_INLINECODE primcount) instances of the range of elements are executed and the value of the internal counter $(D_INLINECODE instanceID) advances for each iteration. $(D_INLINECODE instanceID) is an internal 32-bit integer counter that may be read by a vertex shader as $(D_INLINECODE gl_InstanceID). $(D_INLINECODE glDrawArraysInstanced) has the same effect as:
11951      + 
11952      + ---
11953      + if ( mode or count is invalid )
11954      +     generate appropriate error
11955      + else {
11956      +     for (int i = 0; i &lt; primcount ; i++) {
11957      +         instanceID = i;
11958      +         glDrawArrays(mode, first, count);
11959      +     }
11960      +     instanceID = 0;
11961      + }
11962      + ---
11963      + 
11964      + Params:
11965      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES) $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
11966      +     first     = Specifies the starting index in the enabled arrays.
11967      +     count     = Specifies the number of indices to be rendered.
11968      +     primcount = Specifies the number of instances of the specified range of indices to be rendered.
11969      + 
11970      + Copyright:
11971      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
11972      + 
11973      + See_Also:
11974      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElementsInstanced)
11975      +/
11976     @OpenGL_Version(OGLIntroducedIn.V3P1)
11977     fn_glDrawArraysInstanced glDrawArraysInstanced;
11978     alias fn_glDrawArraysInstancedBaseInstance = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance) @system @nogc nothrow;
11979 
11980     /++
11981      + glDrawArraysInstancedBaseInstance: man4/glDrawArraysInstancedBaseInstance.xml
11982      + 
11983      + $(D_INLINECODE glDrawArraysInstancedBaseInstance) behaves identically to $(D_INLINECODE glDrawArrays) except that $(D_INLINECODE primcount) instances of the range of elements are executed and the value of the internal counter $(D_INLINECODE instanceID) advances for each iteration. $(D_INLINECODE instanceID) is an internal 32-bit integer counter that may be read by a vertex shader as $(D_INLINECODE gl_InstanceID). $(D_INLINECODE glDrawArraysInstancedBaseInstance) has the same effect as:
11984      + 
11985      + ---
11986      + if ( mode or count is invalid )
11987      +     generate appropriate error
11988      + else {
11989      +     for (int i = 0; i &lt; primcount ; i++) {
11990      +         instanceID = i;
11991      +         glDrawArrays(mode, first, count);
11992      +     }
11993      +     instanceID = 0;
11994      + }
11995      + ---
11996      +  Specific vertex attributes may be classified as through the use of $(D_INLINECODE glVertexAttribDivisor). Instanced vertex attributes supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as: gl _ InstanceID divisor &plus; baseInstance. Note that $(D_INLINECODE baseinstance) does not affect the shader-visible value of $(D_INLINECODE gl_InstanceID).
11997      + 
11998      + Params:
11999      +     mode         = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES) $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12000      +     first        = Specifies the starting index in the enabled arrays.
12001      +     count        = Specifies the number of indices to be rendered.
12002      +     primcount    = Specifies the number of instances of the specified range of indices to be rendered.
12003      +     baseinstance = Specifies the base instance for use in fetching instanced vertex attributes.
12004      + 
12005      + Copyright:
12006      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12007      + 
12008      + See_Also:
12009      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElementsInstanced)
12010      +/
12011     @OpenGL_Version(OGLIntroducedIn.V4P2)
12012     @OpenGL_Extension("GL_ARB_base_instance")
12013     fn_glDrawArraysInstancedBaseInstance glDrawArraysInstancedBaseInstance;
12014     alias fn_glDrawBuffer = extern(C) void function(GLenum buf) @system @nogc nothrow;
12015 
12016     /++
12017      + glDrawBuffer: man4/glDrawBuffer.xml
12018      + 
12019      + When colors are written to the frame buffer, they are written into the color buffers specified by $(D_INLINECODE glDrawBuffer). One of the following values can be used for default framebuffer: If more than one color buffer is selected for drawing, then blending or logical operations are computed and applied independently for each color buffer and can produce different results in each buffer. Monoscopic contexts include only buffers, and stereoscopic contexts include both and buffers. Likewise, single-buffered contexts include only buffers, and double-buffered contexts include both and buffers. The context is selected at GL initialization. For framebuffer objects, $(D_INLINECODE GL_COLOR_ATTACHMENT$m$) and $(D_INLINECODE GL_NONE) enums are accepted, where $(D_INLINECODE $m$) is a value between 0 and $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS). glDrawBuffer will set the draw buffer for fragment colors other than zero to $(D_INLINECODE GL_NONE).
12020      + 
12021      + Params:
12022      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferDrawBuffer) function. Must be zero or the name of a framebuffer object.
12023      +     buf         = For default framebuffer, the argument specifies up to four color buffers to be drawn into. Symbolic constants $(D_INLINECODE GL_NONE), $(D_INLINECODE GL_FRONT_LEFT), $(D_INLINECODE GL_FRONT_RIGHT), $(D_INLINECODE GL_BACK_LEFT), $(D_INLINECODE GL_BACK_RIGHT), $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), $(D_INLINECODE GL_LEFT), $(D_INLINECODE GL_RIGHT), and $(D_INLINECODE GL_FRONT_AND_BACK) are accepted. The initial value is $(D_INLINECODE GL_FRONT) for single-buffered contexts, and $(D_INLINECODE GL_BACK) for double-buffered contexts. For framebuffer objects, $(D_INLINECODE GL_COLOR_ATTACHMENT$m$) and $(D_INLINECODE GL_NONE) enums are accepted, where $(D_INLINECODE $m$) is a value between 0 and $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS).
12024      + 
12025      + Copyright:
12026      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12027      + 
12028      + See_Also:
12029      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glColorMask), $(D_INLINECODE glDrawBuffers), $(D_INLINECODE glLogicOp), $(D_INLINECODE glReadBuffer)
12030      +/
12031     @OpenGL_Version(OGLIntroducedIn.V1P0)
12032     fn_glDrawBuffer glDrawBuffer;
12033     alias fn_glNamedFramebufferDrawBuffer = extern(C) void function(GLuint framebuffer, GLenum buf) @system @nogc nothrow;
12034     /// Ditto
12035     @OpenGL_Version(OGLIntroducedIn.V4P5)
12036     @OpenGL_Extension("GL_ARB_direct_state_access")
12037     fn_glNamedFramebufferDrawBuffer glNamedFramebufferDrawBuffer;
12038     alias fn_glDrawBuffers = extern(C) void function(GLsizei n, const GLenum* bufs) @system @nogc nothrow;
12039 
12040     /++
12041      + glDrawBuffers: man4/glDrawBuffers.xml
12042      + 
12043      + $(D_INLINECODE glDrawBuffers) and $(D_INLINECODE glNamedFramebufferDrawBuffers) define an array of buffers into which outputs from the fragment shader data will be written. If a fragment shader writes a value to one or more user defined output variables, then the value of each variable will be written into the buffer specified at a location within $(D_INLINECODE bufs) corresponding to the location assigned to that user defined output. The draw buffer used for user defined outputs assigned to locations greater than or equal to $(D_INLINECODE n) is implicitly set to $(D_INLINECODE GL_NONE) and any data written to such an output is discarded. For $(D_INLINECODE glDrawBuffers), the framebuffer object that is bound to the $(D_INLINECODE GL_DRAW_FRAMEBUFFER) binding will be used. For $(D_INLINECODE glNamedFramebufferDrawBuffers), $(D_INLINECODE framebuffer) is the name of the framebuffer object. If $(D_INLINECODE framebuffer) is zero, then the default framebuffer is affected. The symbolic constants contained in $(D_INLINECODE bufs) may be any of the following: Except for $(D_INLINECODE GL_NONE), the preceding symbolic constants may not appear more than once in $(D_INLINECODE bufs). The maximum number of draw buffers supported is implementation dependent and can be queried by calling $(D_INLINECODE glGet) with the argument $(D_INLINECODE GL_MAX_DRAW_BUFFERS).
12044      + 
12045      + The symbolic constants $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), $(D_INLINECODE GL_LEFT), $(D_INLINECODE GL_RIGHT), and $(D_INLINECODE GL_FRONT_AND_BACK) are not allowed in the $(D_INLINECODE bufs) array since they may refer to multiple buffers. If a fragment shader does not write to a user defined output variable, the values of the fragment colors following shader execution are undefined. For each fragment generated in this situation, a different value may be written into each of the buffers specified by $(D_INLINECODE bufs).
12046      + 
12047      + Params:
12048      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferDrawBuffers).
12049      +     n           = Specifies the number of buffers in $(D_INLINECODE bufs).
12050      +     bufs        = Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
12051      + 
12052      + Copyright:
12053      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12054      + 
12055      + See_Also:
12056      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glColorMask), $(D_INLINECODE glDrawBuffers), $(D_INLINECODE glLogicOp), $(D_INLINECODE glReadBuffer)
12057      +/
12058     @OpenGL_Version(OGLIntroducedIn.V2P0)
12059     fn_glDrawBuffers glDrawBuffers;
12060     alias fn_glNamedFramebufferDrawBuffers = extern(C) void function(GLuint framebuffer, GLsizei n, const GLenum* bufs) @system @nogc nothrow;
12061     /// Ditto
12062     @OpenGL_Version(OGLIntroducedIn.V4P5)
12063     @OpenGL_Extension("GL_ARB_direct_state_access")
12064     fn_glNamedFramebufferDrawBuffers glNamedFramebufferDrawBuffers;
12065     alias fn_glDrawElements = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) @system @nogc nothrow;
12066 
12067     /++
12068      + glDrawElements: man4/glDrawElements.xml
12069      + 
12070      + $(D_INLINECODE glDrawElements) specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and so on, and use them to construct a sequence of primitives with a single call to $(D_INLINECODE glDrawElements). When $(D_INLINECODE glDrawElements) is called, it uses $(D_INLINECODE count) sequential elements from an enabled array, starting at $(D_INLINECODE indices) to construct a sequence of geometric primitives. $(D_INLINECODE mode) specifies what kind of primitives are constructed and how the array elements construct these primitives. If more than one array is enabled, each is used. Vertex attributes that are modified by $(D_INLINECODE glDrawElements) have an unspecified value after $(D_INLINECODE glDrawElements) returns.  Attributes that aren't modified maintain their previous values.
12071      + 
12072      + $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
12073      + 
12074      + Params:
12075      +     mode    = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12076      +     count   = Specifies the number of elements to be rendered.
12077      +     type    = Specifies the type of the values in $(D_INLINECODE indices). Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12078      +     indices = Specifies a pointer to the location where the indices are stored.
12079      + 
12080      + Copyright:
12081      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12082      + 
12083      + See_Also:
12084      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElementsInstanced), $(D_INLINECODE glDrawElementsBaseVertex), $(D_INLINECODE glDrawRangeElements)
12085      +/
12086     @OpenGL_Version(OGLIntroducedIn.V1P1)
12087     fn_glDrawElements glDrawElements;
12088     alias fn_glDrawElementsBaseVertex = extern(C) void function(GLenum mode, GLsizei count, GLenum type, GLvoid* indices, GLint basevertex) @system @nogc nothrow;
12089 
12090     /++
12091      + glDrawElementsBaseVertex: man4/glDrawElementsBaseVertex.xml
12092      + 
12093      + $(D_INLINECODE glDrawElementsBaseVertex) behaves identically to $(D_INLINECODE glDrawElements) except that the th element transferred by the corresponding draw call will be taken from element $(D_INLINECODE indices) [i] + $(D_INLINECODE basevertex) of each enabled array. If the resulting value is larger than the maximum value representable by $(D_INLINECODE type), it is as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow conditions). The operation is undefined if the sum would be negative.
12094      + 
12095      + $(D_INLINECODE glDrawElementsBaseVertex) is only supported if the GL version is 3.2 or greater, or if the $(D_INLINECODE ARB_draw_elements_base_vertex) extension is supported.
12096      + 
12097      + Params:
12098      +     mode       = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12099      +     count      = Specifies the number of elements to be rendered.
12100      +     type       = Specifies the type of the values in indices. Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12101      +     indices    = Specifies a pointer to the location where the indices are stored.
12102      +     basevertex = Specifies a constant that should be added to each element of $(D_INLINECODE indices) when chosing elements from the enabled vertex arrays.
12103      + 
12104      + Copyright:
12105      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12106      + 
12107      + See_Also:
12108      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawRangeElementsBaseVertex), $(D_INLINECODE glDrawElementsInstanced), $(D_INLINECODE glDrawElementsInstancedBaseVertex)
12109      +/
12110     @OpenGL_Version(OGLIntroducedIn.V3P2)
12111     @OpenGL_Extension("GL_ARB_draw_elements_base_vertex")
12112     fn_glDrawElementsBaseVertex glDrawElementsBaseVertex;
12113     alias fn_glDrawElementsIndirect = extern(C) void function(GLenum mode, GLenum type, const void* indirect) @system @nogc nothrow;
12114 
12115     /++
12116      + glDrawElementsIndirect: man4/glDrawElementsIndirect.xml
12117      + 
12118      + $(D_INLINECODE glDrawElementsIndirect) specifies multiple indexed geometric primitives with very few subroutine calls. $(D_INLINECODE glDrawElementsIndirect) behaves similarly to $(D_INLINECODE glDrawElementsInstancedBaseVertexBaseInstance), execpt that the parameters to $(D_INLINECODE glDrawElementsInstancedBaseVertexBaseInstance) are stored in memory at the address given by $(D_INLINECODE indirect). The parameters addressed by $(D_INLINECODE indirect) are packed into a structure that takes the form (in C):
12119      + 
12120      + ---
12121      + typedef  struct {
12122      +     uint  count;
12123      +     uint  primCount;
12124      +     uint  firstIndex;
12125      +     uint  baseVertex;
12126      +     uint  baseInstance;
12127      + } DrawElementsIndirectCommand;
12128      + ---
12129      +  $(D_INLINECODE glDrawElementsIndirect) is equivalent to:
12130      + 
12131      + ---
12132      + void glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) {
12133      +     const DrawElementsIndirectCommand *cmd  = (const DrawElementsIndirectCommand *)indirect;
12134      +     glDrawElementsInstancedBaseVertexBaseInstance(mode,
12135      +                                                   cmd-&gt;count,
12136      +                                                   type,
12137      +                                                   cmd-&gt;firstIndex + size-of-type,
12138      +                                                   cmd-&gt;primCount,
12139      +                                                   cmd-&gt;baseVertex,
12140      +                                                   cmd-&gt;baseInstance);
12141      + }
12142      + ---
12143      +  If a buffer is bound to the $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) binding at the time of a call to $(D_INLINECODE glDrawElementsIndirect), $(D_INLINECODE indirect) is interpreted as an offset, in basic machine units, into that buffer and the parameter data is read from the buffer rather than from client memory. Note that indices stored in client memory are not supported. If no buffer is bound to the $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) binding, an error will be generated. The results of the operation are undefined if the $(D_INLINECODE reservedMustBeZero) member of the parameter structure is non-zero. However, no error is generated in this case. Vertex attributes that are modified by $(D_INLINECODE glDrawElementsIndirect) have an unspecified value after $(D_INLINECODE glDrawElementsIndirect) returns. Attributes that aren't modified remain well defined.
12144      + 
12145      + The $(D_INLINECODE baseInstance) member of the $(D_INLINECODE DrawElementsIndirectCommand) structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, this parameter is present but is reserved and should be set to zero. On earlier versions of the GL, behavior is undefined if it is non-zero.
12146      + 
12147      + Params:
12148      +     mode     = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
12149      +     type     = Specifies the type of data in the buffer bound to the $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) binding.
12150      +     indirect = Specifies the address of a structure containing the draw parameters.
12151      + 
12152      + Copyright:
12153      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12154      + 
12155      + See_Also:
12156      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawArraysIndirect), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements),
12157      +/
12158     @OpenGL_Version(OGLIntroducedIn.V4P0)
12159     @OpenGL_Extension("GL_ARB_draw_indirect")
12160     fn_glDrawElementsIndirect glDrawElementsIndirect;
12161     alias fn_glDrawElementsInstanced = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) @system @nogc nothrow;
12162 
12163     /++
12164      + glDrawElementsInstanced: man4/glDrawElementsInstanced.xml
12165      + 
12166      + $(D_INLINECODE glDrawElementsInstanced) behaves identically to $(D_INLINECODE glDrawElements) except that $(D_INLINECODE primcount) instances of the set of elements are executed and the value of the internal counter $(D_INLINECODE instanceID) advances for each iteration. $(D_INLINECODE instanceID) is an internal 32-bit integer counter that may be read by a vertex shader as $(D_INLINECODE gl_InstanceID). $(D_INLINECODE glDrawElementsInstanced) has the same effect as:
12167      + 
12168      + ---
12169      + if (mode, count, or type is invalid )
12170      +     generate appropriate error
12171      + else {
12172      +     for (int i = 0; i &lt; primcount ; i++) {
12173      +         instanceID = i;
12174      +         glDrawElements(mode, count, type, indices);
12175      +     }
12176      +     instanceID = 0;
12177      + }
12178      + ---
12179      + 
12180      + 
12181      + $(D_INLINECODE glDrawElementsInstanced) is available only if the GL version is 3.1 or greater. $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
12182      + 
12183      + Params:
12184      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12185      +     count     = Specifies the number of elements to be rendered.
12186      +     type      = Specifies the type of the values in $(D_INLINECODE indices). Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12187      +     indices   = Specifies a pointer to the location where the indices are stored.
12188      +     primcount = Specifies the number of instances of the specified range of indices to be rendered.
12189      + 
12190      + Copyright:
12191      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12192      + 
12193      + See_Also:
12194      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawArraysInstanced)
12195      +/
12196     @OpenGL_Version(OGLIntroducedIn.V3P1)
12197     fn_glDrawElementsInstanced glDrawElementsInstanced;
12198     alias fn_glDrawElementsInstancedBaseInstance = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLuint baseinstance) @system @nogc nothrow;
12199 
12200     /++
12201      + glDrawElementsInstancedBaseInstance: man4/glDrawElementsInstancedBaseInstance.xml
12202      + 
12203      + $(D_INLINECODE glDrawElementsInstancedBaseInstance) behaves identically to $(D_INLINECODE glDrawElements) except that $(D_INLINECODE primcount) instances of the set of elements are executed and the value of the internal counter $(D_INLINECODE instanceID) advances for each iteration. $(D_INLINECODE instanceID) is an internal 32-bit integer counter that may be read by a vertex shader as $(D_INLINECODE gl_InstanceID). $(D_INLINECODE glDrawElementsInstancedBaseInstance) has the same effect as:
12204      + 
12205      + ---
12206      + if (mode, count, or type is invalid )
12207      +     generate appropriate error
12208      + else {
12209      +     for (int i = 0; i &lt; primcount ; i++) {
12210      +         instanceID = i;
12211      +         glDrawElements(mode, count, type, indices);
12212      +     }
12213      +     instanceID = 0;
12214      + }
12215      + ---
12216      +  Specific vertex attributes may be classified as through the use of $(D_INLINECODE glVertexAttribDivisor). Instanced vertex attributes supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as gl _ InstanceID divisor &plus; baseInstance. Note that $(D_INLINECODE baseinstance) does not affect the shader-visible value of $(D_INLINECODE gl_InstanceID).
12217      + 
12218      + $(D_INLINECODE glDrawElementsInstancedBaseInstance) is available only if the GL version is 4.2 or greater. $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
12219      + 
12220      + Params:
12221      +     mode         = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12222      +     count        = Specifies the number of elements to be rendered.
12223      +     type         = Specifies the type of the values in $(D_INLINECODE indices). Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12224      +     indices      = Specifies a pointer to the location where the indices are stored.
12225      +     primcount    = Specifies the number of instances of the specified range of indices to be rendered.
12226      +     baseinstance = Specifies the base instance for use in fetching instanced vertex attributes.
12227      + 
12228      + Copyright:
12229      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12230      + 
12231      + See_Also:
12232      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawArraysInstanced)
12233      +/
12234     @OpenGL_Version(OGLIntroducedIn.V4P2)
12235     @OpenGL_Extension("GL_ARB_base_instance")
12236     fn_glDrawElementsInstancedBaseInstance glDrawElementsInstancedBaseInstance;
12237     alias fn_glDrawElementsInstancedBaseVertex = extern(C) void function(GLenum mode, GLsizei count, GLenum type, GLvoid* indices, GLsizei primcount, GLint basevertex) @system @nogc nothrow;
12238 
12239     /++
12240      + glDrawElementsInstancedBaseVertex: man4/glDrawElementsInstancedBaseVertex.xml
12241      + 
12242      + $(D_INLINECODE glDrawElementsInstancedBaseVertex) behaves identically to $(D_INLINECODE glDrawElementsInstanced) except that the th element transferred by the corresponding draw call will be taken from element $(D_INLINECODE indices) [i] + $(D_INLINECODE basevertex) of each enabled array. If the resulting value is larger than the maximum value representable by $(D_INLINECODE type), it is as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow conditions). The operation is undefined if the sum would be negative.
12243      + 
12244      + $(D_INLINECODE glDrawElementsInstancedBaseVertex) is only supported if the GL version is 3.2 or greater.
12245      + 
12246      + Params:
12247      +     mode       = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12248      +     count      = Specifies the number of elements to be rendered.
12249      +     type       = Specifies the type of the values in indices. Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12250      +     indices    = Specifies a pointer to the location where the indices are stored.
12251      +     primcount  = Specifies the number of instances of the indexed geometry that should be drawn.
12252      +     basevertex = Specifies a constant that should be added to each element of $(D_INLINECODE indices) when chosing elements from the enabled vertex arrays.
12253      + 
12254      + Copyright:
12255      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12256      + 
12257      + See_Also:
12258      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawRangeElementsBaseVertex), $(D_INLINECODE glDrawElementsInstanced), $(D_INLINECODE glDrawElementsInstancedBaseVertex)
12259      +/
12260     @OpenGL_Version(OGLIntroducedIn.V3P2)
12261     @OpenGL_Extension("GL_ARB_draw_elements_base_vertex")
12262     fn_glDrawElementsInstancedBaseVertex glDrawElementsInstancedBaseVertex;
12263     alias fn_glDrawElementsInstancedBaseVertexBaseInstance = extern(C) void function(GLenum mode, GLsizei count, GLenum type, GLvoid* indices, GLsizei primcount, GLint basevertex, GLuint baseinstance) @system @nogc nothrow;
12264 
12265     /++
12266      + glDrawElementsInstancedBaseVertexBaseInstance: man4/glDrawElementsInstancedBaseVertexBaseInstance.xml
12267      + 
12268      + $(D_INLINECODE glDrawElementsInstancedBaseVertexBaseInstance) behaves identically to $(D_INLINECODE glDrawElementsInstanced) except that the th element transferred by the corresponding draw call will be taken from element $(D_INLINECODE indices) [i] + $(D_INLINECODE basevertex) of each enabled array. If the resulting value is larger than the maximum value representable by $(D_INLINECODE type), it is as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow conditions). The operation is undefined if the sum would be negative. The $(D_INLINECODE basevertex) has no effect on the shader-visible value of $(D_INLINECODE gl_VertexID). Specific vertex attributes may be classified as through the use of $(D_INLINECODE glVertexAttribDivisor). Instanced vertex attributes supply per-instance vertex data to the vertex shader. The index of the vertex fetched from the enabled instanced vertex attribute arrays is calculated as gl _ InstanceID divisor &plus; baseInstance. Note that $(D_INLINECODE baseinstance) does not affect the shader-visible value of $(D_INLINECODE gl_InstanceID).
12269      + 
12270      + $(D_INLINECODE glDrawElementsInstancedBaseVertex) is only supported if the GL version is 3.2 or greater.
12271      + 
12272      + Params:
12273      +     mode         = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12274      +     count        = Specifies the number of elements to be rendered.
12275      +     type         = Specifies the type of the values in indices. Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12276      +     indices      = Specifies a pointer to the location where the indices are stored.
12277      +     primcount    = Specifies the number of instances of the indexed geometry that should be drawn.
12278      +     basevertex   = Specifies a constant that should be added to each element of $(D_INLINECODE indices) when chosing elements from the enabled vertex arrays.
12279      +     baseinstance = Specifies the base instance for use in fetching instanced vertex attributes.
12280      + 
12281      + Copyright:
12282      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12283      + 
12284      + See_Also:
12285      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawRangeElementsBaseVertex), $(D_INLINECODE glDrawElementsInstanced), $(D_INLINECODE glDrawElementsInstancedBaseVertex)
12286      +/
12287     @OpenGL_Version(OGLIntroducedIn.V4P2)
12288     @OpenGL_Extension("GL_ARB_base_instance")
12289     fn_glDrawElementsInstancedBaseVertexBaseInstance glDrawElementsInstancedBaseVertexBaseInstance;
12290     alias fn_glDrawRangeElements = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices) @system @nogc nothrow;
12291 
12292     /++
12293      + glDrawRangeElements: man4/glDrawRangeElements.xml
12294      + 
12295      + $(D_INLINECODE glDrawRangeElements) is a restricted form of $(D_INLINECODE glDrawElements). $(D_INLINECODE mode), $(D_INLINECODE start), $(D_INLINECODE end), and $(D_INLINECODE count) match the corresponding arguments to $(D_INLINECODE glDrawElements), with the additional constraint that all values in the arrays $(D_INLINECODE count) must lie between $(D_INLINECODE start) and $(D_INLINECODE end), inclusive. Implementations denote recommended maximum amounts of vertex and index data, which may be queried by calling $(D_INLINECODE glGet) with argument $(D_INLINECODE GL_MAX_ELEMENTS_VERTICES) and $(D_INLINECODE GL_MAX_ELEMENTS_INDICES). If end - start + 1 is greater than the value of $(D_INLINECODE GL_MAX_ELEMENTS_VERTICES), or if $(D_INLINECODE count) is greater than the value of $(D_INLINECODE GL_MAX_ELEMENTS_INDICES), then the call may operate at reduced performance.  There is no requirement that all vertices in the range start end be referenced.  However, the implementation may partially process unused vertices, reducing performance from what could be achieved with an optimal index set. When $(D_INLINECODE glDrawRangeElements) is called, it uses $(D_INLINECODE count) sequential elements from an enabled array, starting at $(D_INLINECODE start) to construct a sequence of geometric primitives. $(D_INLINECODE mode) specifies what kind of primitives are constructed, and how the array elements construct these primitives. If more than one array is enabled, each is used. Vertex attributes that are modified by $(D_INLINECODE glDrawRangeElements) have an unspecified value after $(D_INLINECODE glDrawRangeElements) returns. Attributes that aren't modified maintain their previous values.
12296      + 
12297      + $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
12298      + 
12299      + Params:
12300      +     mode    = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12301      +     start   = Specifies the minimum array index contained in $(D_INLINECODE indices).
12302      +     end     = Specifies the maximum array index contained in $(D_INLINECODE indices).
12303      +     count   = Specifies the number of elements to be rendered.
12304      +     type    = Specifies the type of the values in $(D_INLINECODE indices). Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12305      +     indices = Specifies a pointer to the location where the indices are stored.
12306      + 
12307      + Copyright:
12308      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12309      + 
12310      + See_Also:
12311      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawElementsBaseVertex)
12312      +/
12313     @OpenGL_Version(OGLIntroducedIn.V1P2)
12314     fn_glDrawRangeElements glDrawRangeElements;
12315     alias fn_glDrawRangeElementsBaseVertex = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid* indices, GLint basevertex) @system @nogc nothrow;
12316 
12317     /++
12318      + glDrawRangeElementsBaseVertex: man4/glDrawRangeElementsBaseVertex.xml
12319      + 
12320      + $(D_INLINECODE glDrawRangeElementsBaseVertex) is a restricted form of $(D_INLINECODE glDrawElementsBaseVertex). $(D_INLINECODE mode), $(D_INLINECODE start), $(D_INLINECODE end), $(D_INLINECODE count) and $(D_INLINECODE basevertex) match the corresponding arguments to $(D_INLINECODE glDrawElementsBaseVertex), with the additional constraint that all values in the array $(D_INLINECODE indices) must lie between $(D_INLINECODE start) and $(D_INLINECODE end), inclusive, prior to adding $(D_INLINECODE basevertex). Index values lying outside the range [ $(D_INLINECODE start), $(D_INLINECODE end) ] are treated in the same way as $(D_INLINECODE glDrawElementsBaseVertex). The th element transferred by the corresponding draw call will be taken from element $(D_INLINECODE indices) [i] + $(D_INLINECODE basevertex) of each enabled array. If the resulting value is larger than the maximum value representable by $(D_INLINECODE type), it is as if the calculation were upconverted to 32-bit unsigned integers (with wrapping on overflow conditions). The operation is undefined if the sum would be negative.
12321      + 
12322      + Params:
12323      +     mode       = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
12324      +     start      = Specifies the minimum array index contained in $(D_INLINECODE indices).
12325      +     end        = Specifies the maximum array index contained in $(D_INLINECODE indices).
12326      +     count      = Specifies the number of elements to be rendered.
12327      +     type       = Specifies the type of the values in indices. Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
12328      +     indices    = Specifies a pointer to the location where the indices are stored.
12329      +     basevertex = Specifies a constant that should be added to each element of $(D_INLINECODE indices) when chosing elements from the enabled vertex arrays.
12330      + 
12331      + Copyright:
12332      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12333      + 
12334      + See_Also:
12335      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawElementsBaseVertex), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawElementsInstanced), $(D_INLINECODE glDrawElementsInstancedBaseVertex)
12336      +/
12337     @OpenGL_Version(OGLIntroducedIn.V3P2)
12338     @OpenGL_Extension("GL_ARB_draw_elements_base_vertex")
12339     fn_glDrawRangeElementsBaseVertex glDrawRangeElementsBaseVertex;
12340     alias fn_glDrawTransformFeedback = extern(C) void function(GLenum mode, GLuint id) @system @nogc nothrow;
12341 
12342     /++
12343      + glDrawTransformFeedback: man4/glDrawTransformFeedback.xml
12344      + 
12345      + $(D_INLINECODE glDrawTransformFeedback) draws primitives of a type specified by $(D_INLINECODE mode) using a count retrieved from the transform feedback specified by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedback) is equivalent to calling $(D_INLINECODE glDrawArrays) with $(D_INLINECODE mode) as specified, $(D_INLINECODE first) set to zero, and $(D_INLINECODE count) set to the number of vertices captured on vertex stream zero the last time transform feedback was active on the transform feedback object named by $(D_INLINECODE id).
12346      + 
12347      + Params:
12348      +     mode = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
12349      +     id   = Specifies the name of a transform feedback object from which to retrieve a primitive count.
12350      + 
12351      + Copyright:
12352      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12353      + 
12354      + See_Also:
12355      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawTransformFeedbackStream)
12356      +/
12357     @OpenGL_Version(OGLIntroducedIn.V4P0)
12358     @OpenGL_Extension("GL_ARB_transform_feedback2")
12359     fn_glDrawTransformFeedback glDrawTransformFeedback;
12360     alias fn_glDrawTransformFeedbackInstanced = extern(C) void function(GLenum mode, GLuint id, GLsizei primcount) @system @nogc nothrow;
12361 
12362     /++
12363      + glDrawTransformFeedbackInstanced: man4/glDrawTransformFeedbackInstanced.xml
12364      + 
12365      + $(D_INLINECODE glDrawTransformFeedbackInstanced) draws multiple copies of a range of primitives of a type specified by $(D_INLINECODE mode) using a count retrieved from the transform feedback stream specified by $(D_INLINECODE stream) of the transform feedback object specified by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedbackInstanced) is equivalent to calling $(D_INLINECODE glDrawArraysInstanced) with $(D_INLINECODE mode) and $(D_INLINECODE primcount) as specified, $(D_INLINECODE first) set to zero, and $(D_INLINECODE count) set to the number of vertices captured on vertex stream zero the last time transform feedback was active on the transform feedback object named by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedbackInstanced) is equivalent to calling $(D_INLINECODE glDrawTransformFeedbackStreamInstanced) with $(D_INLINECODE stream) set to zero.
12366      + 
12367      + Params:
12368      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
12369      +     id        = Specifies the name of a transform feedback object from which to retrieve a primitive count.
12370      +     primcount = Specifies the number of instances of the geometry to render.
12371      + 
12372      + Copyright:
12373      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12374      + 
12375      + See_Also:
12376      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawTransformFeedback), $(D_INLINECODE glDrawTransformFeedbackStreamInstanced).
12377      +/
12378     @OpenGL_Version(OGLIntroducedIn.V4P2)
12379     @OpenGL_Extension("GL_ARB_transform_feedback_instanced")
12380     fn_glDrawTransformFeedbackInstanced glDrawTransformFeedbackInstanced;
12381     alias fn_glDrawTransformFeedbackStream = extern(C) void function(GLenum mode, GLuint id, GLuint stream) @system @nogc nothrow;
12382 
12383     /++
12384      + glDrawTransformFeedbackStream: man4/glDrawTransformFeedbackStream.xml
12385      + 
12386      + $(D_INLINECODE glDrawTransformFeedbackStream) draws primitives of a type specified by $(D_INLINECODE mode) using a count retrieved from the transform feedback stream specified by $(D_INLINECODE stream) of the transform feedback object specified by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedbackStream) is equivalent to calling $(D_INLINECODE glDrawArrays) with $(D_INLINECODE mode) as specified, $(D_INLINECODE first) set to zero, and $(D_INLINECODE count) set to the number of vertices captured on vertex stream $(D_INLINECODE stream) the last time transform feedback was active on the transform feedback object named by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedback) is equivalent to calling $(D_INLINECODE glDrawTransformFeedbackStream) with $(D_INLINECODE stream) set to zero.
12387      + 
12388      + Params:
12389      +     mode   = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
12390      +     id     = Specifies the name of a transform feedback object from which to retrieve a primitive count.
12391      +     stream = Specifies the index of the transform feedback stream from which to retrieve a primitive count.
12392      + 
12393      + Copyright:
12394      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12395      + 
12396      + See_Also:
12397      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawTransformFeedback)
12398      +/
12399     @OpenGL_Version(OGLIntroducedIn.V4P0)
12400     @OpenGL_Extension("GL_ARB_transform_feedback3")
12401     fn_glDrawTransformFeedbackStream glDrawTransformFeedbackStream;
12402     alias fn_glDrawTransformFeedbackStreamInstanced = extern(C) void function(GLenum mode, GLuint id, GLuint stream, GLsizei primcount) @system @nogc nothrow;
12403 
12404     /++
12405      + glDrawTransformFeedbackStreamInstanced: man4/glDrawTransformFeedbackStreamInstanced.xml
12406      + 
12407      + $(D_INLINECODE glDrawTransformFeedbackStreamInstanced) draws multiple copies of a range of primitives of a type specified by $(D_INLINECODE mode) using a count retrieved from the transform feedback stream specified by $(D_INLINECODE stream) of the transform feedback object specified by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedbackStreamInstanced) is equivalent to calling $(D_INLINECODE glDrawArraysInstanced) with $(D_INLINECODE mode) and $(D_INLINECODE primcount) as specified, $(D_INLINECODE first) set to zero, and $(D_INLINECODE count) set to the number of vertices captured on vertex stream $(D_INLINECODE stream) the last time transform feedback was active on the transform feedback object named by $(D_INLINECODE id). Calling $(D_INLINECODE glDrawTransformFeedbackInstanced) is equivalent to calling $(D_INLINECODE glDrawTransformFeedbackStreamInstanced) with $(D_INLINECODE stream) set to zero.
12408      + 
12409      + Params:
12410      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
12411      +     id        = Specifies the name of a transform feedback object from which to retrieve a primitive count.
12412      +     stream    = Specifies the index of the transform feedback stream from which to retrieve a primitive count.
12413      +     primcount = Specifies the number of instances of the geometry to render.
12414      + 
12415      + Copyright:
12416      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12417      + 
12418      + See_Also:
12419      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawTransformFeedback), $(D_INLINECODE glDrawTransformFeedbackStream).
12420      +/
12421     @OpenGL_Version(OGLIntroducedIn.V4P2)
12422     @OpenGL_Extension("GL_ARB_transform_feedback_instanced")
12423     fn_glDrawTransformFeedbackStreamInstanced glDrawTransformFeedbackStreamInstanced;
12424     alias fn_glFenceSync = extern(C) GLsync function(GLenum condition, GLbitfield flags) @system @nogc nothrow;
12425 
12426     /++
12427      + glFenceSync: man4/glFenceSync.xml
12428      + 
12429      + $(D_INLINECODE glFenceSync) creates a new fence sync object, inserts a fence command into the GL command stream and associates it with that sync object, and returns a non-zero name corresponding to the sync object. When the specified $(D_INLINECODE condition) of the sync object is satisfied by the fence command, the sync object is signaled by the GL, causing any $(D_INLINECODE glWaitSync), $(D_INLINECODE glClientWaitSync) commands blocking in $(D_INLINECODE sync) to. No other state is affected by $(D_INLINECODE glFenceSync) or by the execution of the associated fence command. $(D_INLINECODE condition) must be $(D_INLINECODE GL_SYNC_GPU_COMMANDS_COMPLETE). This condition is satisfied by completion of the fence command corresponding to the sync object and all preceding commands in the same command stream. The sync object will not be signaled until all effects from these commands on GL client and server state and the framebuffer are fully realized. Note that completion of the fence command occurs once the state of the corresponding sync object has been changed, but commands waiting on that sync object may not be unblocked until after the fence command completes.
12430      + 
12431      + $(D_INLINECODE glFenceSync) is only supported if the GL version is 3.2 or greater, or if the $(D_INLINECODE ARB_sync) extension is supported.
12432      + 
12433      + Params:
12434      +     condition = Specifies the condition that must be met to set the sync object's state to signaled. $(D_INLINECODE condition) must be $(D_INLINECODE GL_SYNC_GPU_COMMANDS_COMPLETE).
12435      +     flags     = Specifies a bitwise combination of flags controlling the behavior of the sync object. No flags are presently defined for this operation and $(D_INLINECODE flags) must be zero. $(D_INLINECODE flags) is a placeholder for anticipated future extensions of fence sync object capabilities.
12436      + 
12437      + Copyright:
12438      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12439      + 
12440      + See_Also:
12441      +     $(D_INLINECODE glDeleteSync), $(D_INLINECODE glGetSync), $(D_INLINECODE glWaitSync), $(D_INLINECODE glClientWaitSync)
12442      +/
12443     @OpenGL_Version(OGLIntroducedIn.V3P2)
12444     @OpenGL_Extension("GL_ARB_sync")
12445     fn_glFenceSync glFenceSync;
12446     alias fn_glFinish = extern(C) void function() @system @nogc nothrow;
12447 
12448     /++
12449      + glFinish: man4/glFinish.xml
12450      + 
12451      + $(D_INLINECODE glFinish) does not return until the effects of all previously called GL commands are complete. Such effects include all changes to GL state, all changes to connection state, and all changes to the frame buffer contents.
12452      + 
12453      + $(D_INLINECODE glFinish) requires a round trip to the server.
12454      + 
12455      + Params:
12456      + 
12457      + Copyright:
12458      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12459      + 
12460      + See_Also:
12461      +     $(D_INLINECODE glFlush)
12462      +/
12463     @OpenGL_Version(OGLIntroducedIn.V1P0)
12464     fn_glFinish glFinish;
12465     alias fn_glFlush = extern(C) void function() @system @nogc nothrow;
12466 
12467     /++
12468      + glFlush: man4/glFlush.xml
12469      + 
12470      + Different GL implementations buffer commands in several different locations, including network buffers and the graphics accelerator itself. $(D_INLINECODE glFlush) empties all of these buffers, causing all issued commands to be executed as quickly as they are accepted by the actual rendering engine. Though this execution may not be completed in any particular time period, it does complete in finite time. Because any GL program might be executed over a network, or on an accelerator that buffers commands, all programs should call $(D_INLINECODE glFlush) whenever they count on having all of their previously issued commands completed. For example, call $(D_INLINECODE glFlush) before waiting for user input that depends on the generated image.
12471      + 
12472      + $(D_INLINECODE glFlush) can return at any time. It does not wait until the execution of all previously issued GL commands is complete.
12473      + 
12474      + Params:
12475      + 
12476      + Copyright:
12477      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12478      + 
12479      + See_Also:
12480      +     $(D_INLINECODE glFinish)
12481      +/
12482     @OpenGL_Version(OGLIntroducedIn.V1P0)
12483     fn_glFlush glFlush;
12484     alias fn_glFlushMappedBufferRange = extern(C) void function(GLenum target, GLintptr offset, GLsizeiptr length) @system @nogc nothrow;
12485 
12486     /++
12487      + glFlushMappedBufferRange: man4/glFlushMappedBufferRange.xml
12488      + 
12489      + $(D_INLINECODE glFlushMappedBufferRange) indicates that modifications have been made to a range of a mapped buffer object. The buffer object must previously have been mapped with the $(D_INLINECODE GL_MAP_FLUSH_EXPLICIT_BIT) flag. $(D_INLINECODE offset) and $(D_INLINECODE length) indicate the modified subrange of the mapping, in basic machine units. The specified subrange to flush is relative to the start of the currently mapped range of the buffer. These commands may be called multiple times to indicate distinct subranges of the mapping which require flushing. If a buffer range is mapped with both $(D_INLINECODE GL_MAP_PERSISTENT_BIT) and $(D_INLINECODE GL_MAP_FLUSH_EXPLICIT_BIT) set, then these commands may be called to ensure that data written by the client into the flushed region becomes visible to the server. Data written to a coherent store will always become visible to the server after an unspecified period of time.
12490      + 
12491      + The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
12492      + 
12493      + Params:
12494      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glFlushMappedBufferRange), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
12495      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glFlushMappedNamedBufferRange).
12496      +     offset = Specifies the start of the buffer subrange, in basic machine units.
12497      +     length = Specifies the length of the buffer subrange, in basic machine units.
12498      + 
12499      + Copyright:
12500      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12501      + 
12502      + See_Also:
12503      +     $(D_INLINECODE glMapBufferRange), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
12504      +/
12505     @OpenGL_Version(OGLIntroducedIn.V3P0)
12506     @OpenGL_Extension("GL_ARB_map_buffer_range")
12507     fn_glFlushMappedBufferRange glFlushMappedBufferRange;
12508     alias fn_glFlushMappedNamedBufferRange = extern(C) void function(GLuint buffer, GLintptr offset, GLsizei length) @system @nogc nothrow;
12509     /// Ditto
12510     @OpenGL_Version(OGLIntroducedIn.V4P5)
12511     @OpenGL_Extension("GL_ARB_direct_state_access")
12512     fn_glFlushMappedNamedBufferRange glFlushMappedNamedBufferRange;
12513     alias fn_glFramebufferParameteri = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
12514 
12515     /++
12516      + glFramebufferParameteri: man4/glFramebufferParameteri.xml
12517      + 
12518      + $(D_INLINECODE glFramebufferParameteri) and $(D_INLINECODE glNamedFramebufferParameteri) modify the value of the parameter named $(D_INLINECODE pname) in the specified framebuffer object. There are no modifiable parameters of the default draw and read framebuffer, so they are not valid targets of these commands. For $(D_INLINECODE glFramebufferParameteri), the framebuffer object is that bound to $(D_INLINECODE target), which must be $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). For $(D_INLINECODE glNamedFramebufferParameteri), $(D_INLINECODE framebuffer) is the name of the framebuffer object. $(D_INLINECODE pname) specifies the parameter to be modified. The following values are accepted:
12519      + 
12520      + Params:
12521      +     target      = Specifies the target to which the framebuffer is bound for $(D_INLINECODE glFramebufferParameteri).
12522      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferParameteri).
12523      +     pname       = Specifies the framebuffer parameter to be modified.
12524      +     param       = The new value for the parameter named $(D_INLINECODE pname).
12525      + 
12526      + Copyright:
12527      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12528      + 
12529      + See_Also:
12530      +     $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glCreateFramebuffers), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glFramebufferTexture), $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glGetFramebufferParameter)
12531      +/
12532     @OpenGL_Version(OGLIntroducedIn.V4P3)
12533     @OpenGL_Extension("GL_ARB_framebuffer_no_attachments")
12534     fn_glFramebufferParameteri glFramebufferParameteri;
12535     alias fn_glNamedFramebufferParameteri = extern(C) void function(GLuint framebuffer, GLenum pname, GLint param) @system @nogc nothrow;
12536     /// Ditto
12537     @OpenGL_Version(OGLIntroducedIn.V4P5)
12538     @OpenGL_Extension("GL_ARB_direct_state_access")
12539     fn_glNamedFramebufferParameteri glNamedFramebufferParameteri;
12540     alias fn_glFramebufferRenderbuffer = extern(C) void function(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) @system @nogc nothrow;
12541 
12542     /++
12543      + glFramebufferRenderbuffer: man4/glFramebufferRenderbuffer.xml
12544      + 
12545      + $(D_INLINECODE glFramebufferRenderbuffer) and $(D_INLINECODE glNamedFramebufferRenderbuffer) attaches a renderbuffer as one of the logical buffers of the specified framebuffer object. Renderbuffers cannot be attached to the default draw and read framebuffer, so they are not valid targets of these commands. For $(D_INLINECODE glFramebufferRenderbuffer), the framebuffer object is that bound to $(D_INLINECODE target), which must be $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). For $(D_INLINECODE glNamedFramebufferRenderbuffer), $(D_INLINECODE framebuffer) is the name of the framebuffer object. $(D_INLINECODE renderbuffertarget) must be $(D_INLINECODE GL_RENDERBUFFER). $(D_INLINECODE renderbuffer) must be zero or the name of an existing renderbuffer object of type $(D_INLINECODE renderbuffertarget). If $(D_INLINECODE renderbuffer) is not zero, then the specified renderbuffer will be used as the logical buffer identified by $(D_INLINECODE attachment) of the specified framebuffer object. If $(D_INLINECODE renderbuffer) is zero, then the value of $(D_INLINECODE renderbuffertarget) is ignored. $(D_INLINECODE attachment) specifies the logical attachment of the framebuffer and must be $(D_INLINECODE GL_COLOR_ATTACHMENT), $(D_INLINECODE GL_DEPTH_ATTACHMENT), $(D_INLINECODE GL_STENCIL_ATTACHMENT) or $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT). in may range from zero to the value of $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS) minus one. Setting $(D_INLINECODE attachment) to the value $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT) is a special case causing both the depth and stencil attachments of the specified framebuffer object to be set to $(D_INLINECODE renderbuffer), which should have the base internal format $(D_INLINECODE GL_DEPTH_STENCIL). The value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) for the specified attachment point is set to $(D_INLINECODE GL_RENDERBUFFER) and the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is set to $(D_INLINECODE renderbuffer). All other state values of specified attachment point are set to their default values. No change is made to the state of the renderbuuffer object and any previous attachment to the $(D_INLINECODE attachment) logical buffer of the specified framebuffer object is broken. If $(D_INLINECODE renderbuffer) is zero, these commands will detach the image, if any, identified by the specified attachment point of the specified framebuffer object. All state values of the attachment point are set to their default values.
12546      + 
12547      + Params:
12548      +     target             = Specifies the target to which the framebuffer is bound for $(D_INLINECODE glFramebufferRenderbuffer).
12549      +     framebuffer        = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferRenderbuffer).
12550      +     attachment         = Specifies the attachment point of the framebuffer.
12551      +     renderbuffertarget = Specifies the renderbuffer target. Must be $(D_INLINECODE GL_RENDERBUFFER).
12552      +     renderbuffer       = Specifies the name of an existing renderbuffer object of type $(D_INLINECODE renderbuffertarget) to attach.
12553      + 
12554      + Copyright:
12555      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12556      + 
12557      + See_Also:
12558      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glFramebufferTexture), $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D), $(D_INLINECODE glFramebufferTexture3D)
12559      +/
12560     @OpenGL_Version(OGLIntroducedIn.V3P0)
12561     @OpenGL_Extension("GL_ARB_framebuffer_object")
12562     fn_glFramebufferRenderbuffer glFramebufferRenderbuffer;
12563     alias fn_glNamedFramebufferRenderbuffer = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) @system @nogc nothrow;
12564     /// Ditto
12565     @OpenGL_Version(OGLIntroducedIn.V4P5)
12566     @OpenGL_Extension("GL_ARB_direct_state_access")
12567     fn_glNamedFramebufferRenderbuffer glNamedFramebufferRenderbuffer;
12568     alias fn_glFramebufferTexture = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level) @system @nogc nothrow;
12569 
12570     /++
12571      + glFramebufferTexture: man4/glFramebufferTexture.xml
12572      + 
12573      + These commands attach a selected mipmap level or image of a texture object as one of the logical buffers of the specified framebuffer object. Textures cannot be attached to the default draw and read framebuffer, so they are not valid targets of these commands. For all commands $(D_INLINECODE glNamedFramebufferTexture), the framebuffer object is that bound to $(D_INLINECODE target), which must be $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER), or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). For $(D_INLINECODE glNamedFramebufferTexture), $(D_INLINECODE framebuffer) is the name of the framebuffer object. $(D_INLINECODE attachment) specifies the logical attachment of the framebuffer and must be $(D_INLINECODE GL_COLOR_ATTACHMENT), $(D_INLINECODE GL_DEPTH_ATTACHMENT), $(D_INLINECODE GL_STENCIL_ATTACHMENT) or $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT). in $(D_INLINECODE GL_COLOR_ATTACHMENT) may range from zero to the value of $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS) minus one. Attaching a level of a texture to $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT) is equivalent to attaching that level to both the $(D_INLINECODE GL_DEPTH_ATTACHMENT) the $(D_INLINECODE GL_STENCIL_ATTACHMENT) attachment points simultaneously. For $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D) and $(D_INLINECODE glFramebufferTexture3D), $(D_INLINECODE textarget) specifies what type of texture is named by $(D_INLINECODE texture), and for cube map textures, specifies the face that is to be attached. If $(D_INLINECODE texture) is not zero, it must be the name of an existing texture object with effective target $(D_INLINECODE textarget) unless it is a cube map texture, in which case $(D_INLINECODE textarget) must be $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X) $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z). If $(D_INLINECODE texture) is non-zero, the specified $(D_INLINECODE level) of the texture object named $(D_INLINECODE texture) is attached to the framebfufer attachment point named by $(D_INLINECODE attachment). For $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D), and $(D_INLINECODE glFramebufferTexture3D), $(D_INLINECODE texture) must be zero or the name of an existing texture with an effective target of $(D_INLINECODE textarget), or $(D_INLINECODE texture) must be the name of an existing cube-map texture and $(D_INLINECODE textarget) must be one of $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z). If $(D_INLINECODE textarget) is $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), then $(D_INLINECODE level) must be zero. If $(D_INLINECODE textarget) is $(D_INLINECODE GL_TEXTURE_3D), then $(D_INLINECODE level) must be greater than or equal to zero and less than or equal to $log_2$ of the value of $(D_INLINECODE GL_MAX_3D_TEXTURE_SIZE). If $(D_INLINECODE textarget) is one of $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), then $(D_INLINECODE level) must be greater than or equal to zero and less than or equal to $log_2$ of the value of $(D_INLINECODE GL_MAX_CUBE_MAP_TEXTURE_SIZE). For all other values of $(D_INLINECODE textarget), $(D_INLINECODE level) must be greater than or equal to zero and less than or equal to $log_2$ of the value of $(D_INLINECODE GL_MAX_TEXTURE_SIZE). $(D_INLINECODE layer) specifies the layer of a 2-dimensional image within a 3-dimensional texture. For $(D_INLINECODE glFramebufferTexture1D), if $(D_INLINECODE texture) is not zero, then $(D_INLINECODE textarget) must be $(D_INLINECODE GL_TEXTURE_1D). For $(D_INLINECODE glFramebufferTexture2D), if $(D_INLINECODE texture) is not zero, $(D_INLINECODE textarget) must be one of $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE). For $(D_INLINECODE glFramebufferTexture3D), if $(D_INLINECODE texture) is not zero, then $(D_INLINECODE textarget) must be $(D_INLINECODE GL_TEXTURE_3D). For $(D_INLINECODE glFramebufferTexture) and $(D_INLINECODE glNamedFramebufferTexture), if $(D_INLINECODE texture) is the name of a three-dimensional, cube map array, cube map, one- or two-dimensional array, or two-dimensional multisample array texture, the specified texture level is an array of images, and the framebuffer attachment is considered to be.
12574      + 
12575      + Params:
12576      +     target      = Specifies the target to which the framebuffer is bound for all commands $(D_INLINECODE glNamedFramebufferTexture).
12577      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferTexture).
12578      +     attachment  = Specifies the attachment point of the framebuffer.
12579      +     textarget   = For $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D) and $(D_INLINECODE glFramebufferTexture3D), specifies what type of texture is expected in the $(D_INLINECODE texture) parameter, or for cube map textures, which face is to be attached.
12580      +     texture     = Specifies the name of an existing texture object to attach.
12581      +     level       = Specifies the mipmap level of the texture object to attach.
12582      + 
12583      + Copyright:
12584      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12585      + 
12586      + See_Also:
12587      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glFramebufferTexture), $(D_INLINECODE glFramebufferTexture1D), $(D_INLINECODE glFramebufferTexture2D), $(D_INLINECODE glFramebufferTexture3D)
12588      +/
12589     @OpenGL_Version(OGLIntroducedIn.V3P2)
12590     fn_glFramebufferTexture glFramebufferTexture;
12591     alias fn_glFramebufferTexture1D = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
12592     /// Ditto
12593     @OpenGL_Version(OGLIntroducedIn.V3P0)
12594     @OpenGL_Extension("GL_ARB_framebuffer_object")
12595     fn_glFramebufferTexture1D glFramebufferTexture1D;
12596     alias fn_glFramebufferTexture2D = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
12597     /// Ditto
12598     @OpenGL_Version(OGLIntroducedIn.V3P0)
12599     @OpenGL_Extension("GL_ARB_framebuffer_object")
12600     fn_glFramebufferTexture2D glFramebufferTexture2D;
12601     alias fn_glFramebufferTexture3D = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer) @system @nogc nothrow;
12602     /// Ditto
12603     @OpenGL_Version(OGLIntroducedIn.V3P0)
12604     @OpenGL_Extension("GL_ARB_framebuffer_object")
12605     fn_glFramebufferTexture3D glFramebufferTexture3D;
12606     alias fn_glNamedFramebufferTexture = extern(C) void function(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) @system @nogc nothrow;
12607     /// Ditto
12608     @OpenGL_Version(OGLIntroducedIn.V4P5)
12609     @OpenGL_Extension("GL_ARB_direct_state_access")
12610     fn_glNamedFramebufferTexture glNamedFramebufferTexture;
12611     alias fn_glFramebufferTextureLayer = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) @system @nogc nothrow;
12612 
12613     /++
12614      + glFramebufferTextureLayer: man4/glFramebufferTextureLayer.xml
12615      + 
12616      + $(D_INLINECODE glFramebufferTextureLayer) and $(D_INLINECODE glNamedFramebufferTextureLayer) attach a single layer of a three-dimensional or array texture object as one of the logical buffers of the specified framebuffer object. Textures cannot be attached to the default draw and read framebuffer, so they are not valid targets of these commands. For $(D_INLINECODE glFramebufferTextureLayer), the framebuffer object is that bound to $(D_INLINECODE target), which must be $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER), or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). For $(D_INLINECODE glNamedFramebufferTextureLayer), $(D_INLINECODE framebuffer) is the name of the framebuffer object. $(D_INLINECODE attachment) specifies the logical attachment of the framebuffer and must be $(D_INLINECODE GL_COLOR_ATTACHMENT), $(D_INLINECODE GL_DEPTH_ATTACHMENT), $(D_INLINECODE GL_STENCIL_ATTACHMENT) or $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT). in $(D_INLINECODE GL_COLOR_ATTACHMENT) may range from zero to the value of $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS) minus one. Attaching a level of a texture to $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT) is equivalent to attaching that level to both the $(D_INLINECODE GL_DEPTH_ATTACHMENT) the $(D_INLINECODE GL_STENCIL_ATTACHMENT) attachment points simultaneously. If $(D_INLINECODE texture) is not zero, it must be the name of a three-dimensional, two-dimensional multisample array, one- or two-dimensional array, or cube map array texture. If $(D_INLINECODE texture) is a three-dimensional texture, then $(D_INLINECODE level) must be greater than or equal to zero and less than or equal to $log_2$ of the value of $(D_INLINECODE GL_MAX_3D_TEXTURE_SIZE). If $(D_INLINECODE texture) is a two-dimensional array texture, then $(D_INLINECODE level) must be greater than or equal to zero and less than or equal to $log_2$ of the value of $(D_INLINECODE GL_MAX_TEXTURE_SIZE). For cube map textures, $(D_INLINECODE layer) is translated into a cube map face according to $$ face = k \bmod 6. $$ For cube map array textures, $(D_INLINECODE layer) is translated into an array layer and face according to $$ layer = \left\lfloor { layer \over 6 } \right\rfloor$$ and $$ face = k \bmod 6. $$
12617      + 
12618      + Params:
12619      +     target      = Specifies the target to which the framebuffer is bound for $(D_INLINECODE glFramebufferTextureLayer).
12620      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferTextureLayer).
12621      +     attachment  = Specifies the attachment point of the framebuffer.
12622      +     texture     = Specifies the name of an existing texture object to attach.
12623      +     level       = Specifies the mipmap level of the texture object to attach.
12624      +     layer       = Specifies the layer of the texture object to attach.
12625      + 
12626      + Copyright:
12627      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12628      + 
12629      + See_Also:
12630      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glFramebufferTexture),
12631      +/
12632     @OpenGL_Version(OGLIntroducedIn.V3P0)
12633     @OpenGL_Extension("GL_ARB_framebuffer_object")
12634     fn_glFramebufferTextureLayer glFramebufferTextureLayer;
12635     alias fn_glNamedFramebufferTextureLayer = extern(C) void function(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) @system @nogc nothrow;
12636     /// Ditto
12637     @OpenGL_Version(OGLIntroducedIn.V4P5)
12638     @OpenGL_Extension("GL_ARB_direct_state_access")
12639     fn_glNamedFramebufferTextureLayer glNamedFramebufferTextureLayer;
12640     alias fn_glFrontFace = extern(C) void function(GLenum mode) @system @nogc nothrow;
12641 
12642     /++
12643      + glFrontFace: man4/glFrontFace.xml
12644      + 
12645      + In a scene composed entirely of opaque closed surfaces, back-facing polygons are never visible. Eliminating these invisible polygons has the obvious benefit of speeding up the rendering of the image. To enable and disable elimination of back-facing polygons, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_CULL_FACE). The projection of a polygon to window coordinates is said to have clockwise winding if an imaginary object following the path from its first vertex, its second vertex, and so on, to its last vertex, and finally back to its first vertex, moves in a clockwise direction about the interior of the polygon. The polygon's winding is said to be counterclockwise if the imaginary object following the same path moves in a counterclockwise direction about the interior of the polygon. $(D_INLINECODE glFrontFace) specifies whether polygons with clockwise winding in window coordinates, or counterclockwise winding in window coordinates, are taken to be front-facing. Passing $(D_INLINECODE GL_CCW) to $(D_INLINECODE mode) selects counterclockwise polygons as front-facing; $(D_INLINECODE GL_CW) selects clockwise polygons as front-facing. By default, counterclockwise polygons are taken to be front-facing.
12646      + 
12647      + Params:
12648      +     mode = Specifies the orientation of front-facing polygons. $(D_INLINECODE GL_CW) and $(D_INLINECODE GL_CCW) are accepted. The initial value is $(D_INLINECODE GL_CCW).
12649      + 
12650      + Copyright:
12651      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12652      + 
12653      + See_Also:
12654      +     $(D_INLINECODE glCullFace),
12655      +/
12656     @OpenGL_Version(OGLIntroducedIn.V1P0)
12657     fn_glFrontFace glFrontFace;
12658     alias fn_glGenBuffers = extern(C) void function(GLsizei n, GLuint* buffers) @system @nogc nothrow;
12659 
12660     /++
12661      + glGenBuffers: man4/glGenBuffers.xml
12662      + 
12663      + $(D_INLINECODE glGenBuffers) returns $(D_INLINECODE n) buffer object names in $(D_INLINECODE buffers). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenBuffers). Buffer object names returned by a call to $(D_INLINECODE glGenBuffers) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteBuffers). No buffer objects are associated with the returned buffer object names until they are first bound by calling $(D_INLINECODE glBindBuffer).
12664      + 
12665      + Params:
12666      +     n       = Specifies the number of buffer object names to be generated.
12667      +     buffers = Specifies an array in which the generated buffer object names are stored.
12668      + 
12669      + Copyright:
12670      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12671      + 
12672      + See_Also:
12673      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glGet)
12674      +/
12675     @OpenGL_Version(OGLIntroducedIn.V1P5)
12676     fn_glGenBuffers glGenBuffers;
12677     alias fn_glGenerateMipmap = extern(C) void function(GLenum target) @system @nogc nothrow;
12678 
12679     /++
12680      + glGenerateMipmap: man4/glGenerateMipmap.xml
12681      + 
12682      + $(D_INLINECODE glGenerateMipmap) and $(D_INLINECODE glGenerateTextureMipmap) generates mipmaps for the specified texture object. For $(D_INLINECODE glGenerateMipmap), the texture object is that bound to to $(D_INLINECODE target). For $(D_INLINECODE glGenerateTextureMipmap), $(D_INLINECODE texture) is the name of the texture object. For cube map and cube map array textures, the texture object must be cube complete or cube array complete respectively. Mipmap generation replaces texel image levels $level_{base} + 1$ through $q$ with images derived from the $level_{base}$ image, regardless of their previous contents. All other mimap images, including the $level_{base}+1$ image, are left unchanged by this computation. The internal formats of the derived mipmap images all match those of the $level_{base}$ image. The contents of the derived images are computed by repeated, filtered reduction of the $level_{base} + 1$ image. For one- and two-dimensional array and cube map array textures, each layer is filtered independently.
12683      + 
12684      + Cube map array textures are accepted only if the GL version is 4.0 or higher.
12685      + 
12686      + Params:
12687      +     target  = Specifies the target to which the texture object is bound for $(D_INLINECODE glGenerateMipmap). Must be one of $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY).
12688      +     texture = Specifies the texture object name for $(D_INLINECODE glGenerateTextureMipmap).
12689      + 
12690      + Copyright:
12691      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12692      + 
12693      + See_Also:
12694      +     $(D_INLINECODE glTexImage2D), $(D_INLINECODE glBindTexture), $(D_INLINECODE glGenTextures)
12695      +/
12696     @OpenGL_Version(OGLIntroducedIn.V3P0)
12697     @OpenGL_Extension("GL_ARB_framebuffer_object")
12698     fn_glGenerateMipmap glGenerateMipmap;
12699     alias fn_glGenerateTextureMipmap = extern(C) void function(GLuint texture) @system @nogc nothrow;
12700     /// Ditto
12701     @OpenGL_Version(OGLIntroducedIn.V4P5)
12702     @OpenGL_Extension("GL_ARB_direct_state_access")
12703     fn_glGenerateTextureMipmap glGenerateTextureMipmap;
12704     alias fn_glGenFramebuffers = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
12705 
12706     /++
12707      + glGenFramebuffers: man4/glGenFramebuffers.xml
12708      + 
12709      + $(D_INLINECODE glGenFramebuffers) returns $(D_INLINECODE n) framebuffer object names in $(D_INLINECODE ids). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenFramebuffers). Framebuffer object names returned by a call to $(D_INLINECODE glGenFramebuffers) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteFramebuffers). The names returned in $(D_INLINECODE ids) are marked as used, for the purposes of $(D_INLINECODE glGenFramebuffers) only, but they acquire state and type only when they are first bound.
12710      + 
12711      + Params:
12712      +     n   = Specifies the number of framebuffer object names to generate.
12713      +     ids = Specifies an array in which the generated framebuffer object names are stored.
12714      + 
12715      + Copyright:
12716      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12717      + 
12718      + See_Also:
12719      +     $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glDeleteFramebuffers)
12720      +/
12721     @OpenGL_Version(OGLIntroducedIn.V3P0)
12722     @OpenGL_Extension("GL_ARB_framebuffer_object")
12723     fn_glGenFramebuffers glGenFramebuffers;
12724     alias fn_glGenProgramPipelines = extern(C) void function(GLsizei n, GLuint* pipelines) @system @nogc nothrow;
12725 
12726     /++
12727      + glGenProgramPipelines: man4/glGenProgramPipelines.xml
12728      + 
12729      + $(D_INLINECODE glGenProgramPipelines) returns $(D_INLINECODE n) previously unused program pipeline object names in $(D_INLINECODE pipelines). These names are marked as used, for the purposes of $(D_INLINECODE glGenProgramPipelines) only, but they acquire program pipeline state only when they are first bound.
12730      + 
12731      + Params:
12732      +     n         = Specifies the number of program pipeline object names to reserve.
12733      +     pipelines = Specifies an array of into which the reserved names will be written.
12734      + 
12735      + Copyright:
12736      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12737      + 
12738      + See_Also:
12739      +     $(D_INLINECODE glDeleteProgramPipelines), $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glIsProgramPipeline), $(D_INLINECODE glUseProgramStages), $(D_INLINECODE glUseProgram)
12740      +/
12741     @OpenGL_Version(OGLIntroducedIn.V4P1)
12742     @OpenGL_Extension("GL_ARB_separate_shader_objects")
12743     fn_glGenProgramPipelines glGenProgramPipelines;
12744     alias fn_glGenQueries = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
12745 
12746     /++
12747      + glGenQueries: man4/glGenQueries.xml
12748      + 
12749      + $(D_INLINECODE glGenQueries) returns $(D_INLINECODE n) query object names in $(D_INLINECODE ids). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenQueries). Query object names returned by a call to $(D_INLINECODE glGenQueries) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteQueries). No query objects are associated with the returned query object names until they are first used by calling $(D_INLINECODE glBeginQuery).
12750      + 
12751      + Params:
12752      +     n   = Specifies the number of query object names to be generated.
12753      +     ids = Specifies an array in which the generated query object names are stored.
12754      + 
12755      + Copyright:
12756      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12757      + 
12758      + See_Also:
12759      +     $(D_INLINECODE glBeginQuery), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glEndQuery)
12760      +/
12761     @OpenGL_Version(OGLIntroducedIn.V1P5)
12762     fn_glGenQueries glGenQueries;
12763     alias fn_glGenRenderbuffers = extern(C) void function(GLsizei n, GLuint* renderbuffers) @system @nogc nothrow;
12764 
12765     /++
12766      + glGenRenderbuffers: man4/glGenRenderbuffers.xml
12767      + 
12768      + $(D_INLINECODE glGenRenderbuffers) returns $(D_INLINECODE n) renderbuffer object names in $(D_INLINECODE renderbuffers). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenRenderbuffers). Renderbuffer object names returned by a call to $(D_INLINECODE glGenRenderbuffers) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteRenderbuffers). The names returned in $(D_INLINECODE renderbuffers) are marked as used, for the purposes of $(D_INLINECODE glGenRenderbuffers) only, but they acquire state and type only when they are first bound.
12769      + 
12770      + Params:
12771      +     n             = Specifies the number of renderbuffer object names to generate.
12772      +     renderbuffers = Specifies an array in which the generated renderbuffer object names are stored.
12773      + 
12774      + Copyright:
12775      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12776      + 
12777      + See_Also:
12778      +     $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glDeleteRenderbuffers)
12779      +/
12780     @OpenGL_Version(OGLIntroducedIn.V3P0)
12781     @OpenGL_Extension("GL_ARB_framebuffer_object")
12782     fn_glGenRenderbuffers glGenRenderbuffers;
12783     alias fn_glGenSamplers = extern(C) void function(GLsizei n, GLuint* samplers) @system @nogc nothrow;
12784 
12785     /++
12786      + glGenSamplers: man4/glGenSamplers.xml
12787      + 
12788      + $(D_INLINECODE glGenSamplers) returns $(D_INLINECODE n) sampler object names in $(D_INLINECODE samplers). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenSamplers). Sampler object names returned by a call to $(D_INLINECODE glGenSamplers) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteSamplers). The names returned in $(D_INLINECODE samplers) are marked as used, for the purposes of $(D_INLINECODE glGenSamplers) only, but they acquire state and type only when they are first bound.
12789      + 
12790      + $(D_INLINECODE glGenSamplers) is available only if the GL version is 3.3 or higher.
12791      + 
12792      + Params:
12793      +     n        = Specifies the number of sampler object names to generate.
12794      +     samplers = Specifies an array in which the generated sampler object names are stored.
12795      + 
12796      + Copyright:
12797      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12798      + 
12799      + See_Also:
12800      +     $(D_INLINECODE glBindSampler), $(D_INLINECODE glIsSampler), $(D_INLINECODE glDeleteSamplers)
12801      +/
12802     @OpenGL_Version(OGLIntroducedIn.V3P3)
12803     @OpenGL_Extension("GL_ARB_sampler_objects")
12804     fn_glGenSamplers glGenSamplers;
12805     alias fn_glGenTextures = extern(C) void function(GLsizei n, GLuint* textures) @system @nogc nothrow;
12806 
12807     /++
12808      + glGenTextures: man4/glGenTextures.xml
12809      + 
12810      + $(D_INLINECODE glGenTextures) returns $(D_INLINECODE n) texture names in $(D_INLINECODE textures). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenTextures). The generated textures have no dimensionality; they assume the dimensionality of the texture target to which they are first bound (see $(D_INLINECODE glBindTexture) ). Texture names returned by a call to $(D_INLINECODE glGenTextures) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteTextures).
12811      + 
12812      + Params:
12813      +     n        = Specifies the number of texture names to be generated.
12814      +     textures = Specifies an array in which the generated texture names are stored.
12815      + 
12816      + Copyright:
12817      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12818      + 
12819      + See_Also:
12820      +     $(D_INLINECODE glBindTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter)
12821      +/
12822     @OpenGL_Version(OGLIntroducedIn.V1P1)
12823     fn_glGenTextures glGenTextures;
12824     alias fn_glGenTransformFeedbacks = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
12825 
12826     /++
12827      + glGenTransformFeedbacks: man4/glGenTransformFeedbacks.xml
12828      + 
12829      + $(D_INLINECODE glGenTransformFeedbacks) returns $(D_INLINECODE n) previously unused transform feedback object names in $(D_INLINECODE ids). These names are marked as used, for the purposes of $(D_INLINECODE glGenTransformFeedbacks) only, but they acquire transform feedback state only when they are first bound.
12830      + 
12831      + Params:
12832      +     n   = Specifies the number of transform feedback object names to reserve.
12833      +     ids = Specifies an array of into which the reserved names will be written.
12834      + 
12835      + Copyright:
12836      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12837      + 
12838      + See_Also:
12839      +     $(D_INLINECODE glDeleteTransformFeedbacks), $(D_INLINECODE glBindTransformFeedback), $(D_INLINECODE glIsTransformFeedback), $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glPauseTransformFeedback), $(D_INLINECODE glResumeTransformFeedback), $(D_INLINECODE glEndTransformFeedback)
12840      +/
12841     @OpenGL_Version(OGLIntroducedIn.V4P0)
12842     @OpenGL_Extension("GL_ARB_transform_feedback2")
12843     fn_glGenTransformFeedbacks glGenTransformFeedbacks;
12844     alias fn_glGenVertexArrays = extern(C) void function(GLsizei n, GLuint* arrays) @system @nogc nothrow;
12845 
12846     /++
12847      + glGenVertexArrays: man4/glGenVertexArrays.xml
12848      + 
12849      + $(D_INLINECODE glGenVertexArrays) returns $(D_INLINECODE n) vertex array object names in $(D_INLINECODE arrays). There is no guarantee that the names form a contiguous set of integers; however, it is guaranteed that none of the returned names was in use immediately before the call to $(D_INLINECODE glGenVertexArrays). Vertex array object names returned by a call to $(D_INLINECODE glGenVertexArrays) are not returned by subsequent calls, unless they are first deleted with $(D_INLINECODE glDeleteVertexArrays). The names returned in $(D_INLINECODE arrays) are marked as used, for the purposes of $(D_INLINECODE glGenVertexArrays) only, but they acquire state and type only when they are first bound.
12850      + 
12851      + Params:
12852      +     n      = Specifies the number of vertex array object names to generate.
12853      +     arrays = Specifies an array in which the generated vertex array object names are stored.
12854      + 
12855      + Copyright:
12856      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12857      + 
12858      + See_Also:
12859      +     $(D_INLINECODE glBindVertexArray), $(D_INLINECODE glDeleteVertexArrays)
12860      +/
12861     @OpenGL_Version(OGLIntroducedIn.V3P0)
12862     @OpenGL_Extension("GL_ARB_vertex_array_object")
12863     fn_glGenVertexArrays glGenVertexArrays;
12864     alias fn_glGetBooleanv = extern(C) void function(GLenum pname, GLboolean* data) @system @nogc nothrow;
12865 
12866     /++
12867      + glGet: man4/glGet.xml
12868      + 
12869      + These commands return values for simple state variables in GL. $(D_INLINECODE pname) is a symbolic constant indicating the state variable to be returned, and $(D_INLINECODE data) is a pointer to an array of the indicated type in which to place the returned data. Type conversion is performed if $(D_INLINECODE data) has a different type than the state variable value being requested. If $(D_INLINECODE glGetBooleanv) is called, a floating-point (or integer) value is converted to $(D_INLINECODE GL_FALSE) if and only if it is 0.0 (or 0). Otherwise, it is converted to $(D_INLINECODE GL_TRUE). If $(D_INLINECODE glGetIntegerv) is called, boolean values are returned as $(D_INLINECODE GL_TRUE) or $(D_INLINECODE GL_FALSE), and most floating-point values are rounded to the nearest integer value. Floating-point colors and normals, however, are returned with a linear mapping that maps 1.0 to the most positive representable integer value and -1.0 to the most negative representable integer value. If $(D_INLINECODE glGetFloatv) or $(D_INLINECODE glGetDoublev) is called, boolean values are returned as $(D_INLINECODE GL_TRUE) or $(D_INLINECODE GL_FALSE), and integer values are converted to floating-point values. The following symbolic constants are accepted by $(D_INLINECODE pname) : Many of the boolean parameters can also be queried more easily using $(D_INLINECODE glIsEnabled).
12870      + 
12871      + The following parameters return the associated value for the active texture unit: $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_BINDING_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_BINDING_2D), $(D_INLINECODE GL_TEXTURE_3D) and $(D_INLINECODE GL_TEXTURE_BINDING_3D). $(D_INLINECODE GL_MAX_VIEWPORTS), $(D_INLINECODE GL_VIEWPORT_SUBPIXEL_BITS), $(D_INLINECODE GL_VIEWPORT_BOUNDS_RANGE), $(D_INLINECODE GL_LAYER_PROVOKING_VERTEX), and $(D_INLINECODE GL_VIEWPORT_INDEX_PROVOKING_VERTEX) are available only if the GL version is 4.1 or greater. $(D_INLINECODE GL_MAX_VERTEX_ATOMIC_COUNTERS), $(D_INLINECODE GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS), $(D_INLINECODE GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS), $(D_INLINECODE GL_MAX_GEOMETRY_ATOMIC_COUNTERS), $(D_INLINECODE GL_MAX_FRAMGENT_ATOMIC_COUNTERS), and $(D_INLINECODE GL_MIN_MAP_BUFFER_ALIGNMENT) are accepted by $(D_INLINECODE pname) only if the GL version is 4.2 or greater. $(D_INLINECODE GL_MAX_ELEMENT_INDEX) is accepted by $(D_INLINECODE pname) only if the GL version is 4.3 or greater. $(D_INLINECODE GL_MAX_COMPUTE_UNIFORM_BLOCKS), $(D_INLINECODE GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS), $(D_INLINECODE GL_MAX_COMPUTE_UNIFORM_COMPONENTS), $(D_INLINECODE GL_MAX_COMPUTE_ATOMIC_COUNTERS), $(D_INLINECODE GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS), $(D_INLINECODE GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS), $(D_INLINECODE GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS), $(D_INLINECODE GL_MAX_COMPUTE_WORK_GROUP_COUNT), and $(D_INLINECODE GL_MAX_COMPUTE_WORK_GROUP_SIZE) and $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER_BINDING) are available only if the GL version is 4.3 or greater. $(D_INLINECODE GL_MAX_DEBUG_GROUP_STACK_DEPTH), $(D_INLINECODE GL_DEBUG_GROUP_STACK_DEPTH) and $(D_INLINECODE GL_MAX_LABEL_LENGTH) are accepted only if the GL version is 4.3 or greater. $(D_INLINECODE GL_MAX_UNIFORM_LOCATIONS) is accepted only if the GL version is 4.3 or greater. $(D_INLINECODE GL_MAX_FRAMEBUFFER_WIDTH), $(D_INLINECODE GL_MAX_FRAMEBUFFER_HEIGHT), $(D_INLINECODE GL_MAX_FRAMEBUFFER_LAYERS), and $(D_INLINECODE GL_MAX_FRAMEBUFFER_SAMPLES) are available only if the GL version is 4.3 or greater. $(D_INLINECODE GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS), $(D_INLINECODE GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS), $(D_INLINECODE GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS), $(D_INLINECODE GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS), $(D_INLINECODE GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS), and $(D_INLINECODE GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS) are available only if the GL version is 4.3 or higher. $(D_INLINECODE GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT) is available only if the GL version is 4.3 or greater. $(D_INLINECODE GL_VERTEX_BINDING_DIVISOR), $(D_INLINECODE GL_VERTEX_BINDING_OFFSET), $(D_INLINECODE GL_VERTEX_BINDING_STRIDE), $(D_INLINECODE GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET) and $(D_INLINECODE GL_MAX_VERTEX_ATTRIB_BINDINGS) are available only if the GL version is 4.3 or greater.
12872      + 
12873      + Params:
12874      +     pname  = Specifies the parameter value to be returned for non-indexed versions of $(D_INLINECODE glGet). The symbolic constants in the list below are accepted.
12875      +     target = Specifies the parameter value to be returned for indexed versions of $(D_INLINECODE glGet). The symbolic constants in the list below are accepted.
12876      +     index  = Specifies the index of the particular element being queried.
12877      +     data   = Returns the value or values of the specified parameter.
12878      + 
12879      + Copyright:
12880      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
12881      + 
12882      + See_Also:
12883      +     $(D_INLINECODE glGetActiveUniform), $(D_INLINECODE glGetAttachedShaders), $(D_INLINECODE glGetAttribLocation), $(D_INLINECODE glGetBufferParameter), $(D_INLINECODE glGetBufferPointerv), $(D_INLINECODE glGetBufferSubData), $(D_INLINECODE glGetCompressedTexImage), $(D_INLINECODE glGetError), $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetProgramInfoLog), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glGetShader), $(D_INLINECODE glGetShaderInfoLog), $(D_INLINECODE glGetShaderSource), $(D_INLINECODE glGetString), $(D_INLINECODE glGetTexImage), $(D_INLINECODE glGetTexLevelParameter), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glGetUniform), $(D_INLINECODE glGetUniformLocation), $(D_INLINECODE glGetVertexAttrib), $(D_INLINECODE glGetVertexAttribPointerv), $(D_INLINECODE glIsEnabled)
12884      +/
12885     @OpenGL_Version(OGLIntroducedIn.V1P0)
12886     fn_glGetBooleanv glGetBooleanv;
12887     alias fn_glGetActiveAtomicCounterBufferiv = extern(C) void function(GLuint program, GLuint bufferIndex, GLenum pname, GLint* params) @system @nogc nothrow;
12888 
12889     /++
12890      + glGetActiveAtomicCounterBufferiv: man4/glGetActiveAtomicCounterBufferiv.xml
12891      + 
12892      + $(D_INLINECODE glGetActiveAtomicCounterBufferiv) retrieves information about the set of active atomic counter buffers for a program object. $(D_INLINECODE program) is the name of a program object for which the command $(D_INLINECODE glLinkProgram) has been issued in the past. It is not necessary for $(D_INLINECODE program) to have been linked successfully. The link may have failed because the number of active atomic counters exceeded the limits. $(D_INLINECODE bufferIndex) specifies the index of an active atomic counter buffer and must be in the range zero to the value of $(D_INLINECODE GL_ACTIVE_ATOMIC_COUNTER_BUFFERS) minus one. The value of $(D_INLINECODE GL_ACTIVE_ATOMIC_COUNTER_BUFFERS) for $(D_INLINECODE program) indicates the number of active atomic counter buffer and can be queried with $(D_INLINECODE glGetProgram). If no error occurs, the parameter(s) specified by $(D_INLINECODE pname) are returned in $(D_INLINECODE params). If an error is generated, the contents of $(D_INLINECODE params) are not modified. If $(D_INLINECODE pname) is $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_BINDING), then the index of the counter buffer binding point associated with the active atomic counter buffer $(D_INLINECODE bufferIndex) for $(D_INLINECODE program) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE), then the implementation-dependent minimum total buffer object size, in baseic machine units, required to hold all active atomic counters in the atomic counter binding point identified by $(D_INLINECODE bufferIndex) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS), then the number of active atomic counters for the atomic counter buffer identified by $(D_INLINECODE bufferIndex) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES), then a list of the active atomic counter indices for the atomic counter buffer identified by $(D_INLINECODE bufferIndex) is returned. The number of elements that will be written into $(D_INLINECODE params) is the value of $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS) for $(D_INLINECODE bufferIndex). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER) then a boolean value indicating whether the atomic counter buffer identified by $(D_INLINECODE bufferIndex) is referenced by the vertex, tessellation control, tessellation evaluation, geometry, fragment or compute processing stages of $(D_INLINECODE program), respectively, is returned.
12893      + 
12894      + $(D_INLINECODE glGetActiveAtomicCounterBufferiv) is available only if the GL version is 4.2 or higher. $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER) is available only of the GL version is 4.3 or higher.
12895      + 
12896      + Params:
12897      +     program     = The name of a program object from which to retrieve information.
12898      +     bufferIndex = Specifies index of an active atomic counter buffer.
12899      +     pname       = Specifies which parameter of the atomic counter buffer to retrieve.
12900      +     params      = Specifies the address of a variable into which to write the retrieved information.
12901      + 
12902      + Copyright:
12903      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12904      + 
12905      + See_Also:
12906      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetActiveSubroutineUniformName), $(D_INLINECODE glGetUniformLocation)
12907      +/
12908     @OpenGL_Version(OGLIntroducedIn.V4P2)
12909     @OpenGL_Extension("GL_ARB_shader_atomic_counters")
12910     fn_glGetActiveAtomicCounterBufferiv glGetActiveAtomicCounterBufferiv;
12911     alias fn_glGetActiveAttrib = extern(C) void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) @system @nogc nothrow;
12912 
12913     /++
12914      + glGetActiveAttrib: man4/glGetActiveAttrib.xml
12915      + 
12916      + $(D_INLINECODE glGetActiveAttrib) returns information about an active attribute variable in the program object specified by $(D_INLINECODE program). The number of active attributes can be obtained by calling $(D_INLINECODE glGetProgram) with the value $(D_INLINECODE GL_ACTIVE_ATTRIBUTES). A value of 0 for $(D_INLINECODE index) selects the first active attribute variable. Permissible values for $(D_INLINECODE index) range from zero to the number of active attribute variables minus one. A vertex shader may use either built-in attribute variables, user-defined attribute variables, or both. Built-in attribute variables have a prefix of &quot;gl_&quot; and reference conventional OpenGL vertex attribtes (e.g., $(D_INLINECODE gl_Vertex), $(D_INLINECODE gl_Normal), etc., see the OpenGL Shading Language specification for a complete list.) User-defined attribute variables have arbitrary names and obtain their values through numbered generic vertex attributes. An attribute variable (either built-in or user-defined) is considered active if it is determined during the link operation that it may be accessed during program execution. Therefore, $(D_INLINECODE program) should have previously been the target of a call to $(D_INLINECODE glLinkProgram), but it is not necessary for it to have been linked successfully. The size of the character buffer required to store the longest attribute variable name in $(D_INLINECODE program) can be obtained by calling $(D_INLINECODE glGetProgram) with the value $(D_INLINECODE GL_ACTIVE_ATTRIBUTE_MAX_LENGTH). This value should be used to allocate a buffer of sufficient size to store the returned attribute name. The size of this character buffer is passed in $(D_INLINECODE bufSize), and a pointer to this character buffer is passed in $(D_INLINECODE name). $(D_INLINECODE glGetActiveAttrib) returns the name of the attribute variable indicated by $(D_INLINECODE index), storing it in the character buffer specified by $(D_INLINECODE name). The string returned will be null terminated. The actual number of characters written into this buffer is returned in $(D_INLINECODE length), and this count does not include the null termination character. If the length of the returned string is not required, a value of $(D_INLINECODE null
12917      + ) can be passed in the $(D_INLINECODE length) argument. The $(D_INLINECODE type) argument specifies a pointer to a variable into which the attribute variable's data type will be written. The symbolic constants $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_FLOAT_VEC2), $(D_INLINECODE GL_FLOAT_VEC3), $(D_INLINECODE GL_FLOAT_VEC4), $(D_INLINECODE GL_FLOAT_MAT2), $(D_INLINECODE GL_FLOAT_MAT3), $(D_INLINECODE GL_FLOAT_MAT4), $(D_INLINECODE GL_FLOAT_MAT2x3), $(D_INLINECODE GL_FLOAT_MAT2x4), $(D_INLINECODE GL_FLOAT_MAT3x2), $(D_INLINECODE GL_FLOAT_MAT3x4), $(D_INLINECODE GL_FLOAT_MAT4x2), $(D_INLINECODE GL_FLOAT_MAT4x3), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_INT_VEC2), $(D_INLINECODE GL_INT_VEC3), $(D_INLINECODE GL_INT_VEC4), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_UNSIGNED_INT_VEC2), $(D_INLINECODE GL_UNSIGNED_INT_VEC3), $(D_INLINECODE GL_UNSIGNED_INT_VEC4), $(D_INLINECODE GL_DOUBLE), $(D_INLINECODE GL_DOUBLE_VEC2), $(D_INLINECODE GL_DOUBLE_VEC3), $(D_INLINECODE GL_DOUBLE_VEC4), $(D_INLINECODE GL_DOUBLE_MAT2), $(D_INLINECODE GL_DOUBLE_MAT3), $(D_INLINECODE GL_DOUBLE_MAT4), $(D_INLINECODE GL_DOUBLE_MAT2x3), $(D_INLINECODE GL_DOUBLE_MAT2x4), $(D_INLINECODE GL_DOUBLE_MAT3x2), $(D_INLINECODE GL_DOUBLE_MAT3x4), $(D_INLINECODE GL_DOUBLE_MAT4x2), or $(D_INLINECODE GL_DOUBLE_MAT4x3) may be returned. The $(D_INLINECODE size) argument will return the size of the attribute, in units of the type returned in $(D_INLINECODE type). The list of active attribute variables may include both built-in attribute variables (which begin with the prefix &quot;gl_&quot;) as well as user-defined attribute variable names. This function will return as much information as it can about the specified active attribute variable. If no information is available, $(D_INLINECODE length) will be 0, and $(D_INLINECODE name) will be an empty string. This situation could occur if this function is called after a link operation that failed. If an error occurs, the return values $(D_INLINECODE length), $(D_INLINECODE size), $(D_INLINECODE type), and $(D_INLINECODE name) will be unmodified.
12918      + 
12919      + Params:
12920      +     program = Specifies the program object to be queried.
12921      +     index   = Specifies the index of the attribute variable to be queried.
12922      +     bufSize = Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by $(D_INLINECODE name).
12923      +     length  = Returns the number of characters actually written by OpenGL in the string indicated by $(D_INLINECODE name) (excluding the null terminator) if a value other than $(D_INLINECODE null) is passed.
12924      +     size    = Returns the size of the attribute variable.
12925      +     type    = Returns the data type of the attribute variable.
12926      +     name    = Returns a null terminated string containing the name of the attribute variable.
12927      + 
12928      + Copyright:
12929      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12930      + 
12931      + See_Also:
12932      +     $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glVertexAttrib), $(D_INLINECODE glVertexAttribPointer)
12933      +/
12934     @OpenGL_Version(OGLIntroducedIn.V2P0)
12935     fn_glGetActiveAttrib glGetActiveAttrib;
12936     alias fn_glGetActiveSubroutineName = extern(C) void function(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) @system @nogc nothrow;
12937 
12938     /++
12939      + glGetActiveSubroutineName: man4/glGetActiveSubroutineName.xml
12940      + 
12941      + $(D_INLINECODE glGetActiveSubroutineName) queries the name of an active shader subroutine uniform from the program object given in $(D_INLINECODE program). $(D_INLINECODE index) specifies the index of the shader subroutine uniform within the shader stage given by $(D_INLINECODE stage), and must between zero and the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINES) minus one for the shader stage. The name of the selected subroutine is returned as a null-terminated string in $(D_INLINECODE name). The actual number of characters written into $(D_INLINECODE name), not including the null-terminator, is is returned in $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
12942      + ), no length is returned. The maximum number of characters that may be written into $(D_INLINECODE name), including the null-terminator, is given in $(D_INLINECODE bufsize).
12943      + 
12944      + Params:
12945      +     program    = Specifies the name of the program containing the subroutine.
12946      +     shadertype = Specifies the shader stage from which to query the subroutine name.
12947      +     index      = Specifies the index of the shader subroutine uniform.
12948      +     bufsize    = Specifies the size of the buffer whose address is given in $(D_INLINECODE name).
12949      +     length     = Specifies the address of a variable which is to receive the length of the shader subroutine uniform name.
12950      +     name       = Specifies the address of an array into which the name of the shader subroutine uniform will be written.
12951      + 
12952      + Copyright:
12953      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12954      + 
12955      + See_Also:
12956      +     $(D_INLINECODE glGetSubroutineIndex), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetProgramStage)
12957      +/
12958     @OpenGL_Version(OGLIntroducedIn.V4P0)
12959     @OpenGL_Extension("GL_ARB_shader_subroutine")
12960     fn_glGetActiveSubroutineName glGetActiveSubroutineName;
12961     alias fn_glGetActiveSubroutineUniformiv = extern(C) void function(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values) @system @nogc nothrow;
12962 
12963     /++
12964      + glGetActiveSubroutineUniform: man4/glGetActiveSubroutineUniform.xml
12965      + 
12966      + $(D_INLINECODE glGetActiveSubroutineUniform) queries a parameter of an active shader subroutine uniform. $(D_INLINECODE program) contains the name of the program containing the uniform. $(D_INLINECODE shadertype) specifies the stage which which the uniform location, given by $(D_INLINECODE index), is valid. $(D_INLINECODE index) must be between zero and the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORMS) minus one for the shader stage. If $(D_INLINECODE pname) is $(D_INLINECODE GL_NUM_COMPATIBLE_SUBROUTINES), a single integer indicating the number of subroutines that can be assigned to the uniform is returned in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_COMPATIBLE_SUBROUTINES), an array of integers is returned in $(D_INLINECODE values), with each integer specifying the index of an active subroutine that can be assigned to the selected subroutine uniform. The number of integers returned is the same as the value returned for $(D_INLINECODE GL_NUM_COMPATIBLE_SUBROUTINES). If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_SIZE), a single integer is returned in $(D_INLINECODE values). If the selected subroutine uniform is an array, the  declared size of the array is returned; otherwise, one is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_NAME_LENGTH), a single integer specifying the length of the subroutine uniform name (including the terminating null character) is returned in $(D_INLINECODE values).
12967      + 
12968      + Params:
12969      +     program    = Specifies the name of the program containing the subroutine.
12970      +     shadertype = Specifies the shader stage from which to query for the subroutine parameter. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
12971      +     index      = Specifies the index of the shader subroutine uniform.
12972      +     pname      = Specifies the parameter of the shader subroutine uniform to query. $(D_INLINECODE pname) must be $(D_INLINECODE GL_NUM_COMPATIBLE_SUBROUTINES), $(D_INLINECODE GL_COMPATIBLE_SUBROUTINES), $(D_INLINECODE GL_UNIFORM_SIZE) or $(D_INLINECODE GL_UNIFORM_NAME_LENGTH).
12973      +     values     = Specifies the address of a into which the queried value or values will be placed.
12974      + 
12975      + Copyright:
12976      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
12977      + 
12978      + See_Also:
12979      +     $(D_INLINECODE glGetSubroutineIndex), $(D_INLINECODE glGetActiveSubroutineUniformName), $(D_INLINECODE glGetProgramStage)
12980      +/
12981     @OpenGL_Version(OGLIntroducedIn.V4P0)
12982     @OpenGL_Extension("GL_ARB_shader_subroutine")
12983     fn_glGetActiveSubroutineUniformiv glGetActiveSubroutineUniformiv;
12984     alias fn_glGetActiveSubroutineUniformName = extern(C) void function(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar* name) @system @nogc nothrow;
12985 
12986     /++
12987      + glGetActiveSubroutineUniformName: man4/glGetActiveSubroutineUniformName.xml
12988      + 
12989      + $(D_INLINECODE glGetActiveSubroutineUniformName) retrieves the name of an active shader subroutine uniform. $(D_INLINECODE program) contains the name of the program containing the uniform. $(D_INLINECODE shadertype) specifies the stage for which which the uniform location, given by $(D_INLINECODE index), is valid. $(D_INLINECODE index) must be between zero and the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORMS) minus one for the shader stage. The uniform name is returned as a null-terminated string in $(D_INLINECODE name). The actual number of characters written into $(D_INLINECODE name), excluding the null terminator is returned in $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
12990      + ), no length is returned. The maximum number of characters that may be written into $(D_INLINECODE name), including the null terminator, is specified by $(D_INLINECODE bufsize). The length of the longest subroutine uniform name in $(D_INLINECODE program) and $(D_INLINECODE shadertype) is given by the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH), which can be queried with $(D_INLINECODE glGetProgramStage).
12991      + 
12992      + Params:
12993      +     program    = Specifies the name of the program containing the subroutine.
12994      +     shadertype = Specifies the shader stage from which to query for the subroutine parameter. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
12995      +     index      = Specifies the index of the shader subroutine uniform.
12996      +     bufsize    = Specifies the size of the buffer whose address is given in $(D_INLINECODE name).
12997      +     length     = Specifies the address of a variable into which is written the number of characters copied into $(D_INLINECODE name).
12998      +     name       = Specifies the address of a buffer that will receive the name of the specified shader subroutine uniform.
12999      + 
13000      + Copyright:
13001      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13002      + 
13003      + See_Also:
13004      +     $(D_INLINECODE glGetSubroutineIndex), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetProgramStage)
13005      +/
13006     @OpenGL_Version(OGLIntroducedIn.V4P0)
13007     @OpenGL_Extension("GL_ARB_shader_subroutine")
13008     fn_glGetActiveSubroutineUniformName glGetActiveSubroutineUniformName;
13009     alias fn_glGetActiveUniform = extern(C) void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) @system @nogc nothrow;
13010 
13011     /++
13012      + glGetActiveUniform: man4/glGetActiveUniform.xml
13013      + 
13014      + $(D_INLINECODE glGetActiveUniform) returns information about an active uniform variable in the program object specified by $(D_INLINECODE program). The number of active uniform variables can be obtained by calling $(D_INLINECODE glGetProgram) with the value $(D_INLINECODE GL_ACTIVE_UNIFORMS). A value of 0 for $(D_INLINECODE index) selects the first active uniform variable. Permissible values for $(D_INLINECODE index) range from zero to the number of active uniform variables minus one. Shaders may use either built-in uniform variables, user-defined uniform variables, or both. Built-in uniform variables have a prefix of &quot;gl_&quot; and reference existing OpenGL state or values derived from such state (e.g., $(D_INLINECODE gl_DepthRangeParameters), see the OpenGL Shading Language specification for a complete list.) User-defined uniform variables have arbitrary names and obtain their values from the application through calls to $(D_INLINECODE glUniform). A uniform variable (either built-in or user-defined) is considered active if it is determined during the link operation that it may be accessed during program execution. Therefore, $(D_INLINECODE program) should have previously been the target of a call to $(D_INLINECODE glLinkProgram), but it is not necessary for it to have been linked successfully. The size of the character buffer required to store the longest uniform variable name in $(D_INLINECODE program) can be obtained by calling $(D_INLINECODE glGetProgram) with the value $(D_INLINECODE GL_ACTIVE_UNIFORM_MAX_LENGTH). This value should be used to allocate a buffer of sufficient size to store the returned uniform variable name. The size of this character buffer is passed in $(D_INLINECODE bufSize), and a pointer to this character buffer is passed in $(D_INLINECODE name.) $(D_INLINECODE glGetActiveUniform) returns the name of the uniform variable indicated by $(D_INLINECODE index), storing it in the character buffer specified by $(D_INLINECODE name). The string returned will be null terminated. The actual number of characters written into this buffer is returned in $(D_INLINECODE length), and this count does not include the null termination character. If the length of the returned string is not required, a value of $(D_INLINECODE null
13015      + ) can be passed in the $(D_INLINECODE length) argument. The $(D_INLINECODE type) argument will return a pointer to the uniform variable's data type. The symbolic constants returned for uniform types are shown in the table below. $(B Returned Symbolic Contant) $(B Shader Uniform Type) $(D_INLINECODE GL_FLOAT) $(D_INLINECODE float) $(D_INLINECODE GL_FLOAT_VEC2) $(D_INLINECODE vec2) $(D_INLINECODE GL_FLOAT_VEC3) $(D_INLINECODE vec3) $(D_INLINECODE GL_FLOAT_VEC4) $(D_INLINECODE vec4) $(D_INLINECODE GL_DOUBLE) $(D_INLINECODE double) $(D_INLINECODE GL_DOUBLE_VEC2) $(D_INLINECODE dvec2) $(D_INLINECODE GL_DOUBLE_VEC3) $(D_INLINECODE dvec3) $(D_INLINECODE GL_DOUBLE_VEC4) $(D_INLINECODE dvec4) $(D_INLINECODE GL_INT) $(D_INLINECODE int) $(D_INLINECODE GL_INT_VEC2) $(D_INLINECODE ivec2) $(D_INLINECODE GL_INT_VEC3) $(D_INLINECODE ivec3) $(D_INLINECODE GL_INT_VEC4) $(D_INLINECODE ivec4) $(D_INLINECODE GL_UNSIGNED_INT) $(D_INLINECODE unsigned int) $(D_INLINECODE GL_UNSIGNED_INT_VEC2) $(D_INLINECODE uvec2) $(D_INLINECODE GL_UNSIGNED_INT_VEC3) $(D_INLINECODE uvec3) $(D_INLINECODE GL_UNSIGNED_INT_VEC4) $(D_INLINECODE uvec4) $(D_INLINECODE GL_BOOL) $(D_INLINECODE bool) $(D_INLINECODE GL_BOOL_VEC2) $(D_INLINECODE bvec2) $(D_INLINECODE GL_BOOL_VEC3) $(D_INLINECODE bvec3) $(D_INLINECODE GL_BOOL_VEC4) $(D_INLINECODE bvec4) $(D_INLINECODE GL_FLOAT_MAT2) $(D_INLINECODE mat2) $(D_INLINECODE GL_FLOAT_MAT3) $(D_INLINECODE mat3) $(D_INLINECODE GL_FLOAT_MAT4) $(D_INLINECODE mat4) $(D_INLINECODE GL_FLOAT_MAT2x3) $(D_INLINECODE mat2x3) $(D_INLINECODE GL_FLOAT_MAT2x4) $(D_INLINECODE mat2x4) $(D_INLINECODE GL_FLOAT_MAT3x2) $(D_INLINECODE mat3x2) $(D_INLINECODE GL_FLOAT_MAT3x4) $(D_INLINECODE mat3x4) $(D_INLINECODE GL_FLOAT_MAT4x2) $(D_INLINECODE mat4x2) $(D_INLINECODE GL_FLOAT_MAT4x3) $(D_INLINECODE mat4x3) $(D_INLINECODE GL_DOUBLE_MAT2) $(D_INLINECODE dmat2) $(D_INLINECODE GL_DOUBLE_MAT3) $(D_INLINECODE dmat3) $(D_INLINECODE GL_DOUBLE_MAT4) $(D_INLINECODE dmat4) $(D_INLINECODE GL_DOUBLE_MAT2x3) $(D_INLINECODE dmat2x3) $(D_INLINECODE GL_DOUBLE_MAT2x4) $(D_INLINECODE dmat2x4) $(D_INLINECODE GL_DOUBLE_MAT3x2) $(D_INLINECODE dmat3x2) $(D_INLINECODE GL_DOUBLE_MAT3x4) $(D_INLINECODE dmat3x4) $(D_INLINECODE GL_DOUBLE_MAT4x2) $(D_INLINECODE dmat4x2) $(D_INLINECODE GL_DOUBLE_MAT4x3) $(D_INLINECODE dmat4x3) $(D_INLINECODE GL_SAMPLER_1D) $(D_INLINECODE sampler1D) $(D_INLINECODE GL_SAMPLER_2D) $(D_INLINECODE sampler2D) $(D_INLINECODE GL_SAMPLER_3D) $(D_INLINECODE sampler3D) $(D_INLINECODE GL_SAMPLER_CUBE) $(D_INLINECODE samplerCube) $(D_INLINECODE GL_SAMPLER_1D_SHADOW) $(D_INLINECODE sampler1DShadow) $(D_INLINECODE GL_SAMPLER_2D_SHADOW) $(D_INLINECODE sampler2DShadow) $(D_INLINECODE GL_SAMPLER_1D_ARRAY) $(D_INLINECODE sampler1DArray) $(D_INLINECODE GL_SAMPLER_2D_ARRAY) $(D_INLINECODE sampler2DArray) $(D_INLINECODE GL_SAMPLER_1D_ARRAY_SHADOW) $(D_INLINECODE sampler1DArrayShadow) $(D_INLINECODE GL_SAMPLER_2D_ARRAY_SHADOW) $(D_INLINECODE sampler2DArrayShadow) $(D_INLINECODE GL_SAMPLER_2D_MULTISAMPLE) $(D_INLINECODE sampler2DMS) $(D_INLINECODE GL_SAMPLER_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE sampler2DMSArray) $(D_INLINECODE GL_SAMPLER_CUBE_SHADOW) $(D_INLINECODE samplerCubeShadow) $(D_INLINECODE GL_SAMPLER_BUFFER) $(D_INLINECODE samplerBuffer) $(D_INLINECODE GL_SAMPLER_2D_RECT) $(D_INLINECODE sampler2DRect) $(D_INLINECODE GL_SAMPLER_2D_RECT_SHADOW) $(D_INLINECODE sampler2DRectShadow) $(D_INLINECODE GL_INT_SAMPLER_1D) $(D_INLINECODE isampler1D) $(D_INLINECODE GL_INT_SAMPLER_2D) $(D_INLINECODE isampler2D) $(D_INLINECODE GL_INT_SAMPLER_3D) $(D_INLINECODE isampler3D) $(D_INLINECODE GL_INT_SAMPLER_CUBE) $(D_INLINECODE isamplerCube) $(D_INLINECODE GL_INT_SAMPLER_1D_ARRAY) $(D_INLINECODE isampler1DArray) $(D_INLINECODE GL_INT_SAMPLER_2D_ARRAY) $(D_INLINECODE isampler2DArray) $(D_INLINECODE GL_INT_SAMPLER_2D_MULTISAMPLE) $(D_INLINECODE isampler2DMS) $(D_INLINECODE GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE isampler2DMSArray) $(D_INLINECODE GL_INT_SAMPLER_BUFFER) $(D_INLINECODE isamplerBuffer) $(D_INLINECODE GL_INT_SAMPLER_2D_RECT) $(D_INLINECODE isampler2DRect) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_1D) $(D_INLINECODE usampler1D) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D) $(D_INLINECODE usampler2D) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_3D) $(D_INLINECODE usampler3D) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_CUBE) $(D_INLINECODE usamplerCube) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_1D_ARRAY) $(D_INLINECODE usampler2DArray) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_ARRAY) $(D_INLINECODE usampler2DArray) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE) $(D_INLINECODE usampler2DMS) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE usampler2DMSArray) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_BUFFER) $(D_INLINECODE usamplerBuffer) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_RECT) $(D_INLINECODE usampler2DRect) $(D_INLINECODE GL_IMAGE_1D) $(D_INLINECODE image1D) $(D_INLINECODE GL_IMAGE_2D) $(D_INLINECODE image2D) $(D_INLINECODE GL_IMAGE_3D) $(D_INLINECODE image3D) $(D_INLINECODE GL_IMAGE_2D_RECT) $(D_INLINECODE image2DRect) $(D_INLINECODE GL_IMAGE_CUBE) $(D_INLINECODE imageCube) $(D_INLINECODE GL_IMAGE_BUFFER) $(D_INLINECODE imageBuffer) $(D_INLINECODE GL_IMAGE_1D_ARRAY) $(D_INLINECODE image1DArray) $(D_INLINECODE GL_IMAGE_2D_ARRAY) $(D_INLINECODE image2DArray) $(D_INLINECODE GL_IMAGE_2D_MULTISAMPLE) $(D_INLINECODE image2DMS) $(D_INLINECODE GL_IMAGE_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE image2DMSArray) $(D_INLINECODE GL_INT_IMAGE_1D) $(D_INLINECODE iimage1D) $(D_INLINECODE GL_INT_IMAGE_2D) $(D_INLINECODE iimage2D) $(D_INLINECODE GL_INT_IMAGE_3D) $(D_INLINECODE iimage3D) $(D_INLINECODE GL_INT_IMAGE_2D_RECT) $(D_INLINECODE iimage2DRect) $(D_INLINECODE GL_INT_IMAGE_CUBE) $(D_INLINECODE iimageCube) $(D_INLINECODE GL_INT_IMAGE_BUFFER) $(D_INLINECODE iimageBuffer) $(D_INLINECODE GL_INT_IMAGE_1D_ARRAY) $(D_INLINECODE iimage1DArray) $(D_INLINECODE GL_INT_IMAGE_2D_ARRAY) $(D_INLINECODE iimage2DArray) $(D_INLINECODE GL_INT_IMAGE_2D_MULTISAMPLE) $(D_INLINECODE iimage2DMS) $(D_INLINECODE GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE iimage2DMSArray) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_1D) $(D_INLINECODE uimage1D) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D) $(D_INLINECODE uimage2D) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_3D) $(D_INLINECODE uimage3D) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_RECT) $(D_INLINECODE uimage2DRect) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_CUBE) $(D_INLINECODE uimageCube) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_BUFFER) $(D_INLINECODE uimageBuffer) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_1D_ARRAY) $(D_INLINECODE uimage1DArray) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_ARRAY) $(D_INLINECODE uimage2DArray) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE) $(D_INLINECODE uimage2DMS) $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE uimage2DMSArray) $(D_INLINECODE GL_UNSIGNED_INT_ATOMIC_COUNTER) $(D_INLINECODE atomic_uint) If one or more elements of an array are active, the name of the array is returned in $(D_INLINECODE name), the type is returned in $(D_INLINECODE type), and the $(D_INLINECODE size) parameter returns the highest array element index used, plus one, as determined by the compiler and/or linker. Only one active uniform variable will be reported for a uniform array. Uniform variables that are declared as structures or arrays of structures will not be returned directly by this function. Instead, each of these uniform variables will be reduced to its fundamental components containing the &quot;.&quot; and &quot;[]&quot; operators such that each of the names is valid as an argument to $(D_INLINECODE glGetUniformLocation). Each of these reduced uniform variables is counted as one active uniform variable and is assigned an index. A valid name cannot be a structure, an array of structures, or a subcomponent of a vector or matrix. The size of the uniform variable will be returned in $(D_INLINECODE size). Uniform variables other than arrays will have a size of 1. Structures and arrays of structures will be reduced as described earlier, such that each of the names returned will be a data type in the earlier list. If this reduction results in an array, the size returned will be as described for uniform arrays; otherwise, the size returned will be 1. The list of active uniform variables may include both built-in uniform variables (which begin with the prefix &quot;gl_&quot;) as well as user-defined uniform variable names. This function will return as much information as it can about the specified active uniform variable. If no information is available, $(D_INLINECODE length) will be 0, and $(D_INLINECODE name) will be an empty string. This situation could occur if this function is called after a link operation that failed. If an error occurs, the return values $(D_INLINECODE length), $(D_INLINECODE size), $(D_INLINECODE type), and $(D_INLINECODE name) will be unmodified.
13016      + 
13017      + The double types, $(D_INLINECODE GL_DOUBLE), $(D_INLINECODE GL_DOUBLE_VEC2), $(D_INLINECODE GL_DOUBLE_VEC3), $(D_INLINECODE GL_DOUBLE_VEC4), $(D_INLINECODE GL_DOUBLE_MAT2), $(D_INLINECODE GL_DOUBLE_MAT3), $(D_INLINECODE GL_DOUBLE_MAT4), $(D_INLINECODE GL_DOUBLE_MAT2x3), $(D_INLINECODE GL_DOUBLE_MAT2x4), $(D_INLINECODE GL_DOUBLE_MAT3x2), $(D_INLINECODE GL_DOUBLE_MAT3x4), $(D_INLINECODE GL_DOUBLE_MAT4x2), and $(D_INLINECODE GL_DOUBLE_MAT4x3) are only available if the GL version is 4.1 or higher. The image types, $(D_INLINECODE GL_IMAGE_1D), $(D_INLINECODE GL_IMAGE_2D), $(D_INLINECODE GL_IMAGE_3D), $(D_INLINECODE GL_IMAGE_2D_RECT), $(D_INLINECODE GL_IMAGE_CUBE), $(D_INLINECODE GL_IMAGE_BUFFER), $(D_INLINECODE GL_IMAGE_1D_ARRAY), $(D_INLINECODE GL_IMAGE_2D_ARRAY), $(D_INLINECODE GL_IMAGE_2D_MULTISAMPLE), $(D_INLINECODE GL_IMAGE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_INT_IMAGE_1D), $(D_INLINECODE GL_INT_IMAGE_2D), $(D_INLINECODE GL_INT_IMAGE_3D), $(D_INLINECODE GL_INT_IMAGE_2D_RECT), $(D_INLINECODE GL_INT_IMAGE_CUBE), $(D_INLINECODE GL_INT_IMAGE_BUFFER), $(D_INLINECODE GL_INT_IMAGE_1D_ARRAY), $(D_INLINECODE GL_INT_IMAGE_2D_ARRAY), $(D_INLINECODE GL_INT_IMAGE_2D_MULTISAMPLE), $(D_INLINECODE GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_1D), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_3D), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_RECT), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_CUBE), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_BUFFER), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_1D_ARRAY), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_ARRAY), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE), $(D_INLINECODE GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY), and the atomic counter type, $(D_INLINECODE GL_UNSIGNED_INT_ATOMIC_COUNTER) are only available if the GL version is 4.2 or higher.
13018      + 
13019      + Params:
13020      +     program = Specifies the program object to be queried.
13021      +     index   = Specifies the index of the uniform variable to be queried.
13022      +     bufSize = Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by $(D_INLINECODE name).
13023      +     length  = Returns the number of characters actually written by OpenGL in the string indicated by $(D_INLINECODE name) (excluding the null terminator) if a value other than $(D_INLINECODE null) is passed.
13024      +     size    = Returns the size of the uniform variable.
13025      +     type    = Returns the data type of the uniform variable.
13026      +     name    = Returns a null terminated string containing the name of the uniform variable.
13027      + 
13028      + Copyright:
13029      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13030      + 
13031      + See_Also:
13032      +     $(D_INLINECODE glGetUniform), $(D_INLINECODE glGetUniformLocation), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform), $(D_INLINECODE glUseProgram)
13033      +/
13034     @OpenGL_Version(OGLIntroducedIn.V2P0)
13035     fn_glGetActiveUniform glGetActiveUniform;
13036     alias fn_glGetActiveUniformBlockiv = extern(C) void function(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) @system @nogc nothrow;
13037 
13038     /++
13039      + glGetActiveUniformBlock: man4/glGetActiveUniformBlock.xml
13040      + 
13041      + $(D_INLINECODE glGetActiveUniformBlockiv) retrieves information about an active uniform block within $(D_INLINECODE program). $(D_INLINECODE program) must be the name of a program object for which the command $(D_INLINECODE glLinkProgram) must have been called in the past, although it is not required that $(D_INLINECODE glLinkProgram) must have succeeded. The link could have failed because the number of active uniforms exceeded the limit. $(D_INLINECODE uniformBlockIndex) is an active uniform block index of $(D_INLINECODE program), and must be less than the value of $(D_INLINECODE GL_ACTIVE_UNIFORM_BLOCKS). Upon success, the uniform block parameter(s) specified by $(D_INLINECODE pname) are returned in $(D_INLINECODE params). If an error occurs, nothing will be written to $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_BINDING), then the index of the uniform buffer binding point last selected by the uniform block specified by $(D_INLINECODE uniformBlockIndex) for $(D_INLINECODE program) is returned. If no uniform block has been previously specified, zero is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_DATA_SIZE), then the implementation-dependent minimum total buffer object size, in basic machine units, required to hold all active uniforms in the uniform block identified by $(D_INLINECODE uniformBlockIndex) is returned. It is neither guaranteed nor expected that a given implementation will arrange uniform values as tightly packed in a buffer object. The exception to this is the, which guarantees specific packing behavior and does not require the application to query for offsets and strides. In this case the minimum size may still be queried, even though it is determined in advance based only on the uniform block declaration. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_NAME_LENGTH), then the total length (including the nul terminator) of the name of the uniform block identified by $(D_INLINECODE uniformBlockIndex) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS), then the number of active uniforms in the uniform block identified by $(D_INLINECODE uniformBlockIndex) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES), then a list of the active uniform indices for the uniform block identified by $(D_INLINECODE uniformBlockIndex) is returned. The number of elements that will be written to $(D_INLINECODE params) is the value of $(D_INLINECODE GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS) for $(D_INLINECODE uniformBlockIndex). If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER), $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER), $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER), $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER), or $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER) then a boolean value indicating whether the uniform block identified by $(D_INLINECODE uniformBlockIndex) is referenced by the vertex, tessellation control, tessellation evaluation, geometry, fragment or compute programming stages of program, respectively, is returned.
13042      + 
13043      + $(D_INLINECODE glGetActiveUniformBlockiv) is available only if the GL version is 3.1 or greater. $(D_INLINECODE GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER) is accepted only if the GL version is 4.3 or greater.
13044      + 
13045      + Params:
13046      +     program           = Specifies the name of a program containing the uniform block.
13047      +     uniformBlockIndex = Specifies the index of the uniform block within $(D_INLINECODE program).
13048      +     pname             = Specifies the name of the parameter to query.
13049      +     params            = Specifies the address of a variable to receive the result of the query.
13050      + 
13051      + Copyright:
13052      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13053      + 
13054      + See_Also:
13055      +     $(D_INLINECODE glGetActiveUniformBlockName), $(D_INLINECODE glGetUniformBlockIndex), $(D_INLINECODE glLinkProgram)
13056      +/
13057     @OpenGL_Version(OGLIntroducedIn.V3P1)
13058     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
13059     fn_glGetActiveUniformBlockiv glGetActiveUniformBlockiv;
13060     alias fn_glGetActiveUniformBlockName = extern(C) void function(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) @system @nogc nothrow;
13061 
13062     /++
13063      + glGetActiveUniformBlockName: man4/glGetActiveUniformBlockName.xml
13064      + 
13065      + $(D_INLINECODE glGetActiveUniformBlockName) retrieves the name of the active uniform block at $(D_INLINECODE uniformBlockIndex) within $(D_INLINECODE program). $(D_INLINECODE program) must be the name of a program object for which the command $(D_INLINECODE glLinkProgram) must have been called in the past, although it is not required that $(D_INLINECODE glLinkProgram) must have succeeded. The link could have failed because the number of active uniforms exceeded the limit. $(D_INLINECODE uniformBlockIndex) is an active uniform block index of $(D_INLINECODE program), and must be less than the value of $(D_INLINECODE GL_ACTIVE_UNIFORM_BLOCKS). Upon success, the name of the uniform block identified by $(D_INLINECODE unifomBlockIndex) is returned into $(D_INLINECODE uniformBlockName). The name is nul-terminated. The actual number of characters written into $(D_INLINECODE uniformBlockName), excluding the nul terminator, is returned in $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
13066      + ), no length is returned. $(D_INLINECODE bufSize) contains the maximum number of characters (including the nul terminator) that will be written into $(D_INLINECODE uniformBlockName). If an error occurs, nothing will be written to $(D_INLINECODE uniformBlockName) or $(D_INLINECODE length).
13067      + 
13068      + $(D_INLINECODE glGetActiveUniformBlockName) is available only if the GL version is 3.1 or greater.
13069      + 
13070      + Params:
13071      +     program           = Specifies the name of a program containing the uniform block.
13072      +     uniformBlockIndex = Specifies the index of the uniform block within $(D_INLINECODE program).
13073      +     bufSize           = Specifies the size of the buffer addressed by $(D_INLINECODE uniformBlockName).
13074      +     length            = Specifies the address of a variable to receive the number of characters that were written to $(D_INLINECODE uniformBlockName).
13075      +     uniformBlockName  = Specifies the address an array of characters to receive the name of the uniform block at $(D_INLINECODE uniformBlockIndex).
13076      + 
13077      + Copyright:
13078      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13079      + 
13080      + See_Also:
13081      +     $(D_INLINECODE glGetActiveUniformBlock), $(D_INLINECODE glGetUniformBlockIndex)
13082      +/
13083     @OpenGL_Version(OGLIntroducedIn.V3P1)
13084     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
13085     fn_glGetActiveUniformBlockName glGetActiveUniformBlockName;
13086     alias fn_glGetActiveUniformName = extern(C) void function(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName) @system @nogc nothrow;
13087 
13088     /++
13089      + glGetActiveUniformName: man4/glGetActiveUniformName.xml
13090      + 
13091      + $(D_INLINECODE glGetActiveUniformName) returns the name of the active uniform at $(D_INLINECODE uniformIndex) within $(D_INLINECODE program). If $(D_INLINECODE uniformName) is not $(D_INLINECODE null
13092      + ), up to $(D_INLINECODE bufSize) characters (including a nul-terminator) will be written into the array whose address is specified by $(D_INLINECODE uniformName). If $(D_INLINECODE length) is not $(D_INLINECODE null
13093      + ), the number of characters that were (or would have been) written into $(D_INLINECODE uniformName) (not including the nul-terminator) will be placed in the variable whose address is specified in $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
13094      + ), no length is returned. The length of the longest uniform name in $(D_INLINECODE program) is given by the value of $(D_INLINECODE GL_ACTIVE_UNIFORM_MAX_LENGTH), which can be queried with $(D_INLINECODE glGetProgram). If $(D_INLINECODE glGetActiveUniformName) is not successful, nothing is written to $(D_INLINECODE length) or $(D_INLINECODE uniformName). $(D_INLINECODE program) must be the name of a program for which the command $(D_INLINECODE glLinkProgram) has been issued in the past. It is not necessary for $(D_INLINECODE program) to have been linked successfully. The link could have failed because the number of active uniforms exceeded the limit. $(D_INLINECODE uniformIndex) must be an active uniform index of the program $(D_INLINECODE program), in the range zero to the value of $(D_INLINECODE GL_ACTIVE_UNIFORMS) minus one. The value of $(D_INLINECODE GL_ACTIVE_UNIFORMS) can be queried with $(D_INLINECODE glGetProgram).
13095      + 
13096      + Params:
13097      +     program      = Specifies the program containing the active uniform index $(D_INLINECODE uniformIndex).
13098      +     uniformIndex = Specifies the index of the active uniform whose name to query.
13099      +     bufSize      = Specifies the size of the buffer, in units of $(D_INLINECODE GLchar), of the buffer whose address is specified in $(D_INLINECODE uniformName).
13100      +     length       = Specifies the address of a variable that will receive the number of characters that were or would have been written to the buffer addressed by $(D_INLINECODE uniformName).
13101      +     uniformName  = Specifies the address of a buffer into which the GL will place the name of the active uniform at $(D_INLINECODE uniformIndex) within $(D_INLINECODE program).
13102      + 
13103      + Copyright:
13104      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13105      + 
13106      + See_Also:
13107      +     $(D_INLINECODE glGetActiveUniform), $(D_INLINECODE glGetUniformIndices), $(D_INLINECODE glGetProgram), $(D_INLINECODE glLinkProgram)
13108      +/
13109     @OpenGL_Version(OGLIntroducedIn.V3P1)
13110     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
13111     fn_glGetActiveUniformName glGetActiveUniformName;
13112     alias fn_glGetActiveUniformsiv = extern(C) void function(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params) @system @nogc nothrow;
13113 
13114     /++
13115      + glGetActiveUniformsiv: man4/glGetActiveUniformsiv.xml
13116      + 
13117      + $(D_INLINECODE glGetActiveUniformsiv) queries the value of the parameter named $(D_INLINECODE pname) for each of the uniforms within $(D_INLINECODE program) whose indices are specified in the array of $(D_INLINECODE uniformCount) unsigned integers $(D_INLINECODE uniformIndices). Upon success, the value of the parameter for each uniform is written into the corresponding entry in the array whose address is given in $(D_INLINECODE params). If an error is generated, nothing is written into $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_TYPE), then an array identifying the types of uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. The returned types can be any of the values from the following table: $(B Returned Symbolic Contant) $(B Shader Uniform Type) $(D_INLINECODE GL_FLOAT) $(D_INLINECODE float) $(D_INLINECODE GL_FLOAT_VEC2) $(D_INLINECODE vec2) $(D_INLINECODE GL_FLOAT_VEC3) $(D_INLINECODE vec3) $(D_INLINECODE GL_FLOAT_VEC4) $(D_INLINECODE vec4) $(D_INLINECODE GL_DOUBLE) $(D_INLINECODE double) $(D_INLINECODE GL_DOUBLE_VEC2) $(D_INLINECODE dvec2) $(D_INLINECODE GL_DOUBLE_VEC3) $(D_INLINECODE dvec3) $(D_INLINECODE GL_DOUBLE_VEC4) $(D_INLINECODE dvec4) $(D_INLINECODE GL_INT) $(D_INLINECODE int) $(D_INLINECODE GL_INT_VEC2) $(D_INLINECODE ivec2) $(D_INLINECODE GL_INT_VEC3) $(D_INLINECODE ivec3) $(D_INLINECODE GL_INT_VEC4) $(D_INLINECODE ivec4) $(D_INLINECODE GL_UNSIGNED_INT) $(D_INLINECODE unsigned int) $(D_INLINECODE GL_UNSIGNED_INT_VEC2) $(D_INLINECODE uvec2) $(D_INLINECODE GL_UNSIGNED_INT_VEC3) $(D_INLINECODE uvec3) $(D_INLINECODE GL_UNSIGNED_INT_VEC4) $(D_INLINECODE uvec4) $(D_INLINECODE GL_BOOL) $(D_INLINECODE bool) $(D_INLINECODE GL_BOOL_VEC2) $(D_INLINECODE bvec2) $(D_INLINECODE GL_BOOL_VEC3) $(D_INLINECODE bvec3) $(D_INLINECODE GL_BOOL_VEC4) $(D_INLINECODE bvec4) $(D_INLINECODE GL_FLOAT_MAT2) $(D_INLINECODE mat2) $(D_INLINECODE GL_FLOAT_MAT3) $(D_INLINECODE mat3) $(D_INLINECODE GL_FLOAT_MAT4) $(D_INLINECODE mat4) $(D_INLINECODE GL_FLOAT_MAT2x3) $(D_INLINECODE mat2x3) $(D_INLINECODE GL_FLOAT_MAT2x4) $(D_INLINECODE mat2x4) $(D_INLINECODE GL_FLOAT_MAT3x2) $(D_INLINECODE mat3x2) $(D_INLINECODE GL_FLOAT_MAT3x4) $(D_INLINECODE mat3x4) $(D_INLINECODE GL_FLOAT_MAT4x2) $(D_INLINECODE mat4x2) $(D_INLINECODE GL_FLOAT_MAT4x3) $(D_INLINECODE mat4x3) $(D_INLINECODE GL_DOUBLE_MAT2) $(D_INLINECODE dmat2) $(D_INLINECODE GL_DOUBLE_MAT3) $(D_INLINECODE dmat3) $(D_INLINECODE GL_DOUBLE_MAT4) $(D_INLINECODE dmat4) $(D_INLINECODE GL_DOUBLE_MAT2x3) $(D_INLINECODE dmat2x3) $(D_INLINECODE GL_DOUBLE_MAT2x4) $(D_INLINECODE dmat2x4) $(D_INLINECODE GL_DOUBLE_MAT3x2) $(D_INLINECODE dmat3x2) $(D_INLINECODE GL_DOUBLE_MAT3x4) $(D_INLINECODE dmat3x4) $(D_INLINECODE GL_DOUBLE_MAT4x2) $(D_INLINECODE dmat4x2) $(D_INLINECODE GL_DOUBLE_MAT4x3) $(D_INLINECODE dmat4x3) $(D_INLINECODE GL_SAMPLER_1D) $(D_INLINECODE sampler1D) $(D_INLINECODE GL_SAMPLER_2D) $(D_INLINECODE sampler2D) $(D_INLINECODE GL_SAMPLER_3D) $(D_INLINECODE sampler3D) $(D_INLINECODE GL_SAMPLER_CUBE) $(D_INLINECODE samplerCube) $(D_INLINECODE GL_SAMPLER_1D_SHADOW) $(D_INLINECODE sampler1DShadow) $(D_INLINECODE GL_SAMPLER_2D_SHADOW) $(D_INLINECODE sampler2DShadow) $(D_INLINECODE GL_SAMPLER_1D_ARRAY) $(D_INLINECODE sampler1DArray) $(D_INLINECODE GL_SAMPLER_2D_ARRAY) $(D_INLINECODE sampler2DArray) $(D_INLINECODE GL_SAMPLER_1D_ARRAY_SHADOW) $(D_INLINECODE sampler1DArrayShadow) $(D_INLINECODE GL_SAMPLER_2D_ARRAY_SHADOW) $(D_INLINECODE sampler2DArrayShadow) $(D_INLINECODE GL_SAMPLER_2D_MULTISAMPLE) $(D_INLINECODE sampler2DMS) $(D_INLINECODE GL_SAMPLER_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE sampler2DMSArray) $(D_INLINECODE GL_SAMPLER_CUBE_SHADOW) $(D_INLINECODE samplerCubeShadow) $(D_INLINECODE GL_SAMPLER_BUFFER) $(D_INLINECODE samplerBuffer) $(D_INLINECODE GL_SAMPLER_2D_RECT) $(D_INLINECODE sampler2DRect) $(D_INLINECODE GL_SAMPLER_2D_RECT_SHADOW) $(D_INLINECODE sampler2DRectShadow) $(D_INLINECODE GL_INT_SAMPLER_1D) $(D_INLINECODE isampler1D) $(D_INLINECODE GL_INT_SAMPLER_2D) $(D_INLINECODE isampler2D) $(D_INLINECODE GL_INT_SAMPLER_3D) $(D_INLINECODE isampler3D) $(D_INLINECODE GL_INT_SAMPLER_CUBE) $(D_INLINECODE isamplerCube) $(D_INLINECODE GL_INT_SAMPLER_1D_ARRAY) $(D_INLINECODE isampler1DArray) $(D_INLINECODE GL_INT_SAMPLER_2D_ARRAY) $(D_INLINECODE isampler2DArray) $(D_INLINECODE GL_INT_SAMPLER_2D_MULTISAMPLE) $(D_INLINECODE isampler2DMS) $(D_INLINECODE GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE isampler2DMSArray) $(D_INLINECODE GL_INT_SAMPLER_BUFFER) $(D_INLINECODE isamplerBuffer) $(D_INLINECODE GL_INT_SAMPLER_2D_RECT) $(D_INLINECODE isampler2DRect) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_1D) $(D_INLINECODE usampler1D) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D) $(D_INLINECODE usampler2D) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_3D) $(D_INLINECODE usampler3D) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_CUBE) $(D_INLINECODE usamplerCube) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_1D_ARRAY) $(D_INLINECODE usampler2DArray) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_ARRAY) $(D_INLINECODE usampler2DArray) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE) $(D_INLINECODE usampler2DMS) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE usampler2DMSArray) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_BUFFER) $(D_INLINECODE usamplerBuffer) $(D_INLINECODE GL_UNSIGNED_INT_SAMPLER_2D_RECT) $(D_INLINECODE usampler2DRect) If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_SIZE), then an array identifying the size of the uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. The sizes returned are in units of the type returned by a query of $(D_INLINECODE GL_UNIFORM_TYPE). For active uniforms that are arrays, the size is the number of active elements in the array; for all other uniforms, the size is one. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_NAME_LENGTH), then an array identifying the length, including the terminating null character, of the uniform name strings specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_BLOCK_INDEX), then an array identifying the the uniform block index of each of the uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. The uniform block index of a uniform associated with the default uniform block is -1. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_OFFSET), then an array of uniform buffer offsets is returned. For uniforms in a named uniform block, the returned value will be its offset, in basic machine units, relative to the beginning of the uniform block in the buffer object data store. For atomic counter uniforms, the returned value will be its offset relative to the beginning of its active atomic counter buffer. For all other uniforms, -1 will be returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_ARRAY_STRIDE), then an array identifying the stride between elements of each of the uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. For uniforms in named uniform blocks and for uniforms declared as atomic counters, the stride is the difference, in basic machine units, of consecutive elements in an array, or zero for uniforms not declared as an array. For all other uniforms, a stride of -1 will be returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_MATRIX_STRIDE), then an array identifying the stride between columns of a column-major matrix or rows of a row-major matrix, in basic machine units, of each of the uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. The matrix stride of a uniform associated with the default uniform block is -1. Note that this information only makes sense for uniforms that are matrices. For uniforms that are not matrices, but are declared in a named uniform block, a matrix stride of zero is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_IS_ROW_MAJOR), then an array identifying whether each of the uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is a row-major matrix or not is returned. A value of one indicates a row-major matrix, and a value of zero indicates a column-major matrix, a matrix in the default uniform block, or a non-matrix. If $(D_INLINECODE pname) is $(D_INLINECODE GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX), then an array identifying the active atomic counter buffer index of each of the uniforms specified by the corresponding array of $(D_INLINECODE uniformIndices) is returned. For uniforms other than atomic counters, the returned buffer index is -1. The returned indices may be passed to $(D_INLINECODE glGetActiveAtomicCounterBufferiv) to query the properties of the associated buffer, and not necessarily the binding point specified in the uniform declaration.
13118      + 
13119      + The double types, $(D_INLINECODE GL_DOUBLE), $(D_INLINECODE GL_DOUBLE_VEC2), $(D_INLINECODE GL_DOUBLE_VEC3), $(D_INLINECODE GL_DOUBLE_VEC4), $(D_INLINECODE GL_DOUBLE_MAT2), $(D_INLINECODE GL_DOUBLE_MAT3), $(D_INLINECODE GL_DOUBLE_MAT4), $(D_INLINECODE GL_DOUBLE_MAT2x3), $(D_INLINECODE GL_DOUBLE_MAT2x4), $(D_INLINECODE GL_DOUBLE_MAT3x2), $(D_INLINECODE GL_DOUBLE_MAT3x4), $(D_INLINECODE GL_DOUBLE_MAT4x2), and $(D_INLINECODE GL_DOUBLE_MAT4x3) are only available if the GL version is 4.1 or higher. $(D_INLINECODE GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX) is only accepted by $(D_INLINECODE pname) if the GL version is 4.2 or higher.
13120      + 
13121      + Params:
13122      +     program        = Specifies the program object to be queried.
13123      +     uniformCount   = Specifies both the number of elements in the array of indices $(D_INLINECODE uniformIndices) and the number of parameters written to $(D_INLINECODE params) upon successful return.
13124      +     uniformIndices = Specifies the address of an array of $(D_INLINECODE uniformCount) integers containing the indices of uniforms within $(D_INLINECODE program) whose parameter $(D_INLINECODE pname) should be queried.
13125      +     pname          = Specifies the property of each uniform in $(D_INLINECODE uniformIndices) that should be written into the corresponding element of $(D_INLINECODE params).
13126      +     params         = Specifies the address of an array of $(D_INLINECODE uniformCount) integers which are to receive the value of $(D_INLINECODE pname) for each uniform in $(D_INLINECODE uniformIndices).
13127      + 
13128      + Copyright:
13129      +     Copyright&copy; 2011-2014 Khronos Group This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13130      + 
13131      + See_Also:
13132      +     $(D_INLINECODE glGetUniform), $(D_INLINECODE glGetActiveUniform), $(D_INLINECODE glGetUniformLocation), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform), $(D_INLINECODE glUseProgram)
13133      +/
13134     @OpenGL_Version(OGLIntroducedIn.V3P1)
13135     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
13136     fn_glGetActiveUniformsiv glGetActiveUniformsiv;
13137     alias fn_glGetAttachedShaders = extern(C) void function(GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders) @system @nogc nothrow;
13138 
13139     /++
13140      + glGetAttachedShaders: man4/glGetAttachedShaders.xml
13141      + 
13142      + $(D_INLINECODE glGetAttachedShaders) returns the names of the shader objects attached to $(D_INLINECODE program). The names of shader objects that are attached to $(D_INLINECODE program) will be returned in $(D_INLINECODE shaders.) The actual number of shader names written into $(D_INLINECODE shaders) is returned in $(D_INLINECODE count.) If no shader objects are attached to $(D_INLINECODE program), $(D_INLINECODE count) is set to 0. The maximum number of shader names that may be returned in $(D_INLINECODE shaders) is specified by $(D_INLINECODE maxCount). If the number of names actually returned is not required (for instance, if it has just been obtained by calling $(D_INLINECODE glGetProgram) ), a value of $(D_INLINECODE null
13143      + ) may be passed for count. If no shader objects are attached to $(D_INLINECODE program), a value of 0 will be returned in $(D_INLINECODE count). The actual number of attached shaders can be obtained by calling $(D_INLINECODE glGetProgram) with the value $(D_INLINECODE GL_ATTACHED_SHADERS).
13144      + 
13145      + Params:
13146      +     program  = Specifies the program object to be queried.
13147      +     maxCount = Specifies the size of the array for storing the returned object names.
13148      +     count    = Returns the number of names actually returned in $(D_INLINECODE shaders).
13149      +     shaders  = Specifies an array that is used to return the names of attached shader objects.
13150      + 
13151      + Copyright:
13152      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13153      + 
13154      + See_Also:
13155      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glDetachShader).
13156      +/
13157     @OpenGL_Version(OGLIntroducedIn.V2P0)
13158     fn_glGetAttachedShaders glGetAttachedShaders;
13159     alias fn_glGetAttribLocation = extern(C) GLint function(GLuint program, const GLchar* name) @system @nogc nothrow;
13160 
13161     /++
13162      + glGetAttribLocation: man4/glGetAttribLocation.xml
13163      + 
13164      + $(D_INLINECODE glGetAttribLocation) queries the previously linked program object specified by $(D_INLINECODE program) for the attribute variable specified by $(D_INLINECODE name) and returns the index of the generic vertex attribute that is bound to that attribute variable. If $(D_INLINECODE name) is a matrix attribute variable, the index of the first column of the matrix is returned. If the named attribute variable is not an active attribute in the specified program object or if $(D_INLINECODE name) starts with the reserved prefix &quot;gl_&quot;, a value of -1 is returned. The association between an attribute variable name and a generic attribute index can be specified at any time by calling $(D_INLINECODE glBindAttribLocation). Attribute bindings do not go into effect until $(D_INLINECODE glLinkProgram) is called. After a program object has been linked successfully, the index values for attribute variables remain fixed until the next link command occurs. The attribute values can only be queried after a link if the link was successful. $(D_INLINECODE glGetAttribLocation) returns the binding that actually went into effect the last time $(D_INLINECODE glLinkProgram) was called for the specified program object. Attribute bindings that have been specified since the last link operation are not returned by $(D_INLINECODE glGetAttribLocation).
13165      + 
13166      + Params:
13167      +     program = Specifies the program object to be queried.
13168      +     name    = Points to a null terminated string containing the name of the attribute variable whose location is to be queried.
13169      + 
13170      + Copyright:
13171      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13172      + 
13173      + See_Also:
13174      +     $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glVertexAttrib), $(D_INLINECODE glVertexAttribPointer)
13175      +/
13176     @OpenGL_Version(OGLIntroducedIn.V2P0)
13177     fn_glGetAttribLocation glGetAttribLocation;
13178     alias fn_glGetBufferParameteriv = extern(C) void function(GLenum target, GLenum value, GLint* data) @system @nogc nothrow;
13179 
13180     /++
13181      + glGetBufferParameter: man4/glGetBufferParameter.xml
13182      + 
13183      + These functions return in $(D_INLINECODE data) a selected parameter of the specified buffer object. $(D_INLINECODE pname) names a specific buffer object parameter, as follows:
13184      + 
13185      + If an error is generated, no change is made to the contents of $(D_INLINECODE data). The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
13186      + 
13187      + Params:
13188      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glGetBufferParameteriv) and $(D_INLINECODE glGetBufferParameteri64v). Must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
13189      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glGetNamedBufferParameteriv) and $(D_INLINECODE glGetNamedBufferParameteri64v).
13190      +     value  = Specifies the name of the buffer object parameter to query.
13191      +     data   = Returns the requested parameter.
13192      + 
13193      + Copyright:
13194      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13195      + 
13196      + See_Also:
13197      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferData), $(D_INLINECODE glGetBufferPointerv), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
13198      +/
13199     @OpenGL_Version(OGLIntroducedIn.V1P5)
13200     fn_glGetBufferParameteriv glGetBufferParameteriv;
13201     alias fn_glGetBufferParameteri64v = extern(C) void function(GLenum target, GLenum value, GLint64* data) @system @nogc nothrow;
13202     /// Ditto
13203     @OpenGL_Version(OGLIntroducedIn.V3P2)
13204     fn_glGetBufferParameteri64v glGetBufferParameteri64v;
13205     alias fn_glGetNamedBufferParameteriv = extern(C) void function(GLuint buffer, GLenum pname, GLint* params) @system @nogc nothrow;
13206     /// Ditto
13207     @OpenGL_Version(OGLIntroducedIn.V4P5)
13208     @OpenGL_Extension("GL_ARB_direct_state_access")
13209     fn_glGetNamedBufferParameteriv glGetNamedBufferParameteriv;
13210     alias fn_glGetNamedBufferParameteri64v = extern(C) void function(GLuint buffer, GLenum pname, GLint64* params) @system @nogc nothrow;
13211     /// Ditto
13212     @OpenGL_Version(OGLIntroducedIn.V4P5)
13213     @OpenGL_Extension("GL_ARB_direct_state_access")
13214     fn_glGetNamedBufferParameteri64v glGetNamedBufferParameteri64v;
13215     alias fn_glGetBufferPointerv = extern(C) void function(GLenum target, GLenum pname, GLvoid** params) @system @nogc nothrow;
13216 
13217     /++
13218      + glGetBufferPointerv: man4/glGetBufferPointerv.xml
13219      + 
13220      + $(D_INLINECODE glGetBufferPointerv) and $(D_INLINECODE glGetNamedBufferPointerv) return the buffer pointer $(D_INLINECODE pname), which must be $(D_INLINECODE GL_BUFFER_MAP_POINTER). The single buffer map pointer is returned in $(D_INLINECODE params). A $(D_INLINECODE null
13221      + ) pointer is returned if the buffer object's data store is not currently mapped; or if the requesting context did not map the buffer object's data store, and the implementation is unable to support mappings on multiple clients.
13222      + 
13223      + If an error is generated, no change is made to the contents of $(D_INLINECODE params). The initial value for the pointer is $(D_INLINECODE null
13224      + ). The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
13225      + 
13226      + Params:
13227      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glGetBufferPointerv), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
13228      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glGetNamedBufferPointerv).
13229      +     pname  = Specifies the name of the pointer to be returned. Must be $(D_INLINECODE GL_BUFFER_MAP_POINTER).
13230      +     params = Returns the pointer value specified by $(D_INLINECODE pname).
13231      + 
13232      + Copyright:
13233      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13234      + 
13235      + See_Also:
13236      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glMapBuffer)
13237      +/
13238     @OpenGL_Version(OGLIntroducedIn.V1P5)
13239     fn_glGetBufferPointerv glGetBufferPointerv;
13240     alias fn_glGetNamedBufferPointerv = extern(C) void function(GLuint buffer, GLenum pname, void** params) @system @nogc nothrow;
13241     /// Ditto
13242     @OpenGL_Version(OGLIntroducedIn.V4P5)
13243     @OpenGL_Extension("GL_ARB_direct_state_access")
13244     fn_glGetNamedBufferPointerv glGetNamedBufferPointerv;
13245     alias fn_glGetBufferSubData = extern(C) void function(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data) @system @nogc nothrow;
13246 
13247     /++
13248      + glGetBufferSubData: man4/glGetBufferSubData.xml
13249      + 
13250      + $(D_INLINECODE glGetBufferSubData) and $(D_INLINECODE glGetNamedBufferSubData) return some or all of the data contents of the data store of the specified buffer object. Data starting at byte offset $(D_INLINECODE offset) and extending for $(D_INLINECODE size) bytes is copied from the buffer object's data store to the memory pointed to by $(D_INLINECODE data). An error is thrown if the buffer object is currently mapped, or if $(D_INLINECODE offset) and $(D_INLINECODE size) together define a range beyond the bounds of the buffer object's data store.
13251      + 
13252      + If an error is generated, no change is made to the contents of $(D_INLINECODE data). The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is available only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
13253      + 
13254      + Params:
13255      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glGetBufferSubData), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
13256      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glGetNamedBufferSubData).
13257      +     offset = Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
13258      +     size   = Specifies the size in bytes of the data store region being returned.
13259      +     data   = Specifies a pointer to the location where buffer object data is returned.
13260      + 
13261      + Copyright:
13262      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13263      + 
13264      + See_Also:
13265      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferData), $(D_INLINECODE glBufferSubData), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer)
13266      +/
13267     @OpenGL_Version(OGLIntroducedIn.V1P5)
13268     fn_glGetBufferSubData glGetBufferSubData;
13269     alias fn_glGetNamedBufferSubData = extern(C) void function(GLuint buffer, GLintptr offset, GLsizei size, void* data) @system @nogc nothrow;
13270     /// Ditto
13271     @OpenGL_Version(OGLIntroducedIn.V4P5)
13272     @OpenGL_Extension("GL_ARB_direct_state_access")
13273     fn_glGetNamedBufferSubData glGetNamedBufferSubData;
13274     alias fn_glGetCompressedTexImage = extern(C) void function(GLenum target, GLint level, GLvoid* pixels) @system @nogc nothrow;
13275 
13276     /++
13277      + glGetCompressedTexImage: man4/glGetCompressedTexImage.xml
13278      + 
13279      + $(D_INLINECODE glGetCompressedTexImage) and $(D_INLINECODE glGetnCompressedTexImage) return the compressed texture image associated with $(D_INLINECODE target) and $(D_INLINECODE lod) into $(D_INLINECODE pixels). $(D_INLINECODE glGetCompressedTextureImage) serves the same purpose, but instead of taking a texture target, it takes the ID of the texture object. $(D_INLINECODE pixels) should be an array of $(D_INLINECODE bufSize) bytes for $(D_INLINECODE glGetnCompresedTexImage) and $(D_INLINECODE glGetCompressedTextureImage) functions, and of $(D_INLINECODE GL_TEXTURE_COMPRESSED_IMAGE_SIZE) bytes in case of $(D_INLINECODE glGetCompressedTexImage). If the actual data takes less space than $(D_INLINECODE bufSize), the remaining bytes will not be touched. $(D_INLINECODE target) specifies the texture target, to which the texture the data the function should extract the data from is bound to. $(D_INLINECODE lod) specifies the level-of-detail number of the desired image. If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_PACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is requested, $(D_INLINECODE pixels) is treated as a byte offset into the buffer object's data store. To minimize errors, first verify that the texture is compressed by calling $(D_INLINECODE glGetTexLevelParameter) with argument $(D_INLINECODE GL_TEXTURE_COMPRESSED). If the texture is compressed, you can determine the amount of memory required to store the compressed texture by calling $(D_INLINECODE glGetTexLevelParameter) with argument $(D_INLINECODE GL_TEXTURE_COMPRESSED_IMAGE_SIZE). Finally, retrieve the internal format of the texture by calling $(D_INLINECODE glGetTexLevelParameter) with argument $(D_INLINECODE GL_TEXTURE_INTERNAL_FORMAT). To store the texture for later use, associate the internal format and size with the retrieved texture image. These data can be used by the respective texture or subtexture loading routine used for loading $(D_INLINECODE target) textures.
13280      + 
13281      + Params:
13282      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glGetCompressedTexImage) and $(D_INLINECODE glGetnCompressedTexImage) functions. $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), and $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), $(D_INLINECODE GL_TEXTURE_RECTANGLE) are accepted.
13283      +     texture = Specifies the texture object name for $(D_INLINECODE glGetCompressedTextureImage) function.
13284      +     level   = Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level $n$ is the $n$-th mipmap reduction image.
13285      +     bufSize = Specifies the size of the buffer $(D_INLINECODE pixels) for $(D_INLINECODE glGetCompressedTextureImage) and $(D_INLINECODE glGetnCompressedTexImage) functions.
13286      +     pixels  = Returns the compressed texture image.
13287      + 
13288      + Copyright:
13289      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13290      + 
13291      + See_Also:
13292      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glReadPixels), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
13293      +/
13294     @OpenGL_Version(OGLIntroducedIn.V1P3)
13295     fn_glGetCompressedTexImage glGetCompressedTexImage;
13296     alias fn_glGetnCompressedTexImage = extern(C) void function(GLenum target, GLint level, GLsizei bufSize, void* pixels) @system @nogc nothrow;
13297     /// Ditto
13298     @OpenGL_Version(OGLIntroducedIn.V4P5)
13299     fn_glGetnCompressedTexImage glGetnCompressedTexImage;
13300     alias fn_glGetCompressedTextureImage = extern(C) void function(GLuint texture, GLint level, GLsizei bufSize, void* pixels) @system @nogc nothrow;
13301     /// Ditto
13302     @OpenGL_Version(OGLIntroducedIn.V4P5)
13303     @OpenGL_Extension("GL_ARB_direct_state_access")
13304     fn_glGetCompressedTextureImage glGetCompressedTextureImage;
13305     alias fn_glGetCompressedTextureSubImage = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void* pixels) @system @nogc nothrow;
13306 
13307     /++
13308      + glGetCompressedTextureSubImage: man4/glGetCompressedTextureSubImage.xml
13309      + 
13310      + $(D_INLINECODE glGetCompressedTextureSubImage) can be used to obtain a sub-region of a compressed texture image instead of the whole image, as long as the compressed data are arranged into fixed-size blocks of texels. $(D_INLINECODE texture) is the name of the texture object, and must not be a buffer or multisample texture. The effective $(D_INLINECODE target) is the value of $(D_INLINECODE GL_TEXTURE_TARGET) for texture. $(D_INLINECODE level) and $(D_INLINECODE pixels) have the same meaning as the corresponding arguments of $(D_INLINECODE glCompressedTexSubImage3D). $(D_INLINECODE bufSize) indicates the size of the buffer to receive the retrieved pixel data. For cube map textures, the behavior is as though $(D_INLINECODE glGetCompressedTexImage) were called once for each requested face (selected by $(D_INLINECODE zoffset) and $(D_INLINECODE depth), as described below) with target corresponding to the requested texture cube map face as indicated by the table presented below. $(D_INLINECODE pixels) is offset appropriately for each successive image. Layer number Cube Map Face 0 $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X) 1 $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X) 2 $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y) 3 $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y) 4 $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z) 5 $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z) $(D_INLINECODE xoffset), $(D_INLINECODE yoffset) and $(D_INLINECODE zoffset) indicate the position of the subregion to return. $(D_INLINECODE width), $(D_INLINECODE height) and $(D_INLINECODE depth) indicate the size of the region to return. These arguments have the same meaning as for $(D_INLINECODE glCompressedTexSubImage3D), though there are extra restrictions, described in the errors section below. The mapping between the $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), $(D_INLINECODE zoffset), $(D_INLINECODE width), $(D_INLINECODE height) and $(D_INLINECODE depth) parameters and the faces, layers, and layer-faces for cube map, array, and cube map array textures is the same as for glGetTextureSubImage. The $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), $(D_INLINECODE zoffset) offsets and $(D_INLINECODE width), $(D_INLINECODE height) and $(D_INLINECODE depth) sizes must be multiples of the values of $(D_INLINECODE GL_PACK_COMPRESSED_BLOCK_WIDTH), $(D_INLINECODE GL_PACK_COMPRESSED_BLOCK_HEIGHT), and $(D_INLINECODE GL_PACK_COMPRESSED_BLOCK_DEPTH) respectively, unless $(D_INLINECODE offset) is zero and the corresponding $(D_INLINECODE size) is the same as the texture size in that dimension. Pixel storage modes are treated as for $(D_INLINECODE glGetCompressedTexSubImage). The texel at ( $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), $(D_INLINECODE zoffset) ) will be stored at the location indicated by $(D_INLINECODE pixels) and the current pixel packing parameters.
13311      + 
13312      + Params:
13313      +     texture = Specifies the name of the source texture object. Must be $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) or $(D_INLINECODE GL_TEXTURE_RECTANGLE). In specific, buffer and multisample textures are not permitted.
13314      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level $n$ is the $n$th mipmap reduction image.
13315      +     xoffset = Specifies a texel offset in the x direction within the texture array.
13316      +     yoffset = Specifies a texel offset in the y direction within the texture array.
13317      +     zoffset = Specifies a texel offset in the z direction within the texture array.
13318      +     width   = Specifies the width of the texture subimage. Must be a multiple of the compressed block's width, unless the $(D_INLINECODE offset) is zero and the size equals the texture image size.
13319      +     height  = Specifies the height of the texture subimage. Must be a multiple of the compressed block's height, unless the $(D_INLINECODE offset) is zero and the size equals the texture image size.
13320      +     depth   = Specifies the depth of the texture subimage. Must be a multiple of the compressed block's depth, unless the $(D_INLINECODE offset) is zero and the size equals the texture image size.
13321      +     bufSize = Specifies the size of the buffer to receive the retrieved pixel data.
13322      +     pixels  = Returns the texture subimage. Should be a pointer to an array of the type specified by type.
13323      + 
13324      + Copyright:
13325      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13326      + 
13327      + See_Also:
13328      +     $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glGetCompressedTexImage), $(D_INLINECODE glGetCompressedTextureImage), $(D_INLINECODE glReadPixels)
13329      +/
13330     @OpenGL_Version(OGLIntroducedIn.V4P5)
13331     @OpenGL_Extension("GL_ARB_get_texture_sub_image")
13332     fn_glGetCompressedTextureSubImage glGetCompressedTextureSubImage;
13333     alias fn_glGetDebugMessageLog = extern(C) GLuint function(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) @system @nogc nothrow;
13334 
13335     /++
13336      + glGetDebugMessageLog: man4/glGetDebugMessageLog.xml
13337      + 
13338      + $(D_INLINECODE glGetDebugMessageLog) retrieves messages from the debug message log. A maximum of $(D_INLINECODE count) messages are retrieved from the log. If $(D_INLINECODE sources) is not null then the source of each message is written into up to
13339      +  $(D_INLINECODE count) elements of the array. If $(D_INLINECODE types) is not null then the type of each message is written into up to
13340      +  $(D_INLINECODE count) elements of the array. If $(D_INLINECODE id) is not null then the identifier of each message is written into up to
13341      +  $(D_INLINECODE count) elements of the array. If $(D_INLINECODE severities) is not null then the severity of each message is written into up to
13342      +  $(D_INLINECODE count) elements of the array. If $(D_INLINECODE lengths) is not null then the length of each message is written into up to
13343      +  $(D_INLINECODE count) elements of the array. $(D_INLINECODE messageLog) specifies the address of a character array into which the debug messages will be written. Each message will be concatenated onto the array starting at the first element of $(D_INLINECODE messageLog). $(D_INLINECODE bufSize) specifies the size of the array $(D_INLINECODE messageLog). If a message will not fit into the remaining space in $(D_INLINECODE messageLog) then the function terminates and returns the number of messages written so far, which may be zero. If $(D_INLINECODE glGetDebugMessageLog) returns zero then no messages are present in the debug log, or there was not enough space in $(D_INLINECODE messageLog) to retrieve the first message in the queue. If $(D_INLINECODE messageLog) is null then no messages are written and the value of
13344      +  $(D_INLINECODE bufSize) is ignored.
13345      + 
13346      + Although debug messages may be enabled in a non-debug context, the quantity and detail of such messages may be substantially inferior to those in a debug context. In particular, a valid implementation of the debug message queue in a non-debug context may produce no messages at all.
13347      + 
13348      + Params:
13349      +     count      = The number of debug messages to retrieve from the log.
13350      +     bufSize    = The size of the buffer whose address is given by $(D_INLINECODE messageLog).
13351      +     sources    = The address of an array of variables to receive the sources of the retrieved messages.
13352      +     types      = The address of an array of variables to receive the types of the retrieved messages.
13353      +     ids        = The address of an array of unsigned integers to receive the ids of the retrieved messages.
13354      +     severities = The address of an array of variables to receive the severites of the retrieved messages.
13355      +     lengths    = The address of an array of variables to receive the lengths of the received messages.
13356      +     messageLog = The address of an array of characters that will receive the messages.
13357      + 
13358      + Copyright:
13359      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13360      + 
13361      + See_Also:
13362      +     $(D_INLINECODE glDebugMessageInsert), $(D_INLINECODE glDebugMessageCallback), $(D_INLINECODE glDebugMessageControl).
13363      +/
13364     @OpenGL_Version(OGLIntroducedIn.V4P3)
13365     @OpenGL_Extension("GL_KHR_debug")
13366     fn_glGetDebugMessageLog glGetDebugMessageLog;
13367     alias fn_glGetError = extern(C) GLenum function() @system @nogc nothrow;
13368 
13369     /++
13370      + glGetError: man4/glGetError.xml
13371      + 
13372      + $(D_INLINECODE glGetError) returns the value of the error flag. Each detectable error is assigned a numeric code and symbolic name. When an error occurs, the error flag is set to the appropriate error code value. No other errors are recorded until $(D_INLINECODE glGetError) is called, the error code is returned, and the flag is reset to $(D_INLINECODE GL_NO_ERROR). If a call to $(D_INLINECODE glGetError) returns $(D_INLINECODE GL_NO_ERROR), there has been no detectable error since the last call to $(D_INLINECODE glGetError), or since the GL was initialized. To allow for distributed implementations, there may be several error flags. If any single error flag has recorded an error, the value of that flag is returned and that flag is reset to $(D_INLINECODE GL_NO_ERROR) when $(D_INLINECODE glGetError) is called. If more than one flag has recorded an error, $(D_INLINECODE glGetError) returns and clears an arbitrary error flag value. Thus, $(D_INLINECODE glGetError) should always be called in a loop, until it returns $(D_INLINECODE GL_NO_ERROR), if all error flags are to be reset. Initially, all error flags are set to $(D_INLINECODE GL_NO_ERROR). The following errors are currently defined: When an error flag is set, results of a GL operation are undefined only if $(D_INLINECODE GL_OUT_OF_MEMORY) has occurred. In all other cases, the command generating the error is ignored and has no effect on the GL state or frame buffer contents. If the generating command returns a value, it returns 0. If $(D_INLINECODE glGetError) itself generates an error, it returns 0.
13373      + 
13374      + Params:
13375      + 
13376      + Copyright:
13377      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
13378      + 
13379      + See_Also:
13380      +     
13381      +/
13382     @OpenGL_Version(OGLIntroducedIn.V1P0)
13383     fn_glGetError glGetError;
13384     alias fn_glGetFragDataIndex = extern(C) GLint function(GLuint program, const char* name) @system @nogc nothrow;
13385 
13386     /++
13387      + glGetFragDataIndex: man4/glGetFragDataIndex.xml
13388      + 
13389      + $(D_INLINECODE glGetFragDataIndex) returns the index of the fragment color to which the variable $(D_INLINECODE name) was bound when the program object $(D_INLINECODE program) was last linked. If $(D_INLINECODE name) is not a varying out variable of $(D_INLINECODE program), or if an error occurs, -1 will be returned.
13390      + 
13391      + $(D_INLINECODE glGetFragDataIndex) is available only if the GL version is 3.3 or greater.
13392      + 
13393      + Params:
13394      +     program = The name of the program containing varying out variable whose binding to query
13395      +     name    = The name of the user-defined varying out variable whose index to query
13396      + 
13397      + Copyright:
13398      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13399      + 
13400      + See_Also:
13401      +     $(D_INLINECODE glCreateProgram), $(D_INLINECODE glBindFragDataLocation), $(D_INLINECODE glBindFragDataLocationIndexed), $(D_INLINECODE glGetFragDataLocation)
13402      +/
13403     @OpenGL_Version(OGLIntroducedIn.V3P3)
13404     @OpenGL_Extension("GL_ARB_blend_func_extended")
13405     fn_glGetFragDataIndex glGetFragDataIndex;
13406     alias fn_glGetFragDataLocation = extern(C) GLint function(GLuint program, const char* name) @system @nogc nothrow;
13407 
13408     /++
13409      + glGetFragDataLocation: man4/glGetFragDataLocation.xml
13410      + 
13411      + $(D_INLINECODE glGetFragDataLocation) retrieves the assigned color number binding for the user-defined varying out variable $(D_INLINECODE name) for program $(D_INLINECODE program). $(D_INLINECODE program) must have previously been linked. $(D_INLINECODE name) must be a null-terminated string. If $(D_INLINECODE name) is not the name of an active user-defined varying out fragment shader variable within $(D_INLINECODE program), -1 will be returned.
13412      + 
13413      + Params:
13414      +     program = The name of the program containing varying out variable whose binding to query
13415      +     name    = The name of the user-defined varying out variable whose binding to query
13416      + 
13417      + Copyright:
13418      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13419      + 
13420      + See_Also:
13421      +     $(D_INLINECODE glCreateProgram), $(D_INLINECODE glBindFragDataLocation)
13422      +/
13423     @OpenGL_Version(OGLIntroducedIn.V3P0)
13424     fn_glGetFragDataLocation glGetFragDataLocation;
13425     alias fn_glGetFramebufferAttachmentParameteriv = extern(C) void function(GLenum target, GLenum attachment, GLenum pname, GLint* params) @system @nogc nothrow;
13426 
13427     /++
13428      + glGetFramebufferAttachmentParameter: man4/glGetFramebufferAttachmentParameter.xml
13429      + 
13430      + $(D_INLINECODE glGetFramebufferAttachmentParameteriv) and $(D_INLINECODE glGetNamedFramebufferAttachmentParameteriv) return parameters of attachments of a specified framebuffer object. For $(D_INLINECODE glGetFramebufferAttachmentParameteriv), the framebuffer object is that bound to $(D_INLINECODE target), which must be one of $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). Buffers of default framebuffers may also be queried if bound to $(D_INLINECODE target). For $(D_INLINECODE glGetNamedFramebufferAttachmentParameteriv), $(D_INLINECODE framebuffer) is the name of the framebuffer object. If $(D_INLINECODE framebuffer) is zero, the default draw framebuffer is queried. If the specified framebuffer is a framebuffer object, $(D_INLINECODE attachment) must be one of $(D_INLINECODE GL_DEPTH_ATTACHMENT), $(D_INLINECODE GL_STENCIL_ATTACHMENT) $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT), or $(D_INLINECODE GL_COLOR_ATTACHMENT), where is between zero and the value of $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS) minus one. If the specified framebuffer is a default framebuffer, $(D_INLINECODE target), $(D_INLINECODE attachment) must be one of $(D_INLINECODE GL_FRONT_LEFT), $(D_INLINECODE GL_FRONT_RIGHT), $(D_INLINECODE GL_BACK_LEFT), $(D_INLINECODE GL_BACK_RIGHT), $(D_INLINECODE GL_DEPTH) or $(D_INLINECODE GL_STENCIL), identifying the corresponding buffer. If $(D_INLINECODE attachment) is $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT), the same object must be bound to both the depth and stencil attachment points of the framebuffer object, and information about that object is returned. Upon successful return, if $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE), then $(D_INLINECODE params) will contain one of $(D_INLINECODE GL_NONE), $(D_INLINECODE GL_FRAMEBUFFER_DEFAULT), $(D_INLINECODE GL_TEXTURE), or $(D_INLINECODE GL_RENDERBUFFER), identifying the type of object which contains the attached image. Other values accepted for $(D_INLINECODE pname) depend on the type of object, as described below. If the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is $(D_INLINECODE GL_NONE), then either no framebuffer is bound to $(D_INLINECODE target); or a default framebuffer is queried, $(D_INLINECODE attachment) is $(D_INLINECODE GL_DEPTH) or $(D_INLINECODE GL_STENCIL), and the number of depth or stencil bits, respectively, is zero. In this case querying $(D_INLINECODE pname) $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) will return zero, and all other queries will generate an error. If the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is not $(D_INLINECODE GL_NONE), these queries apply to all other framebuffer types: $(OL $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE), $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE), $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE), $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE), $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE) or $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE), then $(D_INLINECODE params) will contain the number of bits in the corresponding red, green, blue, alpha, depth, or stencil component of the specified attachment. If the requested component is not present in the attachment, or if no data storage or texture image has been specified for the attachment, then $(D_INLINECODE params) will contain zero.) $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE), then $(D_INLINECODE params) will contain the format of components of the specified attachment, one of $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_SIGNED_NORMALIZED), or $(D_INLINECODE GL_UNSIGNED_NORMALIZED) for floating-point, signed integer, unsigned integer, signed normalized fixed-point, or unsigned normalized fixed-point components respectively. Only color buffers may have integer components. If no data storage or texture image has been specified for the attachment, then $(D_INLINECODE params) will contain $(D_INLINECODE GL_NONE). This query cannot be performed for a combined depth+stencil attachment, since it does not have a single format.) $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING), then $(D_INLINECODE params) will contain the encoding of components of the specified attachment, one of $(D_INLINECODE GL_LINEAR) or $(D_INLINECODE GL_SRGB) for linear or sRGB-encoded components, respectively. Only color buffer components may be sRGB-encoded; such components are treated as described in the OpenGL Specification. For a default framebuffer, color encoding is determined by the implementation. For framebuffer objects, components are sRGB-encoded if the internal format of a color attachment is one of the color-renderable SRGB formats. If the attachment is not a color attachment, or if no data storage or texture image has been specified for the attachment, then $(D_INLINECODE params) will contain $(D_INLINECODE GL_LINEAR).)) If the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is $(D_INLINECODE GL_RENDERBUFFER), then $(OL $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME), $(D_INLINECODE params) will contain the name of the renderbuffer object which contains the attached image.)) If the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is $(D_INLINECODE GL_TEXTURE), then $(OL $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME), then $(D_INLINECODE params) will contain the name of the texture object which contains the attached image.) $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL), then $(D_INLINECODE params) will contain the mipmap level of the texture object which contains the attached image.) $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE) and the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is the name of a cube map texture object, then $(D_INLINECODE params) will contain the cube map face of the cubemap texture object which contains the attached image. Otherwise $(D_INLINECODE params) will contain zero.) $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_LAYERED), then $(D_INLINECODE params) will contain $(D_INLINECODE GL_TRUE) if an entire level of a three-dimensional texture, cube map texture, or one-or two-dimensional array texture is attached. Otherwise, $(D_INLINECODE params) will contain $(D_INLINECODE GL_FALSE).) $(LI If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER); the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is the name of a three-dimensional, or a one- or two-dimensional array texture; and the value of $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_LAYERED) is $(D_INLINECODE GL_FALSE), then $(D_INLINECODE params) will contain the texture layer which contains the attached image. Otherwise $(D_INLINECODE params) will contain zero.))
13431      + 
13432      + The $(D_INLINECODE GL_FRAMEBUFFER_ATTACHMENT_LAYERED) query is supported only if the GL version is 3.2 or greater.
13433      + 
13434      + Params:
13435      +     target      = Specifies the target to which the framebuffer object is bound for $(D_INLINECODE glGetFramebufferAttachmentParameteriv).
13436      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glGetNamedFramebufferAttachmentParameteriv).
13437      +     attachment  = Specifies the attachment of the framebuffer object to query.
13438      +     pname       = Specifies the parameter of $(D_INLINECODE attachment) to query.
13439      +     params      = Returns the value of parameter $(D_INLINECODE pname) for $(D_INLINECODE attachment).
13440      + 
13441      + Copyright:
13442      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13443      + 
13444      + See_Also:
13445      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer) $(D_INLINECODE glGetFramebufferParameter)
13446      +/
13447     @OpenGL_Version(OGLIntroducedIn.V3P0)
13448     @OpenGL_Extension("GL_ARB_framebuffer_object")
13449     fn_glGetFramebufferAttachmentParameteriv glGetFramebufferAttachmentParameteriv;
13450     alias fn_glGetNamedFramebufferAttachmentParameteriv = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) @system @nogc nothrow;
13451     /// Ditto
13452     @OpenGL_Version(OGLIntroducedIn.V4P5)
13453     @OpenGL_Extension("GL_ARB_direct_state_access")
13454     fn_glGetNamedFramebufferAttachmentParameteriv glGetNamedFramebufferAttachmentParameteriv;
13455     alias fn_glGetFramebufferParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
13456 
13457     /++
13458      + glGetFramebufferParameter: man4/glGetFramebufferParameter.xml
13459      + 
13460      + $(D_INLINECODE glGetFramebufferParameteriv) and $(D_INLINECODE glGetNamedFramebufferParameteriv) query parameters of a specified framebuffer object. For $(D_INLINECODE glGetFramebufferParameteriv), the framebuffer object is that bound to $(D_INLINECODE target), which must be one of $(D_INLINECODE GL_DRAW_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). Default framebuffers may also be queried if bound to $(D_INLINECODE target). For $(D_INLINECODE glGetNamedFramebufferParameteriv), $(D_INLINECODE framebuffer) is the name of the framebuffer object. If $(D_INLINECODE framebuffer) is zero, the default draw framebuffer is queried. Upon successful return, $(D_INLINECODE param) will contain the value of the framebuffer parameter specified by $(D_INLINECODE pname), as described below. The following parameters can only be queried for framebuffer objects: The following parameters can be queried for both default framebuffers and framebuffer objects:
13461      + 
13462      + Queries of default framebuffers are supported only if the GL version is 4.5 or higher. Otherwise, an $(D_INLINECODE GL_INVALID_OPERATION) error is generated. Queries of the framebuffer-dependent parameters $(D_INLINECODE GL_DOUBLEBUFFER), $(D_INLINECODE GL_IMPLEMENTATION_COLOR_READ_FORMAT), $(D_INLINECODE GL_IMPLEMENTATION_COLOR_READ_TYPE), $(D_INLINECODE GL_SAMPLES), $(D_INLINECODE GL_SAMPLE_BUFFERS) and $(D_INLINECODE GL_STEREO) are supported only if the GL version is 4.5 or higher. The framebuffer-dependent state $(D_INLINECODE GL_SAMPLE_POSITION) cannot be queried with these commands.
13463      + 
13464      + Params:
13465      +     target      = Specifies the target to which the framebuffer object is bound for $(D_INLINECODE glGetFramebufferParameteriv).
13466      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glGetNamedFramebufferParameteriv).
13467      +     pname       = Specifies the parameter of the framebuffer object to query.
13468      +     params      = Returns the value of parameter $(D_INLINECODE pname) for the framebuffer object.
13469      + 
13470      + Copyright:
13471      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13472      + 
13473      + See_Also:
13474      +     $(D_INLINECODE glFramebufferParameteri), $(D_INLINECODE glGetFramebufferAttachmentParameter)
13475      +/
13476     @OpenGL_Version(OGLIntroducedIn.V4P3)
13477     @OpenGL_Extension("GL_ARB_framebuffer_no_attachments")
13478     fn_glGetFramebufferParameteriv glGetFramebufferParameteriv;
13479     alias fn_glGetNamedFramebufferParameteriv = extern(C) void function(GLuint framebuffer, GLenum pname, GLint* param) @system @nogc nothrow;
13480     /// Ditto
13481     @OpenGL_Version(OGLIntroducedIn.V4P5)
13482     @OpenGL_Extension("GL_ARB_direct_state_access")
13483     fn_glGetNamedFramebufferParameteriv glGetNamedFramebufferParameteriv;
13484     alias fn_glGetGraphicsResetStatus = extern(C) GLenum function() @system @nogc nothrow;
13485 
13486     /++
13487      + glGetGraphicsResetStatus: man4/glGetGraphicsResetStatus.xml
13488      + 
13489      + Certain events can result in a reset of the GL context. Such a reset causes all context state to be lost and requires the application to recreate all objects in the affected context. $(D_INLINECODE glGetGraphicsResetStatus) can return one of the following constants: If a reset status other than $(D_INLINECODE GL_NO_ERROR) is returned and subsequent calls return $(D_INLINECODE GL_NO_ERROR), the context reset was encountered and completed. If a reset status is repeatedly returned, the context may be in the process of resetting. Reset notification behavior is determined at context creation time, and may be queried by calling $(D_INLINECODE GetIntegerv) with the symbolic constant $(D_INLINECODE GL_RESET_NOTIFICATION_STRATEGY). If the reset notification behavior is $(D_INLINECODE GL_NO_RESET_NOTIFICATION), then the implementation will never deliver notification of reset events, and $(D_INLINECODE glGetGraphicsResetStatus) will always return $(D_INLINECODE GL_NO_ERROR). If the behavior is $(D_INLINECODE GL_LOSE_CONTEXT_ON_RESET), a graphics reset will result in the loss of all context state, requiring the recreation of all associated objects. In this case $(D_INLINECODE glGetGraphicsResetStatus) may return any of the values described above. If a graphics reset notification occurs in a context, a notification must also occur in all other contexts which share objects with that context. After a graphics reset has occurred on a context, subsequent GL commands on that context (or any context which shares with that context) will generate a $(D_INLINECODE GL_CONTEXT_LOST) error. Such commands will not have side effects (in particular, they will not modify memory passed by pointer for query results), and will not block indefinitely or cause termination of the application. There are two important exceptions to this behavior: $(OL $(LI $(D_INLINECODE glGetError) and $(D_INLINECODE glGetGraphicsResetStatus) behave normally following a graphics reset, so that the application can determine a reset has occurred, and when it is safe to destroy and re-create the context.) $(LI Any commands which might cause a polling application to block indefinitely will generate a $(D_INLINECODE GL_CONTEXT_LOST) error, but will also return a value indicating completion to the application. Such commands include: $(OL $(LI $(D_INLINECODE glGetSynciv) with pname $(D_INLINECODE GL_SYNC_STATUS) ignores the other parameters and returns $(D_INLINECODE GL_SIGNALED) in $(D_INLINECODE values).) $(LI $(D_INLINECODE glGetQueryObjectuiv) with pname $(D_INLINECODE GL_QUERY_RESULT_AVAILABLE) ignores the other parameters and returns $(D_INLINECODE TRUE) in $(D_INLINECODE params).))))
13490      + 
13491      + Params:
13492      + 
13493      + Copyright:
13494      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13495      + 
13496      + See_Also:
13497      +     $(D_INLINECODE glGetError) $(D_INLINECODE glGetIntegerv), $(D_INLINECODE glGetQueryObjectuiv) $(D_INLINECODE glGetSynciv)
13498      +/
13499     @OpenGL_Version(OGLIntroducedIn.V4P5)
13500     @OpenGL_Extension("GL_KHR_robustness")
13501     fn_glGetGraphicsResetStatus glGetGraphicsResetStatus;
13502     alias fn_glGetInternalformativ = extern(C) void function(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) @system @nogc nothrow;
13503 
13504     /++
13505      + glGetInternalformat: man4/glGetInternalformat.xml
13506      + 
13507      + $(D_INLINECODE glGetInternalformativ) and $(D_INLINECODE glGetInternalformati64v) retrieve information about implementation-dependent support for internal formats. $(D_INLINECODE target) indicates the target with which the internal format will be used and must be one of $(D_INLINECODE GL_RENDERBUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), corresponding to usage as a renderbuffer, two-dimensional multisample texture or two-dimensional multisample array texture, respectively. $(D_INLINECODE internalformat) specifies the internal format about which to retrieve information and must be a color-renderable, depth-renderable or stencil-renderable format. The information retrieved will be written to memory addressed by the pointer specified in $(D_INLINECODE params). No more than $(D_INLINECODE bufSize) basic machine units will be written to this memory. If $(D_INLINECODE pname) is $(D_INLINECODE GL_NUM_SAMPLE_COUNTS), the number of sample counts that would be returned by querying $(D_INLINECODE GL_SAMPLES) will be returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_SAMPLES), the sample counts supported for $(D_INLINECODE internalformat) and $(D_INLINECODE target) are written into $(D_INLINECODE params) in descending numeric order. Only positive values are returned. Querying $(D_INLINECODE GL_SAMPLES) with $(D_INLINECODE bufSize) of one will return just the maximum supported number of samples for this format. The maximum value in $(D_INLINECODE GL_SAMPLES) is guaranteed to be at least the lowest of the following: $(OL $(LI The value of $(D_INLINECODE GL_MAX_INTEGER_SAMPLES) if $(D_INLINECODE internalformat) is a signed or unsigned integer format.) $(LI The value of $(D_INLINECODE GL_MAX_DEPTH_TEXTURE_SAMPLES) if $(D_INLINECODE internalformat) is a depth- or stencil-renderable format and $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY).) $(LI The value of $(D_INLINECODE GL_MAX_COLOR_TEXTURE_SAMPLES) if $(D_INLINECODE internalformat) is a color-renderable format and $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY).) $(LI The value of $(D_INLINECODE GL_MAX_SAMPLES).)) If $(D_INLINECODE pname) is $(D_INLINECODE GL_INTERNALFORMAT_SUPPORTED), $(D_INLINECODE params) is set to $(D_INLINECODE GL_TRUE) if $(D_INLINECODE internalFormat) is a supported internal format for $(D_INLINECODE target) and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_INTERNALFORMAT_PREFERRED), $(D_INLINECODE params) is set to $(D_INLINECODE GL_TRUE) if $(D_INLINECODE internalFormat) is an format for $(D_INLINECODE target) that is preferred by the implementation and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_INTERNALFORMAT_RED_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_GREEN_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_BLUE_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_ALPHA_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_DEPTH_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_STENCIL_SIZE), or $(D_INLINECODE GL_INTERNALFORMAT_SHARED_SIZE) then $(D_INLINECODE params) is set to the actual resolutions that would be used for storing image array components for the resource for the red, green, blue, alpha, depth, stencil and shared channels respectively. If $(D_INLINECODE internalFormat) is a compressed internal format, then $(D_INLINECODE params) is set to the component resolution of an uncompressed internal format that produces an image of roughly the same quality as the compressed algorithm. If the internal format is unsupported, or if a particular component is not present in the format, 0 is written to $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_INTERNALFORMAT_RED_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_GREEN_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_BLUE_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_ALPHA_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_DEPTH_TYPE), or $(D_INLINECODE GL_INTERNALFORMAT_STENCIL_TYPE) then $(D_INLINECODE params) is set to a token identifying the data type used to store the respective component. If the $(D_INLINECODE internalFormat) represents a compressed internal format then the types returned specify how components are interpreted after decompression. If $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_WIDTH), $(D_INLINECODE GL_MAX_HEIGHT), $(D_INLINECODE GL_MAX_DEPTH), or $(D_INLINECODE GL_MAX_LAYERS) then $(D_INLINECODE pname) is filled with the maximum width, height, depth or layer count for textures with internal format $(D_INLINECODE internalFormat), respectively. If $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_COMBINED_DIMENSIONS) then $(D_INLINECODE pname) is filled with the maximum combined dimensions of a texture of the specified internal format. If $(D_INLINECODE pname) is $(D_INLINECODE GL_COLOR_COMPONENTS) then $(D_INLINECODE params) is set to the value $(D_INLINECODE GL_TRUE) if the internal format contains any color component (i.e., red, green, blue or alpha) and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_DEPTH_COMPONENTS) or $(D_INLINECODE GL_STENCIL_COMPONENTS) then $(D_INLINECODE params) is set to $(D_INLINECODE GL_TRUE) if the internal format contains a depth or stencil component, respectively, and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_COLOR_RENDERABLE), $(D_INLINECODE GL_DEPTH_RENDERABLE) or $(D_INLINECODE GL_STENCIL_RENDERABLE) then $(D_INLINECODE params) is set to $(D_INLINECODE GL_TRUE) if the specified internal format is color, depth or stencil renderable, respectively, and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_RENDERABLE) or $(D_INLINECODE GL_FRAMEBUFFER_RENDERABLE_LAYERED) then $(D_INLINECODE params) is set to one of $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT) or $(D_INLINECODE GL_NONE) to indicate that framebuffer attachments (layered attachments in the case of $(D_INLINECODE GL_FRAMEBUFFER_RENDERABLE_LAYERED) ) with that internal format are either renderable with no restrictions, renderable with some restrictions or not renderable at all. If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAMEBUFFER_BLEND), $(D_INLINECODE params) is set to $(D_INLINECODE GL_TRUE) to indicate that the internal format is supported for blending operations when attached to a framebuffer, and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_READ_PIXELS) then $(D_INLINECODE params) is set to $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT) or $(D_INLINECODE GL_NONE) to that either full support, limited support or no support at all is supplied for reading pixels from framebuffer attachments in the specified internal format. If $(D_INLINECODE pname) is $(D_INLINECODE GL_READ_PIXELS_FORMAT) or $(D_INLINECODE GL_READ_PIXELS_TYPE) then $(D_INLINECODE params) is filled with the format or type, respectively, most recommended to obtain the highest image quality and performance. For $(D_INLINECODE GL_READ_PIXELS_FORMAT), the value returned in $(D_INLINECODE params) is a token that is accepted for the $(D_INLINECODE format) argument to $(D_INLINECODE glReadPixels). For $(D_INLINECODE GL_READ_PIXELS_TYPE), the value returned in $(D_INLINECODE params) is a token that is accepted for the $(D_INLINECODE type) argument to $(D_INLINECODE glReadPixels). If $(D_INLINECODE pname) is $(D_INLINECODE GL_TEXTURE_IMAGE_FORMAT) or $(D_INLINECODE GL_TEXTURE_IMAGE_TYPE) then $(D_INLINECODE params) is filled with the implementation-recommended format or type to be used in calls to $(D_INLINECODE glTexImage2D) and other similar functions. For $(D_INLINECODE GL_TEXTURE_IMAGE_FORMAT), $(D_INLINECODE params) is filled with a token suitable for use as the $(D_INLINECODE format) argument to $(D_INLINECODE glTexImage2D). For $(D_INLINECODE GL_TEXTURE_IMAGE_TYPE), $(D_INLINECODE params) is filled with a token suitable for use as the $(D_INLINECODE type) argument to $(D_INLINECODE glTexImage2D). If $(D_INLINECODE pname) is $(D_INLINECODE GL_GET_TEXTURE_IMAGE_FORMAT) or $(D_INLINECODE GL_GET_TEXTURE_IMAGE_TYPE) then $(D_INLINECODE params) is filled with the implementation-recommended format or type to be used in calls to $(D_INLINECODE glGetTexImage) and other similar functions. For $(D_INLINECODE GL_GET_TEXTURE_IMAGE_FORMAT), $(D_INLINECODE params) is filled with a token suitable for use as the $(D_INLINECODE format) argument to $(D_INLINECODE glGetTexImage). For $(D_INLINECODE GL_GET_TEXTURE_IMAGE_TYPE), $(D_INLINECODE params) is filled with a token suitable for use as the $(D_INLINECODE type) argument to $(D_INLINECODE glGetTexImage). If $(D_INLINECODE pname) is $(D_INLINECODE GL_MIPMAP) then $(D_INLINECODE pname) is set to $(D_INLINECODE GL_TRUE) to indicate that the specified internal format supports mipmaps and to $(D_INLINECODE GL_FALSE) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_GENERATE_MIPMAP) or $(D_INLINECODE GL_AUTO_GENERATE_MIPMAP) then $(D_INLINECODE params) is indicates the level of support for manual or automatic mipmap generation for the specified internal format, respectively. Returned values may be one of $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT) and $(D_INLINECODE GL_NONE) to indicate either full support, limited support or no support at all. If $(D_INLINECODE pname) is $(D_INLINECODE GL_COLOR_ENCODING) then the color encoding for the resource is returned in $(D_INLINECODE params). Possible values for color buffers are $(D_INLINECODE GL_LINEAR) or $(D_INLINECODE GL_SRGB), for linear or sRGB-encoded color components, respectively. For non-color formats (such as depth or stencil), or for unsupported resources, the value $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_SRGB_READ), or $(D_INLINECODE GL_SRGB_WRITE) then $(D_INLINECODE params) indicates the level of support for reading and writing to sRGB encoded images, respectively. For $(D_INLINECODE GL_SRGB_READ), support for converting from sRGB colorspace on read operations is returned in $(D_INLINECODE params) and for $(D_INLINECODE GL_SRGB_WRITE), support for converting to sRGB colorspace on write operations to the resource is returned in $(D_INLINECODE params). $(D_INLINECODE params) may be set to $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT), or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respecitively. If $(D_INLINECODE pname) is $(D_INLINECODE GL_FILTER) the $(D_INLINECODE params) is set to either $(D_INLINECODE GL_TRUE) or $(D_INLINECODE GL_FALSE) to indicate support or lack thereof for filter modes other than $(D_INLINECODE GL_NEAREST) or $(D_INLINECODE GL_NEAREST_MIPMAP) for the specified internal format. If $(D_INLINECODE pname) is $(D_INLINECODE GL_VERTEX_TEXTURE), $(D_INLINECODE GL_TESS_CONTROL_TEXTURE), $(D_INLINECODE GL_TESS_EVALUATION_TEXTURE), $(D_INLINECODE GL_GEOMETRY_TEXTURE), $(D_INLINECODE GL_FRAGMENT_TEXTURE), or $(D_INLINECODE GL_COMPUTE_TEXTURE), then the value written to $(D_INLINECODE params) indicates support for use of the resource as a source of texturing in the vertex, tessellation control, tessellation evaluation, geometry, fragment and compute shader stages, respectively. $(D_INLINECODE params) may be set to $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT) or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respectively. If $(D_INLINECODE pname) is $(D_INLINECODE GL_TEXTURE_SHADOW), $(D_INLINECODE GL_TEXTURE_GATHER) or $(D_INLINECODE GL_TEXTURE_GATHER_SHADOW) then the value written to $(D_INLINECODE params) indicates the level of support for using the resource with a shadow sampler, in gather operations or as a shadow sampler in gather operations, respectively. Returned values may be $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT) or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respectively. If $(D_INLINECODE pname) is $(D_INLINECODE GL_SHADER_IMAGE_LOAD), $(D_INLINECODE GL_SHADER_IMAGE_STORE) or $(D_INLINECODE GL_SHADER_IMAGE_ATOMIC) then the value returned in $(D_INLINECODE params) indicates the level of support for image loads, stores and atomics for resources of the specified internal format. Returned values may be $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT) or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respectively. If $(D_INLINECODE pname) is $(D_INLINECODE GL_IMAGE_TEXEL_SIZE) then the size of a texel when the resource when used as an image texture is returned in $(D_INLINECODE params). If the resource is not supported for image textures zero is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_IMAGE_COMPATIBILITY_CLASS) then the compatibility class of the resource when used as an image texture is returned in $(D_INLINECODE params). The possible values returned are $(D_INLINECODE GL_IMAGE_CLASS_4_X_32), $(D_INLINECODE GL_IMAGE_CLASS_2_X_32), $(D_INLINECODE GL_IMAGE_CLASS_1_X_32), $(D_INLINECODE GL_IMAGE_CLASS_4_X_16), $(D_INLINECODE GL_IMAGE_CLASS_2_X_16), $(D_INLINECODE GL_IMAGE_CLASS_1_X_16), $(D_INLINECODE GL_IMAGE_CLASS_4_X_8), $(D_INLINECODE GL_IMAGE_CLASS_2_X_8), $(D_INLINECODE GL_IMAGE_CLASS_1_X_8), $(D_INLINECODE GL_IMAGE_CLASS_11_11_10), and $(D_INLINECODE GL_IMAGE_CLASS_10_10_10_2), which correspond to the 4x32, 2x32, 1x32, 4x16, 2x16, 1x16, 4x8, 2x8, 1x8, the class (a) 11/11/10 packed floating-point format, and the class (b) 10/10/10/2 packed formats, respectively. If the resource is not supported for image textures, $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_IMAGE_PIXEL_FORMAT) or $(D_INLINECODE GL_IMAGE_PIXEL_TYPE) then the pixel format or type of the resource when used as an image texture is returned in $(D_INLINECODE params), respectively. In either case, the resource is not supported for image textures $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_TYPE), the matching criteria use for the resource when used as an image textures is returned in $(D_INLINECODE params). Possible values returned in $(D_INLINECODE params) are $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE) or $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS). If the resource is not supported for image textures, $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST) or $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST), support for using the resource both as a source for texture sampling while it is bound as a buffer for depth or stencil test, respectively, is written to $(D_INLINECODE params). Possible values returned are $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT), or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all. If the resource or operation is not supported, $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE) or $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE), support for using the resource both as a source for texture sampling while performing depth or stencil writes to the resources, respectively, is written to $(D_INLINECODE params). Possible values returned are $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT), or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all. If the resource or operation is not supported, $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_TEXTURE_COMPRESSED) then $(D_INLINECODE GL_TRUE) is returned in $(D_INLINECODE params) if $(D_INLINECODE internalformat) is a compressed internal format. $(D_INLINECODE GL_FALSE) is returned in $(D_INLINECODE params) otherwise. If $(D_INLINECODE pname) is $(D_INLINECODE GL_TEXTURE_COMPRESSED_BLOCK_WIDTH), $(D_INLINECODE GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT) or $(D_INLINECODE GL_TEXTURE_COMPRESSED_BLOCK_SIZE) then the width, height or total size, respectively of a block (in basic machine units) is returned in $(D_INLINECODE params). If the internal format is not compressed, or the resource is not supported, 0 is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_CLEAR_BUFFER), the level of support for using the resource with $(D_INLINECODE glClearBufferData) and $(D_INLINECODE glClearBufferSubData) is returned in $(D_INLINECODE params). Possible values returned are $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT), or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respectively. If the resource or operation is not supported, $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_TEXTURE_VIEW), the level of support for using the resource with the $(D_INLINECODE glTextureView) command is returned in $(D_INLINECODE params). Possible values returned are $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT), or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respectively. If the resource or operation is not supported, $(D_INLINECODE GL_NONE) is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_VIEW_COMPATIBILITY_CLASS) then the compatibility class of the resource when used as a texture view is returned in $(D_INLINECODE params). The possible values returned are $(D_INLINECODE GL_VIEW_CLASS_128_BITS), $(D_INLINECODE GL_VIEW_CLASS_96_BITS), $(D_INLINECODE GL_VIEW_CLASS_64_BITS), $(D_INLINECODE GL_VIEW_CLASS_48_BITS), $(D_INLINECODE GL_VIEW_CLASS_32_BITS), $(D_INLINECODE GL_VIEW_CLASS_24_BITS), $(D_INLINECODE GL_VIEW_CLASS_16_BITS), $(D_INLINECODE GL_VIEW_CLASS_8_BITS), $(D_INLINECODE GL_VIEW_CLASS_S3TC_DXT1_RGB), $(D_INLINECODE GL_VIEW_CLASS_S3TC_DXT1_RGBA), $(D_INLINECODE GL_VIEW_CLASS_S3TC_DXT3_RGBA), $(D_INLINECODE GL_VIEW_CLASS_S3TC_DXT5_RGBA), $(D_INLINECODE GL_VIEW_CLASS_RGTC1_RED), $(D_INLINECODE GL_VIEW_CLASS_RGTC2_RG), $(D_INLINECODE GL_VIEW_CLASS_BPTC_UNORM), and $(D_INLINECODE GL_VIEW_CLASS_BPTC_FLOAT). If $(D_INLINECODE pname) is $(D_INLINECODE GL_CLEAR_TEXTURE) then the presence of support for using the $(D_INLINECODE glClearTexImage) and $(D_INLINECODE glClearTexSubImage) commands with the resource is written to $(D_INLINECODE params). Possible values written are $(D_INLINECODE GL_FULL_SUPPORT), $(D_INLINECODE GL_CAVEAT_SUPPORT), or $(D_INLINECODE GL_NONE) to indicate full support, limited support or no support at all, respectively. If the resource or operation is not supported, $(D_INLINECODE GL_NONE) is returned.
13508      + 
13509      + $(D_INLINECODE glGetInternalformativ) is available only if the GL version is 4.2 or higher. The tokens $(D_INLINECODE GL_INTERNALFORMAT_SUPPORTED), $(D_INLINECODE GL_INTERNALFORMAT_PREFERRED), $(D_INLINECODE GL_INTERNALFORMAT_RED_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_GREEN_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_BLUE_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_ALPHA_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_DEPTH_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_STENCIL_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_SHARED_SIZE), $(D_INLINECODE GL_INTERNALFORMAT_RED_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_GREEN_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_BLUE_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_ALPHA_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_DEPTH_TYPE), $(D_INLINECODE GL_INTERNALFORMAT_STENCIL_TYPE), $(D_INLINECODE GL_MAX_WIDTH), $(D_INLINECODE GL_MAX_HEIGHT), $(D_INLINECODE GL_MAX_DEPTH), $(D_INLINECODE GL_MAX_LAYERS), $(D_INLINECODE GL_MAX_COMBINED_DIMENSIONS), $(D_INLINECODE GL_COLOR_COMPONENTS), $(D_INLINECODE GL_DEPTH_COMPONENTS), $(D_INLINECODE GL_STENCIL_COMPONENTS), $(D_INLINECODE GL_COLOR_RENDERABLE), $(D_INLINECODE GL_DEPTH_RENDERABLE), $(D_INLINECODE GL_STENCIL_RENDERABLE), $(D_INLINECODE GL_FRAMEBUFFER_RENDERABLE), $(D_INLINECODE GL_FRAMEBUFFER_RENDERABLE_LAYERED), $(D_INLINECODE GL_FRAMEBUFFER_BLEND), $(D_INLINECODE GL_READ_PIXELS), $(D_INLINECODE GL_READ_PIXELS_FORMAT), $(D_INLINECODE GL_READ_PIXELS_TYPE), $(D_INLINECODE GL_TEXTURE_IMAGE_FORMAT), $(D_INLINECODE GL_TEXTURE_IMAGE_TYPE), $(D_INLINECODE GL_GET_TEXTURE_IMAGE_FORMAT), $(D_INLINECODE GL_GET_TEXTURE_IMAGE_TYPE), $(D_INLINECODE GL_MIPMAP), $(D_INLINECODE GL_GENERATE_MIPMAP), $(D_INLINECODE GL_AUTO_GENERATE_MIPMAP), $(D_INLINECODE GL_COLOR_ENCODING), $(D_INLINECODE GL_SRGB_READ), $(D_INLINECODE GL_SRGB_WRITE), $(D_INLINECODE GL_SRGB_DECODE_ARB), $(D_INLINECODE GL_FILTER), $(D_INLINECODE GL_VERTEX_TEXTURE), $(D_INLINECODE GL_TESS_CONTROL_TEXTURE), $(D_INLINECODE GL_TESS_EVALUATION_TEXTURE), $(D_INLINECODE GL_GEOMETRY_TEXTURE), $(D_INLINECODE GL_FRAGMENT_TEXTURE), $(D_INLINECODE GL_COMPUTE_TEXTURE), $(D_INLINECODE GL_TEXTURE_SHADOW), $(D_INLINECODE GL_TEXTURE_GATHER), $(D_INLINECODE GL_TEXTURE_GATHER_SHADOW), $(D_INLINECODE GL_SHADER_IMAGE_LOAD), $(D_INLINECODE GL_SHADER_IMAGE_STORE), $(D_INLINECODE GL_SHADER_IMAGE_ATOMIC), $(D_INLINECODE GL_IMAGE_TEXEL_SIZE), $(D_INLINECODE GL_IMAGE_COMPATIBILITY_CLASS), $(D_INLINECODE GL_IMAGE_PIXEL_FORMAT), $(D_INLINECODE GL_IMAGE_PIXEL_TYPE), $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_TYPE), $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST), $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST), $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE), $(D_INLINECODE GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE), $(D_INLINECODE GL_TEXTURE_COMPRESSED), $(D_INLINECODE GL_TEXTURE_COMPRESSED_BLOCK_WIDTH), $(D_INLINECODE GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT), $(D_INLINECODE GL_TEXTURE_COMPRESSED_BLOCK_SIZE), $(D_INLINECODE GL_CLEAR_BUFFER), $(D_INLINECODE GL_TEXTURE_VIEW), and $(D_INLINECODE GL_VIEW_COMPATIBILITY_CLASS) are supported only if the GL version is 4.3 or higher. The $(D_INLINECODE GL_CLEAR_TEXTURE) token is accepted for $(D_INLINECODE pname) only if the GL version is 4.4 or higher.
13510      + 
13511      + Params:
13512      +     target         = Indicates the usage of the internal format. $(D_INLINECODE target) must be $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_BUFFER), $(D_INLINECODE GL_RENDERBUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY).
13513      +     internalformat = Specifies the internal format about which to retrieve information.
13514      +     pname          = Specifies the type of information to query.
13515      +     bufSize        = Specifies the maximum number of basic machine units that may be written to $(D_INLINECODE params) by the function.
13516      +     params         = Specifies the address of a variable into which to write the retrieved information.
13517      + 
13518      + Copyright:
13519      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13520      + 
13521      + See_Also:
13522      +     $(D_INLINECODE glGet)
13523      +/
13524     @OpenGL_Version(OGLIntroducedIn.V4P2)
13525     @OpenGL_Extension("GL_ARB_internalformat_query")
13526     fn_glGetInternalformativ glGetInternalformativ;
13527     alias fn_glGetInternalformati64v = extern(C) void function(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params) @system @nogc nothrow;
13528     /// Ditto
13529     @OpenGL_Version(OGLIntroducedIn.V4P3)
13530     @OpenGL_Extension("GL_ARB_internalformat_query2")
13531     fn_glGetInternalformati64v glGetInternalformati64v;
13532     alias fn_glGetMultisamplefv = extern(C) void function(GLenum pname, GLuint index, GLfloat* val) @system @nogc nothrow;
13533 
13534     /++
13535      + glGetMultisample: man4/glGetMultisample.xml
13536      + 
13537      + $(D_INLINECODE glGetMultisamplefv) queries the location of a given sample. $(D_INLINECODE pname) specifies the sample parameter to retrieve and must be $(D_INLINECODE GL_SAMPLE_POSITION). $(D_INLINECODE index) corresponds to the sample for which the location should be returned. The sample location is returned as two floating-point values in $(D_INLINECODE val[0]) and $(D_INLINECODE val[1]), each between 0 and 1, corresponding to the $(D_INLINECODE x) and $(D_INLINECODE y) locations respectively in the GL pixel space of that sample. (0.5, 0.5) this corresponds to the pixel center. $(D_INLINECODE index) must be between zero and the value of $(D_INLINECODE GL_SAMPLES) minus one. If the multisample mode does not have fixed sample locations, the returned values may only reflect the locations of samples within some pixels.
13538      + 
13539      + Params:
13540      +     pname = Specifies the sample parameter name. $(D_INLINECODE pname) must be $(D_INLINECODE GL_SAMPLE_POSITION).
13541      +     index = Specifies the index of the sample whose position to query.
13542      +     val   = Specifies the address of an array to receive the position of the sample.
13543      + 
13544      + Copyright:
13545      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13546      + 
13547      + See_Also:
13548      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer)
13549      +/
13550     @OpenGL_Version(OGLIntroducedIn.V3P2)
13551     @OpenGL_Extension("GL_ARB_texture_multisample")
13552     fn_glGetMultisamplefv glGetMultisamplefv;
13553     alias fn_glGetRenderbufferParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
13554 
13555     /++
13556      + glGetNamedRenderbufferParameteriv: man4/glGetRenderbufferParameter.xml
13557      + 
13558      + $(D_INLINECODE glGetRenderbufferParameteriv) and $(D_INLINECODE glGetNamedRenderbufferParameteriv) query parameters of a specified renderbuffer object. For $(D_INLINECODE glGetRenderbufferParameteriv), the renderbuffer object is that bound to $(D_INLINECODE target), which must be $(D_INLINECODE GL_RENDERBUFFER). For $(D_INLINECODE glGetNamedRenderbufferParameteriv), $(D_INLINECODE renderbuffer) is the name of the renderbuffer object. Upon successful return, $(D_INLINECODE param) will contain the value of the renderbuffer parameter specified by $(D_INLINECODE pname), as described below.
13559      + 
13560      + Params:
13561      +     target       = Specifies the target to which the renderbuffer object is bound for $(D_INLINECODE glGetRenderbufferParameteriv). $(D_INLINECODE target) must be $(D_INLINECODE GL_RENDERBUFFER).
13562      +     renderbuffer = Specifies the name of the renderbuffer object for $(D_INLINECODE glGetNamedRenderbufferParameteriv).
13563      +     pname        = Specifies the parameter of the renderbuffer object to query.
13564      +     params       = Returns the value of parameter $(D_INLINECODE pname) for the renderbuffer object.
13565      + 
13566      + Copyright:
13567      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13568      + 
13569      + See_Also:
13570      +     $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glBindRenderbuffer), $(D_INLINECODE glRenderbufferStorage), $(D_INLINECODE glRenderbufferStorageMultisample)
13571      +/
13572     @OpenGL_Version(OGLIntroducedIn.V3P0)
13573     @OpenGL_Extension("GL_ARB_framebuffer_object")
13574     fn_glGetRenderbufferParameteriv glGetRenderbufferParameteriv;
13575     alias fn_glGetNamedRenderbufferParameteriv = extern(C) void function(GLuint renderbuffer, GLenum pname, GLint* params) @system @nogc nothrow;
13576     /// Ditto
13577     @OpenGL_Version(OGLIntroducedIn.V4P5)
13578     @OpenGL_Extension("GL_ARB_direct_state_access")
13579     fn_glGetNamedRenderbufferParameteriv glGetNamedRenderbufferParameteriv;
13580     alias fn_glGetTexImage = extern(C) void function(GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels) @system @nogc nothrow;
13581 
13582     /++
13583      + glGetnTexImage: man4/glGetTexImage.xml
13584      + 
13585      + $(D_INLINECODE glGetTexImage), $(D_INLINECODE glGetnTexImage) and $(D_INLINECODE glGetTextureImage) functions return a texture image into $(D_INLINECODE pixels). For $(D_INLINECODE glGetTexImage) and $(D_INLINECODE glGetnTexImage), $(D_INLINECODE target) specifies whether the desired texture image is one specified by $(D_INLINECODE glTexImage1D) ( $(D_INLINECODE GL_TEXTURE_1D) ), $(D_INLINECODE glTexImage2D) ( $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_2D) or any of $(D_INLINECODE GL_TEXTURE_CUBE_MAP_*) ), or $(D_INLINECODE glTexImage3D) ( $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) ). For $(D_INLINECODE glGetTextureImage), $(D_INLINECODE texture) specifies the texture object name. In addition to types of textures accepted by $(D_INLINECODE glGetTexImage) and $(D_INLINECODE glGetnTexImage), the function also accepts cube map texture objects (with effective target $(D_INLINECODE GL_TEXTURE_CUBE_MAP) ). $(D_INLINECODE level) specifies the level-of-detail number of the desired image. $(D_INLINECODE format) and $(D_INLINECODE type) specify the format and type of the desired image array. See the reference page for $(D_INLINECODE glTexImage1D) for a description of the acceptable values for the $(D_INLINECODE format) and $(D_INLINECODE type) parameters, respectively. For glGetnTexImage and glGetTextureImage functions, bufSize tells the size of the buffer to receive the retrieved pixel data. $(D_INLINECODE glGetnTexImage) and $(D_INLINECODE glGetTextureImage) do not write more than $(D_INLINECODE bufSize) bytes into $(D_INLINECODE pixels). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_PACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is requested, $(D_INLINECODE pixels) is treated as a byte offset into the buffer object's data store. To understand the operation of $(D_INLINECODE glGetTexImage), consider the selected internal four-component texture image to be an RGBA color buffer the size of the image. The semantics of $(D_INLINECODE glGetTexImage) are then identical to those of $(D_INLINECODE glReadPixels), with the exception that no pixel transfer operations are performed, when called with the same $(D_INLINECODE format) and $(D_INLINECODE type), with and set to 0, set to the width of the texture image and set to 1 for 1D images, or to the height of the texture image for 2D images. If the selected texture image does not contain four components, the following mappings are applied. Single-component textures are treated as RGBA buffers with red set to the single-component value, green set to 0, blue set to 0, and alpha set to 1. Two-component textures are treated as RGBA buffers with red set to the value of component zero, alpha set to the value of component one, and green and blue set to 0. Finally, three-component textures are treated as RGBA buffers with red set to component zero, green set to component one, blue set to component two, and alpha set to 1. To determine the required size of $(D_INLINECODE pixels), use $(D_INLINECODE glGetTexLevelParameter) to determine the dimensions of the internal texture image, then scale the required number of pixels by the storage required for each pixel, based on $(D_INLINECODE format) and $(D_INLINECODE type). Be sure to take the pixel storage parameters into account, especially $(D_INLINECODE GL_PACK_ALIGNMENT). If $(D_INLINECODE glGetTextureImage) is used against a cube map texture object, the texture is treated as a three-dimensional image of a depth of 6, where the cube map faces are ordered as image layers, in an order presented in the table below: Layer number Cube Map Face 0 GL_TEXTURE_CUBE_MAP_POSITIVE_X 1 GL_TEXTURE_CUBE_MAP_NEGATIVE_X 2 GL_TEXTURE_CUBE_MAP_POSITIVE_Y 3 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 4 GL_TEXTURE_CUBE_MAP_POSITIVE_Z 5 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
13586      + 
13587      + If an error is generated, no change is made to the contents of $(D_INLINECODE pixels). $(D_INLINECODE glGetTexImage) and $(D_INLINECODE glGetnTexImage) return the texture image for the active texture unit. $(D_INLINECODE GL_STENCIL_INDEX) is accepted for $(D_INLINECODE format) only if the GL version is 4.4 or greater.
13588      + 
13589      + Params:
13590      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glGetTexImage) and $(D_INLINECODE glGetnTexImage) functions. $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), and $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) are acceptable.
13591      +     texture = Specifies the texture object name.
13592      +     level   = Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the n th mipmap reduction image.
13593      +     format  = Specifies a pixel format for the returned data. The supported formats are $(D_INLINECODE GL_STENCIL_INDEX), $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_STENCIL), $(D_INLINECODE GL_RED), $(D_INLINECODE GL_GREEN), $(D_INLINECODE GL_BLUE), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_BGRA), $(D_INLINECODE GL_RED_INTEGER), $(D_INLINECODE GL_GREEN_INTEGER), $(D_INLINECODE GL_BLUE_INTEGER), $(D_INLINECODE GL_RG_INTEGER), $(D_INLINECODE GL_RGB_INTEGER), $(D_INLINECODE GL_RGBA_INTEGER), $(D_INLINECODE GL_BGR_INTEGER), $(D_INLINECODE GL_BGRA_INTEGER).
13594      +     type    = Specifies a pixel type for the returned data. The supported types are $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_HALF_FLOAT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV), $(D_INLINECODE GL_UNSIGNED_INT_24_8), $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV), $(D_INLINECODE GL_UNSIGNED_INT_5_9_9_9_REV), and $(D_INLINECODE GL_FLOAT_32_UNSIGNED_INT_24_8_REV).
13595      +     bufSize = Specifies the size of the buffer $(D_INLINECODE pixels) for $(D_INLINECODE glGetnTexImage) and $(D_INLINECODE glGetTextureImage) functions.
13596      +     pixels  = Returns the texture image. Should be a pointer to an array of the type specified by $(D_INLINECODE type).
13597      + 
13598      + Copyright:
13599      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
13600      + 
13601      + See_Also:
13602      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glReadPixels), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
13603      +/
13604     @OpenGL_Version(OGLIntroducedIn.V1P0)
13605     fn_glGetTexImage glGetTexImage;
13606     alias fn_glGetnTexImage = extern(C) void function(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) @system @nogc nothrow;
13607     /// Ditto
13608     @OpenGL_Version(OGLIntroducedIn.V4P5)
13609     fn_glGetnTexImage glGetnTexImage;
13610     alias fn_glGetTextureImage = extern(C) void function(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) @system @nogc nothrow;
13611     /// Ditto
13612     @OpenGL_Version(OGLIntroducedIn.V4P5)
13613     @OpenGL_Extension("GL_ARB_direct_state_access")
13614     fn_glGetTextureImage glGetTextureImage;
13615     alias fn_glGetUniformfv = extern(C) void function(GLuint program, GLint location, GLfloat* params) @system @nogc nothrow;
13616 
13617     /++
13618      + glGetnUniformdv: man4/glGetUniform.xml
13619      + 
13620      + $(D_INLINECODE glGetUniform) and $(D_INLINECODE glGetnUniform) return in $(D_INLINECODE params) the value(s) of the specified uniform variable. The type of the uniform variable specified by $(D_INLINECODE location) determines the number of values returned. If the uniform variable is defined in the shader as a boolean, int, or float, a single value will be returned. If it is defined as a vec2, ivec2, or bvec2, two values will be returned. If it is defined as a vec3, ivec3, or bvec3, three values will be returned, and so on. To query values stored in uniform variables declared as arrays, call $(D_INLINECODE glGetUniform) for each element of the array. To query values stored in uniform variables declared as structures, call $(D_INLINECODE glGetUniform) for each field in the structure. The values for uniform variables declared as a matrix will be returned in column major order. The locations assigned to uniform variables are not known until the program object is linked. After linking has occurred, the command $(D_INLINECODE glGetUniformLocation) can be used to obtain the location of a uniform variable. This location value can then be passed to $(D_INLINECODE glGetUniform) or $(D_INLINECODE glGetnUniform) in order to query the current value of the uniform variable. After a program object has been linked successfully, the index values for uniform variables remain fixed until the next link command occurs. The uniform variable values can only be queried after a link if the link was successful. The only difference between $(D_INLINECODE glGetUniform) and $(D_INLINECODE glGetnUniform) is that $(D_INLINECODE glGetnUniform) will generate an error if size of the $(D_INLINECODE params) buffer,as described by $(D_INLINECODE bufSize), is not large enough to hold the result data.
13621      + 
13622      + If an error is generated, no change is made to the contents of $(D_INLINECODE params).
13623      + 
13624      + Params:
13625      +     program  = Specifies the program object to be queried.
13626      +     location = Specifies the location of the uniform variable to be queried.
13627      +     bufSize  = Specifies the size of the buffer $(D_INLINECODE params).
13628      +     params   = Returns the value of the specified uniform variable.
13629      + 
13630      + Copyright:
13631      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13632      + 
13633      + See_Also:
13634      +     $(D_INLINECODE glCreateProgram), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform)
13635      +/
13636     @OpenGL_Version(OGLIntroducedIn.V2P0)
13637     fn_glGetUniformfv glGetUniformfv;
13638     alias fn_glGetUniformiv = extern(C) void function(GLuint program, GLint location, GLint* params) @system @nogc nothrow;
13639     /// Ditto
13640     @OpenGL_Version(OGLIntroducedIn.V2P0)
13641     fn_glGetUniformiv glGetUniformiv;
13642     alias fn_glGetUniformuiv = extern(C) void function(GLuint program, GLint location, GLuint* params) @system @nogc nothrow;
13643     /// Ditto
13644     @OpenGL_Version(OGLIntroducedIn.V3P0)
13645     fn_glGetUniformuiv glGetUniformuiv;
13646     alias fn_glGetUniformdv = extern(C) void function(GLuint program, GLint location, GLdouble* params) @system @nogc nothrow;
13647     /// Ditto
13648     @OpenGL_Version(OGLIntroducedIn.V4P0)
13649     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
13650     fn_glGetUniformdv glGetUniformdv;
13651     alias fn_glGetnUniformfv = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) @system @nogc nothrow;
13652     /// Ditto
13653     @OpenGL_Version(OGLIntroducedIn.V4P5)
13654     @OpenGL_Extension("GL_KHR_robustness")
13655     fn_glGetnUniformfv glGetnUniformfv;
13656     alias fn_glGetnUniformiv = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLint* params) @system @nogc nothrow;
13657     /// Ditto
13658     @OpenGL_Version(OGLIntroducedIn.V4P5)
13659     @OpenGL_Extension("GL_KHR_robustness")
13660     fn_glGetnUniformiv glGetnUniformiv;
13661     alias fn_glGetnUniformuiv = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLuint* params) @system @nogc nothrow;
13662     /// Ditto
13663     @OpenGL_Version(OGLIntroducedIn.V4P5)
13664     @OpenGL_Extension("GL_KHR_robustness")
13665     fn_glGetnUniformuiv glGetnUniformuiv;
13666     alias fn_glGetnUniformdv = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLdouble* params) @system @nogc nothrow;
13667     /// Ditto
13668     @OpenGL_Version(OGLIntroducedIn.V4P5)
13669     fn_glGetnUniformdv glGetnUniformdv;
13670     alias fn_glGetObjectLabel = extern(C) void function(GLenum identifier, GLuint name, GLsizei bifSize, GLsizei* length, char* label) @system @nogc nothrow;
13671 
13672     /++
13673      + glGetObjectLabel: man4/glGetObjectLabel.xml
13674      + 
13675      + $(D_INLINECODE glGetObjectLabel) retrieves the label of the object identified by $(D_INLINECODE name) within the namespace given by $(D_INLINECODE identifier). $(D_INLINECODE identifier) must be one of $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER), $(D_INLINECODE GL_PROGRAM), $(D_INLINECODE GL_VERTEX_ARRAY), $(D_INLINECODE GL_QUERY), $(D_INLINECODE GL_PROGRAM_PIPELINE), $(D_INLINECODE GL_TRANSFORM_FEEDBACK), $(D_INLINECODE GL_SAMPLER), $(D_INLINECODE GL_TEXTURE), $(D_INLINECODE GL_RENDERBUFFER), $(D_INLINECODE GL_FRAMEBUFFER), to indicate the namespace containing the names of buffers, shaders, programs, vertex array objects, query objects, program pipelines, transform feedback objects, samplers, textures, renderbuffers and frame buffers, respectively. $(D_INLINECODE label) is the address of a string that will be used to store the object label. $(D_INLINECODE bufSize) specifies the number of characters in the array identified by $(D_INLINECODE label). $(D_INLINECODE length) contains the address of a variable which will receive the the number of characters in the object label. If $(D_INLINECODE length) is null, then it is ignored and no data is written. Likewise, if
13676      +  $(D_INLINECODE label) is null, or if
13677      +  $(D_INLINECODE bufSize) is zero then no data is written to $(D_INLINECODE label).
13678      + 
13679      + Params:
13680      +     identifier = The namespace from which the name of the object is allocated.
13681      +     name       = The name of the object whose label to retrieve.
13682      +     bufSize    = The length of the buffer whose address is in $(D_INLINECODE label).
13683      +     length     = The address of a variable to receive the length of the object label.
13684      +     label      = The address of a string that will receive the object label.
13685      + 
13686      + Copyright:
13687      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13688      + 
13689      + See_Also:
13690      +     $(D_INLINECODE glPushDebugGroup), $(D_INLINECODE glPopDebugGroup), $(D_INLINECODE glObjectLabel), $(D_INLINECODE glGetObjectPtrLabel).
13691      +/
13692     @OpenGL_Version(OGLIntroducedIn.V4P3)
13693     @OpenGL_Extension("GL_KHR_debug")
13694     fn_glGetObjectLabel glGetObjectLabel;
13695     alias fn_glGetObjectPtrLabel = extern(C) void function(void* ptr, GLsizei bifSize, GLsizei* length, char* label) @system @nogc nothrow;
13696 
13697     /++
13698      + glGetObjectPtrLabel: man4/glGetObjectPtrLabel.xml
13699      + 
13700      + $(D_INLINECODE glGetObjectPtrLabel) retrieves the label of the sync object identified by $(D_INLINECODE ptr). $(D_INLINECODE label) is the address of a string that will be used to store the object label. $(D_INLINECODE bufSize) specifies the number of characters in the array identified by $(D_INLINECODE label). $(D_INLINECODE length) contains the address of a variable which will receive the the number of characters in the object label. If $(D_INLINECODE length) is null, then it is ignored and no data is written. Likewise, if
13701      +  $(D_INLINECODE label) is null, or if
13702      +  $(D_INLINECODE bufSize) is zero then no data is written to $(D_INLINECODE label).
13703      + 
13704      + Params:
13705      +     ptr     = The name of the sync object whose label to retrieve.
13706      +     bufSize = The length of the buffer whose address is in $(D_INLINECODE label).
13707      +     length  = The address of a variable to receive the length of the object label.
13708      +     label   = The address of a string that will receive the object label.
13709      + 
13710      + Copyright:
13711      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13712      + 
13713      + See_Also:
13714      +     $(D_INLINECODE glPushDebugGroup), $(D_INLINECODE glPopDebugGroup), $(D_INLINECODE glObjectLabel), $(D_INLINECODE glGetObjectLabel).
13715      +/
13716     @OpenGL_Version(OGLIntroducedIn.V4P3)
13717     @OpenGL_Extension("GL_KHR_debug")
13718     fn_glGetObjectPtrLabel glGetObjectPtrLabel;
13719     alias fn_glGetPointerv = extern(C) void function(GLenum pname, GLvoid** params) @system @nogc nothrow;
13720 
13721     /++
13722      + glGetPointerv: man4/glGetPointerv.xml
13723      + 
13724      + $(D_INLINECODE glGetPointerv) returns pointer information. $(D_INLINECODE pname) indicates the pointer to be returned, and $(D_INLINECODE params) is a pointer to a location in which to place the returned data. The parameters that may be queried include:
13725      + 
13726      + $(D_INLINECODE glGetPointerv) is available in the OpenGL core profile only if the GL version is 4.3 or later. It is available in the compatibility profile for all GL versions, and accepts additional queries. However, these reference pages document only the core profile.
13727      + 
13728      + Params:
13729      +     pname  = Specifies the pointer to be returned. Must be one of $(D_INLINECODE GL_DEBUG_CALLBACK_FUNCTION) or $(D_INLINECODE GL_DEBUG_CALLBACK_USER_PARAM).
13730      +     params = Returns the pointer value specified by $(D_INLINECODE pname).
13731      + 
13732      + Copyright:
13733      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13734      + 
13735      + See_Also:
13736      +     $(D_INLINECODE glDebugMessageCallback)
13737      +/
13738     @OpenGL_Version(OGLIntroducedIn.V1P1)
13739     @OpenGL_Extension("GL_KHR_debug")
13740     fn_glGetPointerv glGetPointerv;
13741     alias fn_glGetProgramiv = extern(C) void function(GLuint program, GLenum pname, GLint* params) @system @nogc nothrow;
13742 
13743     /++
13744      + glGetProgram: man4/glGetProgram.xml
13745      + 
13746      + $(D_INLINECODE glGetProgram) returns in $(D_INLINECODE params) the value of a parameter for a specific program object. The following parameters are defined:
13747      + 
13748      + $(D_INLINECODE GL_ACTIVE_UNIFORM_BLOCKS) and $(D_INLINECODE GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH) are available only if the GL version 3.1 or greater. $(D_INLINECODE GL_GEOMETRY_VERTICES_OUT), $(D_INLINECODE GL_GEOMETRY_INPUT_TYPE) and $(D_INLINECODE GL_GEOMETRY_OUTPUT_TYPE) are accepted only if the GL version is 3.2 or greater. $(D_INLINECODE GL_COMPUTE_WORK_GROUP_SIZE) is accepted only if the GL version is 4.3 or greater. If an error is generated, no change is made to the contents of $(D_INLINECODE params).
13749      + 
13750      + Params:
13751      +     program = Specifies the program object to be queried.
13752      +     pname   = Specifies the object parameter. Accepted symbolic names are $(D_INLINECODE GL_DELETE_STATUS), $(D_INLINECODE GL_LINK_STATUS), $(D_INLINECODE GL_VALIDATE_STATUS), $(D_INLINECODE GL_INFO_LOG_LENGTH), $(D_INLINECODE GL_ATTACHED_SHADERS), $(D_INLINECODE GL_ACTIVE_ATOMIC_COUNTER_BUFFERS), $(D_INLINECODE GL_ACTIVE_ATTRIBUTES), $(D_INLINECODE GL_ACTIVE_ATTRIBUTE_MAX_LENGTH), $(D_INLINECODE GL_ACTIVE_UNIFORMS), $(D_INLINECODE GL_ACTIVE_UNIFORM_BLOCKS), $(D_INLINECODE GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH), $(D_INLINECODE GL_ACTIVE_UNIFORM_MAX_LENGTH), $(D_INLINECODE GL_COMPUTE_WORK_GROUP_SIZE) $(D_INLINECODE GL_PROGRAM_BINARY_LENGTH), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_MODE), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYINGS), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH), $(D_INLINECODE GL_GEOMETRY_VERTICES_OUT), $(D_INLINECODE GL_GEOMETRY_INPUT_TYPE), and $(D_INLINECODE GL_GEOMETRY_OUTPUT_TYPE).
13753      +     params  = Returns the requested object parameter.
13754      + 
13755      + Copyright:
13756      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13757      + 
13758      + See_Also:
13759      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glDeleteProgram), $(D_INLINECODE glGetShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glValidateProgram)
13760      +/
13761     @OpenGL_Version(OGLIntroducedIn.V2P0)
13762     fn_glGetProgramiv glGetProgramiv;
13763     alias fn_glGetProgramBinary = extern(C) void function(GLuint program, GLsizei bufsize, GLsizei* length, GLenum* binaryFormat, void* binary) @system @nogc nothrow;
13764 
13765     /++
13766      + glGetProgramBinary: man4/glGetProgramBinary.xml
13767      + 
13768      + $(D_INLINECODE glGetProgramBinary) returns a binary representation of the compiled and linked executable for $(D_INLINECODE program) into the array of bytes whose address is specified in $(D_INLINECODE binary). The maximum number of bytes that may be written into $(D_INLINECODE binary) is specified by $(D_INLINECODE bufSize). If the program binary is greater in size than $(D_INLINECODE bufSize) bytes, then an error is generated, otherwise the actual number of bytes written into $(D_INLINECODE binary) is returned in the variable whose address is given by $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
13769      + ), then no length is returned. The format of the program binary written into $(D_INLINECODE binary) is returned in the variable whose address is given by $(D_INLINECODE binaryFormat), and may be implementation dependent. The binary produced by the GL may subsequently be returned to the GL by calling $(D_INLINECODE glProgramBinary), with $(D_INLINECODE binaryFormat) and $(D_INLINECODE length) set to the values returned by $(D_INLINECODE glGetProgramBinary), and passing the returned binary data in the $(D_INLINECODE binary) parameter.
13770      + 
13771      + Params:
13772      +     program      = Specifies the name of a program object whose binary representation to retrieve.
13773      +     bufSize      = Specifies the size of the buffer whose address is given by $(D_INLINECODE binary).
13774      +     length       = Specifies the address of a variable to receive the number of bytes written into $(D_INLINECODE binary).
13775      +     binaryFormat = Specifies the address of a variable to receive a token indicating the format of the binary data returned by the GL.
13776      +     binary       = Specifies the address an array into which the GL will return $(D_INLINECODE program) 's binary representation.
13777      + 
13778      + Copyright:
13779      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13780      + 
13781      + See_Also:
13782      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glProgramBinary)
13783      +/
13784     @OpenGL_Version(OGLIntroducedIn.V4P1)
13785     @OpenGL_Extension("GL_ARB_get_program_binary")
13786     fn_glGetProgramBinary glGetProgramBinary;
13787     alias fn_glGetProgramInfoLog = extern(C) void function(GLuint program, GLsizei maxLength, GLsizei* length, GLchar* infoLog) @system @nogc nothrow;
13788 
13789     /++
13790      + glGetProgramInfoLog: man4/glGetProgramInfoLog.xml
13791      + 
13792      + $(D_INLINECODE glGetProgramInfoLog) returns the information log for the specified program object. The information log for a program object is modified when the program object is linked or validated. The string that is returned will be null terminated. $(D_INLINECODE glGetProgramInfoLog) returns in $(D_INLINECODE infoLog) as much of the information log as it can, up to a maximum of $(D_INLINECODE maxLength) characters. The number of characters actually returned, excluding the null termination character, is specified by $(D_INLINECODE length). If the length of the returned string is not required, a value of $(D_INLINECODE null
13793      + ) can be passed in the $(D_INLINECODE length) argument. The size of the buffer required to store the returned information log can be obtained by calling $(D_INLINECODE glGetProgram) with the value $(D_INLINECODE GL_INFO_LOG_LENGTH). The information log for a program object is either an empty string, or a string containing information about the last link operation, or a string containing information about the last validation operation. It may contain diagnostic messages, warning messages, and other information. When a program object is created, its information log will be a string of length 0.
13794      + 
13795      + The information log for a program object is the OpenGL implementer's primary mechanism for conveying information about linking and validating. Therefore, the information log can be helpful to application developers during the development process, even when these operations are successful. Application developers should not expect different OpenGL implementations to produce identical information logs.
13796      + 
13797      + Params:
13798      +     program   = Specifies the program object whose information log is to be queried.
13799      +     maxLength = Specifies the size of the character buffer for storing the returned information log.
13800      +     length    = Returns the length of the string returned in $(D_INLINECODE infoLog) (excluding the null terminator).
13801      +     infoLog   = Specifies an array of characters that is used to return the information log.
13802      + 
13803      + Copyright:
13804      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13805      + 
13806      + See_Also:
13807      +     $(D_INLINECODE glCompileShader), $(D_INLINECODE glGetShaderInfoLog), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glValidateProgram)
13808      +/
13809     @OpenGL_Version(OGLIntroducedIn.V2P0)
13810     fn_glGetProgramInfoLog glGetProgramInfoLog;
13811     alias fn_glGetProgramInterfaceiv = extern(C) void function(GLuint program, GLenum programInterface, GLenum pname, GLint* params) @system @nogc nothrow;
13812 
13813     /++
13814      + glGetProgramInterface: man4/glGetProgramInterface.xml
13815      + 
13816      + $(D_INLINECODE glGetProgramInterfaceiv) queries the property of the interface identifed by $(D_INLINECODE programInterface) in $(D_INLINECODE program), the property name of which is given by $(D_INLINECODE pname). $(D_INLINECODE program) must be the name of an existing program object. $(D_INLINECODE programInterface) is the name of the interface within $(D_INLINECODE program) to query and must be one of the following values: $(D_INLINECODE pname) identifies the property of $(D_INLINECODE programInterface) to return in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_RESOURCES), the value returned is the number of resources in the active resource list for $(D_INLINECODE programInterface).  If the list of active resources for $(D_INLINECODE programInterface) is empty, zero is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_NAME_LENGTH), the value returned is the length of the longest active name string for an active resource in $(D_INLINECODE programInterface). This length includes an extra character for the null terminator.  If the list of active resources for $(D_INLINECODE programInterface) is empty, zero is returned.  It is an error to specify $(D_INLINECODE GL_MAX_NAME_LENGTH) when $(D_INLINECODE programInterface) is $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), as active atomic counter buffer resources are not assigned name strings. If $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_NUM_ACTIVE_VARIABLES), the value returned is the number of active variables belonging to the interface block or atomic counter buffer resource in $(D_INLINECODE programInterface) with the most active variables.  If the list of active resources for $(D_INLINECODE programInterface) is empty, zero is returned.  When $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_NUM_ACTIVE_VARIABLES), $(D_INLINECODE programInterface) must be $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), or $(D_INLINECODE GL_SHADER_STORAGE_BLOCK). If $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_NUM_COMPATIBLE_SUBROUTINES), the value returned is the number of compatible subroutines belonging to the active subroutine uniform in $(D_INLINECODE programInterface) with the most compatible subroutines.  If the list of active resources for $(D_INLINECODE programInterface) is empty, zero is returned. When $(D_INLINECODE pname) is $(D_INLINECODE GL_MAX_NUM_COMPATIBLE_SUBROUTINES), $(D_INLINECODE programInterface) must be one of $(D_INLINECODE GL_VERTEX_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_CONTROL_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_EVALUATION_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_GEOMETRY_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_FRAGMENT_SUBROUTINE_UNIFORM), or $(D_INLINECODE GL_COMPUTE_SUBROUTINE_UNIFORM).
13817      + 
13818      + Params:
13819      +     program          = The name of a program object whose interface to query.
13820      +     programInterface = A token identifying the interface within $(D_INLINECODE program) to query.
13821      +     pname            = The name of the parameter within $(D_INLINECODE programInterface) to query.
13822      +     params           = The address of a variable to retrieve the value of $(D_INLINECODE pname) for the program interface.
13823      + 
13824      + Copyright:
13825      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13826      + 
13827      + See_Also:
13828      +     $(D_INLINECODE glPushDebugGroup), $(D_INLINECODE glPopDebugGroup), $(D_INLINECODE glObjectLabel), $(D_INLINECODE glGetObjectLabel).
13829      +/
13830     @OpenGL_Version(OGLIntroducedIn.V4P3)
13831     @OpenGL_Extension("GL_ARB_program_interface_query")
13832     fn_glGetProgramInterfaceiv glGetProgramInterfaceiv;
13833     alias fn_glGetProgramPipelineiv = extern(C) void function(GLuint pipeline, GLenum pname, GLint* params) @system @nogc nothrow;
13834 
13835     /++
13836      + glGetProgramPipeline: man4/glGetProgramPipeline.xml
13837      + 
13838      + $(D_INLINECODE glGetProgramPipelineiv) retrieves the value of a property of the program pipeline object $(D_INLINECODE pipeline). $(D_INLINECODE pname) specifies the name of the parameter whose value to retrieve. The value of the parameter is written to the variable whose address is given by $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_PROGRAM), the name of the active program object of the program pipeline object is returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_VERTEX_SHADER), the name of the current program object for the vertex shader type of the program pipeline object is returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_TESS_CONTROL_SHADER), the name of the current program object for the tessellation control shader type of the program pipeline object is returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_TESS_EVALUATION_SHADER), the name of the current program object for the tessellation evaluation shader type of the program pipeline object is returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_GEOMETRY_SHADER), the name of the current program object for the geometry shader type of the program pipeline object is returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_FRAGMENT_SHADER), the name of the current program object for the fragment shader type of the program pipeline object is returned in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_INFO_LOG_LENGTH), the length of the info log, including the null terminator, is returned in $(D_INLINECODE params). If there is no info log, zero is returned.
13839      + 
13840      + Params:
13841      +     pipeline = Specifies the name of a program pipeline object whose parameter retrieve.
13842      +     pname    = Specifies the name of the parameter to retrieve.
13843      +     params   = Specifies the address of a variable into which will be written the value or values of $(D_INLINECODE pname) for $(D_INLINECODE pipeline).
13844      + 
13845      + Copyright:
13846      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13847      + 
13848      + See_Also:
13849      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glDeleteProgramPipelines)
13850      +/
13851     @OpenGL_Version(OGLIntroducedIn.V4P1)
13852     @OpenGL_Extension("GL_ARB_separate_shader_objects")
13853     fn_glGetProgramPipelineiv glGetProgramPipelineiv;
13854     alias fn_glGetProgramPipelineInfoLog = extern(C) void function(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) @system @nogc nothrow;
13855 
13856     /++
13857      + glGetProgramPipelineInfoLog: man4/glGetProgramPipelineInfoLog.xml
13858      + 
13859      + $(D_INLINECODE glGetProgramPipelineInfoLog) retrieves the info log for the program pipeline object $(D_INLINECODE pipeline). The info log, including its null terminator, is written into the array of characters whose address is given by $(D_INLINECODE infoLog). The maximum number of characters that may be written into $(D_INLINECODE infoLog) is given by $(D_INLINECODE bufSize), and the actual number of characters written into $(D_INLINECODE infoLog) is returned in the integer whose address is given by $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
13860      + ), no length is returned. The actual length of the info log for the program pipeline may be determined by calling $(D_INLINECODE glGetProgramPipeline) with $(D_INLINECODE pname) set to $(D_INLINECODE GL_INFO_LOG_LENGTH).
13861      + 
13862      + Params:
13863      +     pipeline = Specifies the name of a program pipeline object from which to retrieve the info log.
13864      +     bufSize  = Specifies the maximum number of characters, including the null terminator, that may be written into $(D_INLINECODE infoLog).
13865      +     length   = Specifies the address of a variable into which will be written the number of characters written into $(D_INLINECODE infoLog).
13866      +     infoLog  = Specifies the address of an array of characters into which will be written the info log for $(D_INLINECODE pipeline).
13867      + 
13868      + Copyright:
13869      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13870      + 
13871      + See_Also:
13872      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glDeleteProgramPipelines), $(D_INLINECODE glGetProgramPipeline)
13873      +/
13874     @OpenGL_Version(OGLIntroducedIn.V4P1)
13875     @OpenGL_Extension("GL_ARB_separate_shader_objects")
13876     fn_glGetProgramPipelineInfoLog glGetProgramPipelineInfoLog;
13877     alias fn_glGetProgramResourceiv = extern(C) void function(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const(GLenum)* props, GLsizei bufSize, GLsizei* length, GLint* params) @system @nogc nothrow;
13878 
13879     /++
13880      + glGetProgramResource: man4/glGetProgramResource.xml
13881      + 
13882      + $(D_INLINECODE glGetProgramResourceiv) returns values for multiple properties of a single active resource with an index of $(D_INLINECODE index) in the interface $(D_INLINECODE programInterface) of program object $(D_INLINECODE program).  For each resource, values for $(D_INLINECODE propCount) properties specified by the array $(D_INLINECODE props) are returned. $(D_INLINECODE propCount) may not be zero. An error is generated if any value in $(D_INLINECODE props) is not one of the properties described immediately belowor if any value in $(D_INLINECODE props) is not allowed for $(D_INLINECODE programInterface).  The set of allowed $(D_INLINECODE programInterface) values for each property can be found in the following table: Property Supported Interfaces $(D_INLINECODE GL_NAME_LENGTH) Any except $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) and $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) $(D_INLINECODE GL_TYPE) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING), $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_ARRAY_SIZE) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT, VERTEX_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_CONTROL_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_EVALUATION_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_GEOMETRY_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_FRAGMENT_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_COMPUTE_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING) $(D_INLINECODE GL_OFFSET) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING) $(D_INLINECODE GL_BLOCK_INDEX) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_ARRAY_STRIDE) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_MATRIX_STRIDE) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_IS_ROW_MAJOR) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_INDEX) $(D_INLINECODE GL_UNIFORM) $(D_INLINECODE GL_TEXTURE_BUFFER) $(D_INLINECODE GL_BUFFER_BINDING) $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) $(D_INLINECODE GL_BUFFER_DATA_SIZE) $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK) $(D_INLINECODE GL_NUM_ACTIVE_VARIABLES) $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) $(D_INLINECODE GL_ACTIVE_VARIABLES) $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) $(D_INLINECODE GL_REFERENCED_BY_VERTEX_SHADER) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_SHADER), $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_REFERENCED_BY_TESS_CONTROL_SHADER) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_SHADER), $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_REFERENCED_BY_TESS_EVALUATION_SHADER) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_SHADER), $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_REFERENCED_BY_GEOMETRY_SHADER) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_SHADER), $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_REFERENCED_BY_FRAGMENT_SHADER) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_SHADER), $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_REFERENCED_BY_COMPUTE_SHADER) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_UNIFORM_BLOCK), $(D_INLINECODE GL_ATOMIC_COUNTER_SHADER), $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER_STORAGE_BLOCK), $(D_INLINECODE GL_BUFFER_VARIABLE), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_NUM_COMPATIBLE_SUBROUTINES) $(D_INLINECODE GL_VERTEX_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_CONTROL_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_EVALUATION_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_GEOMETRY_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_FRAGMENT_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_COMPUTE_SUBROUTINE_UNIFORM) $(D_INLINECODE GL_COMPATIBLE_SUBROUTINES) $(D_INLINECODE GL_VERTEX_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_CONTROL_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_EVALUATION_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_GEOMETRY_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_FRAGMENT_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_COMPUTE_SUBROUTINE_UNIFORM) $(D_INLINECODE GL_TOP_LEVEL_ARRAY_SIZE) $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_TOP_LEVEL_ARRAY_STRIDE) $(D_INLINECODE GL_BUFFER_VARIABLE) $(D_INLINECODE GL_LOCATION) $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT), $(D_INLINECODE GL_VERTEX_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_CONTROL_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_EVALUATION_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_GEOMETRY_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_FRAGMENT_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_COMPUTE_SUBROUTINE_UNIFORM) $(D_INLINECODE GL_LOCATION_INDEX) $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_IS_PER_PATCH) $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_LOCATION_COMPONENT) $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT) $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_INDEX) $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING) $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE) $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) For the property $(D_INLINECODE GL_NAME_LENGTH), a single integer identifying the length of the name string associated with an active variable, interface block, or subroutine is written to $(D_INLINECODE params).  The name length includes a terminating null character. For the property $(D_INLINECODE GL_TYPE), a single integer identifying the type of an active variable is written to $(D_INLINECODE params).  The integer returned is one of the values found in table 2.16. For the property $(D_INLINECODE GL_ARRAY_SIZE), a single integer identifying the number of active array elements of an active variable is written to $(D_INLINECODE params).  The array size returned is in units of the type associated with the property $(D_INLINECODE GL_TYPE).  For active variables not corresponding to an array of basic types, the value zero is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_BLOCK_INDEX), a single integer identifying the index of the active interface block containing an active variable is written to $(D_INLINECODE params).  If the variable is not the member of an interface block, the value -1 is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_OFFSET), a single integer identifying the offset of an active variable is written to $(D_INLINECODE params).  For variables in the $(D_INLINECODE GL_UNIFORM) and $(D_INLINECODE GL_BUFFER_VARIABLE) interfaces that are backed by a buffer object, the value written is the offset of that variable relative to the base of the buffer range holding its value.  For variables in the $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING) interface, the value written is the offset in the transform feedback buffer storage assigned to each vertex captured in transform feedback mode where the value of the variable will be stored.  Such offsets are specified via the $(D_INLINECODE xfb_offset) layout qualifier or assigned according to the variables position in the list of strings passed to $(D_INLINECODE glTransformFeedbackVaryings).  Offsets are expressed in basic machine units. For all variables not recorded in transform feedback mode, including the special names $(D_INLINECODE "gl_NextBuffer"), $(D_INLINECODE "gl_SkipComponents1"), $(D_INLINECODE "gl_SkipComponents2"), $(D_INLINECODE "gl_SkipComponents3"), and $(D_INLINECODE "gl_SkipComponents4"), -1 is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_ARRAY_STRIDE), a single integer identifying the stride between array elements in an active variable is written to $(D_INLINECODE params).  For active variables declared as an array of basic types, the value written is the difference, in basic machine units, between the offsets of consecutive elements in an array.  For active variables not declared as an array of basic types, zero is written to $(D_INLINECODE params).  For active variables not backed by a buffer object, -1 is written to $(D_INLINECODE params), regardless of the variable type. For the property $(D_INLINECODE GL_MATRIX_STRIDE), a single integer identifying the stride between columns of a column-major matrix or rows of a row-major matrix is written to $(D_INLINECODE params).  For active variables declared a single matrix or array of matrices, the value written is the difference, in basic machine units, between the offsets of consecutive columns or rows in each matrix. For active variables not declared as a matrix or array of matrices, zero is written to $(D_INLINECODE params).  For active variables not backed by a buffer object, -1 is written to $(D_INLINECODE params), regardless of the variable type. For the property $(D_INLINECODE GL_IS_ROW_MAJOR), a single integer identifying whether an active variable is a row-major matrix is written to $(D_INLINECODE params).  For active variables backed by a buffer object, declared as a single matrix or array of matrices, and stored in row-major order, one is written to $(D_INLINECODE params). For all other active variables, zero is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER_INDEX), a single integer identifying the index of the active atomic counter buffer containing an active variable is written to $(D_INLINECODE params).  If the variable is not an atomic counter uniform, the value -1 is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_BUFFER_BINDING), to index of the buffer binding point associated with the active uniform block, shader storage block, atomic counter buffer or transform feedback buffer is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_BUFFER_DATA_SIZE), then the implementation-dependent minimum total buffer object size, in basic machine units, required to hold all active variables associated with an active uniform block, shader storage block, or atomic counter buffer is written to $(D_INLINECODE params).  If the final member of an active shader storage block is array with no declared size, the minimum buffer size is computed assuming the array was declared as an array with one element. For the property $(D_INLINECODE GL_NUM_ACTIVE_VARIABLES), the number of active variables associated with an active uniform block, shader storage block, atomic counter buffer or transform feedback buffer is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_ACTIVE_VARIABLES), an array of active variable indices associated with an active uniform block, shader storage block, atomic counter buffer or transform feedback buffer is written to $(D_INLINECODE params).  The number of values written to $(D_INLINECODE params) for an active resource is given by the value of the property $(D_INLINECODE GL_NUM_ACTIVE_VARIABLES) for the resource. For the properties $(D_INLINECODE GL_REFERENCED_BY_VERTEX_SHADER), $(D_INLINECODE GL_REFERENCED_BY_TESS_CONTROL_SHADER), $(D_INLINECODE GL_REFERENCED_BY_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_REFERENCED_BY_GEOMETRY_SHADER), $(D_INLINECODE GL_REFERENCED_BY_FRAGMENT_SHADER), and $(D_INLINECODE GL_REFERENCED_BY_COMPUTE_SHADER), a single integer is written to $(D_INLINECODE params), identifying whether the active resource is referenced by the vertex, tessellation control, tessellation evaluation, geometry, or fragment shaders, respectively, in the program object.  The value one is written to $(D_INLINECODE params) if an active variable is referenced by the corresponding shader, or if an active uniform block, shader storage block, or atomic counter buffer contains at least one variable referenced by the corresponding shader.  Otherwise, the value zero is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_TOP_LEVEL_ARRAY_SIZE), a single integer identifying the number of active array elements of the top-level shader storage block member containing to the active variable is written to $(D_INLINECODE params).  If the top-level block member is not declared as an array, the value one is written to $(D_INLINECODE params).  If the top-level block member is an array with no declared size, the value zero is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_TOP_LEVEL_ARRAY_STRIDE), a single integer identifying the stride between array elements of the top-level shader storage block member containing the active variable is written to $(D_INLINECODE params).  For top-level block members declared as arrays, the value written is the difference, in basic machine units, between the offsets of the active variable for consecutive elements in the top-level array.  For top-level block members not declared as an array, zero is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_LOCATION), a single integer identifying the assigned location for an active uniform, input, output, or subroutine uniform variable is written to $(D_INLINECODE params).  For input, output, or uniform variables with locations specified by a layout qualifier, the specified location is used.  For vertex shader input or fragment shader output variables without a layout qualifier, the location assigned when a program is linked is written to $(D_INLINECODE params).  For all other input and output variables, the value -1 is written to $(D_INLINECODE params).  For uniforms in uniform blocks, the value -1 is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_LOCATION_INDEX), a single integer identifying the fragment color index of an active fragment shader output variable is written to $(D_INLINECODE params).  If the active variable is an output for a non-fragment shader, the value -1 will be written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_IS_PER_PATCH), a single integer identifying whether the input or output is a per-patch attribute.  If the active variable is a per-patch attribute (declared with the $(D_INLINECODE patch) qualifier), the value one is written to $(D_INLINECODE params); otherwise, the value zero is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_LOCATION_COMPONENT), a single integer indicating the first component of the location assigned to an active input or output variable is written to $(D_INLINECODE params).  For input and output variables with a component specified by a $(D_INLINECODE layout) qualifier, the specified component is written. For all other input and output variables, the value zero is written. For the property $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_INDEX), a single integer identifying the index of the active transform feedback buffer associated with an active variable is written to $(D_INLINECODE params).  For variables corresponding to the special names $(D_INLINECODE "gl_NextBuffer"), $(D_INLINECODE "gl_SkipComponents1"), $(D_INLINECODE "gl_SkipComponents2"), $(D_INLINECODE "gl_SkipComponents3"), and $(D_INLINECODE "gl_SkipComponents4"), -1 is written to $(D_INLINECODE params). For the property $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE), a single integer identifying the stride, in basic machine units, between consecutive vertices written to the transform feedback buffer is written to $(D_INLINECODE params).
13883      + 
13884      + Params:
13885      +     program          = The name of a program object whose resources to query.
13886      +     programInterface = A token identifying the interface within $(D_INLINECODE program) containing the resource named $(D_INLINECODE name).
13887      + 
13888      + Copyright:
13889      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13890      + 
13891      + See_Also:
13892      +     $(D_INLINECODE glGetProgramResourceName), $(D_INLINECODE glGetProgramResourceIndex), $(D_INLINECODE glGetProgramResourceLocation), $(D_INLINECODE glGetProgramResourceLocationIndex).
13893      +/
13894     @OpenGL_Version(OGLIntroducedIn.V4P3)
13895     @OpenGL_Extension("GL_ARB_program_interface_query")
13896     fn_glGetProgramResourceiv glGetProgramResourceiv;
13897     alias fn_glGetProgramResourceIndex = extern(C) GLuint function(GLuint program, GLenum programInterface, const char* name) @system @nogc nothrow;
13898 
13899     /++
13900      + glGetProgramResourceIndex: man4/glGetProgramResourceIndex.xml
13901      + 
13902      + $(D_INLINECODE glGetProgramResourceIndex) returns the unsigned integer index assigned to a resource named $(D_INLINECODE name) in the interface type $(D_INLINECODE programInterface) of program object $(D_INLINECODE program). $(D_INLINECODE program) must be the name of an existing program object. $(D_INLINECODE programInterface) is the name of the interface within $(D_INLINECODE program) which contains the resource named $(D_INLINECODE name) and must be one of the following values: If $(D_INLINECODE name) exactly matches the name string of one of the active resources for $(D_INLINECODE programInterface), the index of the matched resource is returned. Additionally, if $(D_INLINECODE name) would exactly match the name string of an active resource if "[0]" were appended to $(D_INLINECODE name), the index of the matched resource is returned.  Otherwise, $(D_INLINECODE name) is considered not to be the name of an active resource, and $(D_INLINECODE GL_INVALID_INDEX) is returned. For the interface $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING), the value $(D_INLINECODE GL_INVALID_INDEX) should be returned when querying the index assigned to the special names $(D_INLINECODE gl_NextBuffer), $(D_INLINECODE gl_SkipComponents1), $(D_INLINECODE gl_SkipComponents2), $(D_INLINECODE gl_SkipComponents3), or $(D_INLINECODE gl_SkipComponents4).
13903      + 
13904      + Params:
13905      +     program          = The name of a program object whose resources to query.
13906      +     programInterface = A token identifying the interface within $(D_INLINECODE program) containing the resource named $(D_INLINECODE name).
13907      +     name             = The name of the resource to query the index of.
13908      + 
13909      + Copyright:
13910      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13911      + 
13912      + See_Also:
13913      +     $(D_INLINECODE glGetProgramResourceName), $(D_INLINECODE glGetProgramResource), $(D_INLINECODE glGetProgramResourceLocation), $(D_INLINECODE glGetProgramResourceLocationIndex).
13914      +/
13915     @OpenGL_Version(OGLIntroducedIn.V4P3)
13916     @OpenGL_Extension("GL_ARB_program_interface_query")
13917     fn_glGetProgramResourceIndex glGetProgramResourceIndex;
13918     alias fn_glGetProgramResourceLocation = extern(C) GLint function(GLuint program, GLenum programInterface, const char* name) @system @nogc nothrow;
13919 
13920     /++
13921      + glGetProgramResourceLocation: man4/glGetProgramResourceLocation.xml
13922      + 
13923      + $(D_INLINECODE glGetProgramResourceLocation) returns the location assigned to the variable named $(D_INLINECODE name) in interface $(D_INLINECODE programInterface) of program object $(D_INLINECODE program). $(D_INLINECODE program) must be the name of a program that has been linked successfully. $(D_INLINECODE programInterface) must be one of $(D_INLINECODE GL_UNIFORM), $(D_INLINECODE GL_PROGRAM_INPUT), $(D_INLINECODE GL_PROGRAM_OUTPUT), $(D_INLINECODE GL_VERTEX_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_CONTROL_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_TESS_EVALUATION_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_GEOMETRY_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_FRAGMENT_SUBROUTINE_UNIFORM), $(D_INLINECODE GL_COMPUTE_SUBROUTINE_UNIFORM), or $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER). The value -1 will be returned if an error occurs, if $(D_INLINECODE name) does not identify an active variable on $(D_INLINECODE programInterface), or if $(D_INLINECODE name) identifies an active variable that does not have a valid location assigned, as described above.  The locations returned by these commands are the same locations returned when querying the $(D_INLINECODE GL_LOCATION) and $(D_INLINECODE GL_LOCATION_INDEX) resource properties. A string provided to $(D_INLINECODE glGetProgramResourceLocation) is considered to match an active variable if: $(OL $(LI the string exactly matches the name of the active variable) $(LI if the string identifies the base name of an active array, where the string would exactly match the name of the variable if the suffix "[0]" were appended to the string) $(LI if the string identifies an active element of the array, where the string ends with the concatenation of the "[" character, an integer identifying an array element, and the "]" character, the integer is less than the number of active elements of the array variable, and where the string would exactly match the enumerated name of the array if the decimal integer were replaced with zero.)) Any other string is considered not to identify an active variable.  If the string specifies an element of an array variable, $(D_INLINECODE glGetProgramResourceLocation) returns the location assigned to that element.  If it specifies the base name of an array, it identifies the resources associated with the first element of the array.
13924      + 
13925      + Params:
13926      +     program          = The name of a program object whose resources to query.
13927      +     programInterface = A token identifying the interface within $(D_INLINECODE program) containing the resource named $(D_INLINECODE name).
13928      +     name             = The name of the resource to query the location of.
13929      + 
13930      + Copyright:
13931      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13932      + 
13933      + See_Also:
13934      +     $(D_INLINECODE glGetProgramResourceName), $(D_INLINECODE glGetProgramResourceIndex), $(D_INLINECODE glGetProgramResource), $(D_INLINECODE glGetProgramResourceLocationIndex).
13935      +/
13936     @OpenGL_Version(OGLIntroducedIn.V4P3)
13937     @OpenGL_Extension("GL_ARB_program_interface_query")
13938     fn_glGetProgramResourceLocation glGetProgramResourceLocation;
13939     alias fn_glGetProgramResourceLocationIndex = extern(C) GLint function(GLuint program, GLenum programInterface, const char* name) @system @nogc nothrow;
13940 
13941     /++
13942      + glGetProgramResourceLocationIndex: man4/glGetProgramResourceLocationIndex.xml
13943      + 
13944      + $(D_INLINECODE glGetProgramResourceLocationIndex) returns the fragment color index assigned to the variable named $(D_INLINECODE name) in interface $(D_INLINECODE programInterface) of program object $(D_INLINECODE program). $(D_INLINECODE program) must be the name of a program that has been linked successfully. $(D_INLINECODE programInterface) must be $(D_INLINECODE GL_PROGRAM_OUTPUT). The value -1 will be returned if an error occurs, if $(D_INLINECODE name) does not identify an active variable on $(D_INLINECODE programInterface), or if $(D_INLINECODE name) identifies an active variable that does not have a valid location assigned, as described above.  The locations returned by these commands are the same locations returned when querying the $(D_INLINECODE GL_LOCATION) and $(D_INLINECODE GL_LOCATION_INDEX) resource properties. A string provided to $(D_INLINECODE glGetProgramResourceLocationIndex) is considered to match an active variable if: $(OL $(LI the string exactly matches the name of the active variable) $(LI if the string identifies the base name of an active array, where the string would exactly match the name of the variable if the suffix "[0]" were appended to the string) $(LI if the string identifies an active element of the array, where the string ends with the concatenation of the "[" character, an integer identifying an array element, and the "]" character, the integer is less than the number of active elements of the array variable, and where the string would exactly match the enumerated name of the array if the decimal integer were replaced with zero.)) Any other string is considered not to identify an active variable.  If the string specifies an element of an array variable, $(D_INLINECODE glGetProgramResourceLocation) returns the location assigned to that element.  If it specifies the base name of an array, it identifies the resources associated with the first element of the array.
13945      + 
13946      + Params:
13947      +     program          = The name of a program object whose resources to query.
13948      +     programInterface = A token identifying the interface within $(D_INLINECODE program) containing the resource named $(D_INLINECODE name).
13949      +     name             = The name of the resource to query the location of.
13950      + 
13951      + Copyright:
13952      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13953      + 
13954      + See_Also:
13955      +     $(D_INLINECODE glGetProgramResourceName), $(D_INLINECODE glGetProgramResourceIndex), $(D_INLINECODE glGetProgramResource), $(D_INLINECODE glGetProgramResourceLocationIndex).
13956      +/
13957     @OpenGL_Version(OGLIntroducedIn.V4P3)
13958     @OpenGL_Extension("GL_ARB_program_interface_query")
13959     fn_glGetProgramResourceLocationIndex glGetProgramResourceLocationIndex;
13960     alias fn_glGetProgramResourceName = extern(C) void function(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, char* name) @system @nogc nothrow;
13961 
13962     /++
13963      + glGetProgramResourceName: man4/glGetProgramResourceName.xml
13964      + 
13965      + $(D_INLINECODE glGetProgramResourceName) retrieves the name string assigned to the single active resource with an index of $(D_INLINECODE index) in the interface $(D_INLINECODE programInterface) of program object $(D_INLINECODE program). $(D_INLINECODE index) must be less than the number of entries in the active resource list for $(D_INLINECODE programInterface). $(D_INLINECODE program) must be the name of an existing program object. $(D_INLINECODE programInterface) is the name of the interface within $(D_INLINECODE program) which contains the resource and must be one of the following values: The name string assigned to the active resource identified by $(D_INLINECODE index) is returned as a null-terminated string in the character array whose address is given in $(D_INLINECODE name).  The actual number of characters written into $(D_INLINECODE name), excluding the null terminator, is returned in $(D_INLINECODE length).  If $(D_INLINECODE length) is null, no length is returned.  The maximum
13966      +  number of characters that may be written into
13967      +  $(D_INLINECODE name), including the null terminator, is specified by $(D_INLINECODE bufSize).  If the length of the name string is greater than $(D_INLINECODE bufSize), the first $(D_INLINECODE bufSize) -1 characters of the name string will be written to $(D_INLINECODE name), followed by a null terminator.  If $(D_INLINECODE bufSize) is zero, no error will be generated but no characters will be written to $(D_INLINECODE name).  The length of the longest name string for $(D_INLINECODE programInterface) &gt;, including a null terminator, can be queried by calling $(D_INLINECODE glGetProgramInterface) with a $(D_INLINECODE pname) of $(D_INLINECODE GL_MAX_NAME_LENGTH).
13968      + 
13969      + Params:
13970      +     program          = The name of a program object whose resources to query.
13971      +     programInterface = A token identifying the interface within $(D_INLINECODE program) containing the indexed resource.
13972      +     index            = The index of the resource within $(D_INLINECODE programInterface) of $(D_INLINECODE program).
13973      +     bufSize          = The size of the character array whose address is given by $(D_INLINECODE name).
13974      +     length           = The address of a variable which will receive the length of the resource name.
13975      +     name             = The address of a character array into which will be written the name of the resource.
13976      + 
13977      + Copyright:
13978      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
13979      + 
13980      + See_Also:
13981      +     $(D_INLINECODE glGetProgramResourceIndex), $(D_INLINECODE glGetProgramResource), $(D_INLINECODE glGetProgramResourceLocation), $(D_INLINECODE glGetProgramResourceLocationIndex).
13982      +/
13983     @OpenGL_Version(OGLIntroducedIn.V4P3)
13984     @OpenGL_Extension("GL_ARB_program_interface_query")
13985     fn_glGetProgramResourceName glGetProgramResourceName;
13986     alias fn_glGetProgramStageiv = extern(C) void function(GLuint program, GLenum shadertype, GLenum pname, GLint* values) @system @nogc nothrow;
13987 
13988     /++
13989      + glGetProgramStage: man4/glGetProgramStage.xml
13990      + 
13991      + $(D_INLINECODE glGetProgramStage) queries a parameter of a shader stage attached to a program object. $(D_INLINECODE program) contains the name of the program to which the shader is attached. $(D_INLINECODE shadertype) specifies the stage from which to query the parameter. $(D_INLINECODE pname) specifies which parameter should be queried. The value or values of the parameter to be queried is returned in the variable whose address is given in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORMS), the number of active subroutine variables in the stage is returned in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS), the number of active subroutine variable locations in the stage is returned in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_SUBROUTINES), the number of active subroutines in the stage is returned in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH), the length of the longest subroutine uniform for the stage is returned in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_ACTIVE_SUBROUTINE_MAX_LENGTH), the length of the longest subroutine name for the stage is returned in $(D_INLINECODE values). The returned name length includes space for the null-terminator. If there is no shader present of type $(D_INLINECODE shadertype), the returned value will be consistent with a shader containing no subroutines or subroutine uniforms.
13992      + 
13993      + Params:
13994      +     program    = Specifies the name of the program containing shader stage.
13995      +     shadertype = Specifies the shader stage from which to query for the subroutine parameter. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
13996      +     pname      = Specifies the parameter of the shader to query. $(D_INLINECODE pname) must be $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORMS), $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS), $(D_INLINECODE GL_ACTIVE_SUBROUTINES), $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH), or $(D_INLINECODE GL_ACTIVE_SUBROUTINE_MAX_LENGTH).
13997      +     values     = Specifies the address of a variable into which the queried value or values will be placed.
13998      + 
13999      + Copyright:
14000      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14001      + 
14002      + See_Also:
14003      +     $(D_INLINECODE glGetProgram)
14004      +/
14005     @OpenGL_Version(OGLIntroducedIn.V4P0)
14006     @OpenGL_Extension("GL_ARB_shader_subroutine")
14007     fn_glGetProgramStageiv glGetProgramStageiv;
14008     alias fn_glGetQueryIndexediv = extern(C) void function(GLenum target, GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
14009 
14010     /++
14011      + glGetQueryIndexed: man4/glGetQueryIndexed.xml
14012      + 
14013      + $(D_INLINECODE glGetQueryIndexediv) returns in $(D_INLINECODE params) a selected parameter of the indexed query object target specified by $(D_INLINECODE target) and $(D_INLINECODE index). $(D_INLINECODE index) specifies the index of the query object target and must be between zero and a target-specific maxiumum. $(D_INLINECODE pname) names a specific query object target parameter.  When $(D_INLINECODE pname) is $(D_INLINECODE GL_CURRENT_QUERY), the name of the currently active query for the specified $(D_INLINECODE index) of $(D_INLINECODE target), or zero if no query is active, will be placed in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_QUERY_COUNTER_BITS), the implementation-dependent number of bits used to hold the result of queries for $(D_INLINECODE target) is returned in $(D_INLINECODE params).
14014      + 
14015      + The target $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE) is available only if the GL version is 4.3 or greater. If an error is generated, no change is made to the contents of $(D_INLINECODE params). Calling $(D_INLINECODE glGetQueryiv) is equivalent to calling $(D_INLINECODE glGetQueryIndexediv) with $(D_INLINECODE index) set to zero.
14016      + 
14017      + Params:
14018      +     target = Specifies a query object target. Must be $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE) $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), $(D_INLINECODE GL_TIME_ELAPSED), or $(D_INLINECODE GL_TIMESTAMP).
14019      +     index  = Specifies the index of the query object target.
14020      +     pname  = Specifies the symbolic name of a query object target parameter. Accepted values are $(D_INLINECODE GL_CURRENT_QUERY) or $(D_INLINECODE GL_QUERY_COUNTER_BITS).
14021      +     params = Returns the requested data.
14022      + 
14023      + Copyright:
14024      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14025      + 
14026      + See_Also:
14027      +     $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glIsQuery)
14028      +/
14029     @OpenGL_Version(OGLIntroducedIn.V4P0)
14030     @OpenGL_Extension("GL_ARB_transform_feedback3")
14031     fn_glGetQueryIndexediv glGetQueryIndexediv;
14032     alias fn_glGetQueryiv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
14033 
14034     /++
14035      + glGetQueryiv: man4/glGetQueryiv.xml
14036      + 
14037      + $(D_INLINECODE glGetQueryiv) returns in $(D_INLINECODE params) a selected parameter of the query object target specified by $(D_INLINECODE target). $(D_INLINECODE pname) names a specific query object target parameter.  When $(D_INLINECODE pname) is $(D_INLINECODE GL_CURRENT_QUERY), the name of the currently active query for $(D_INLINECODE target), or zero if no query is active, will be placed in $(D_INLINECODE params). If $(D_INLINECODE pname) is $(D_INLINECODE GL_QUERY_COUNTER_BITS), the implementation-dependent number of bits used to hold the result of queries for $(D_INLINECODE target) is returned in $(D_INLINECODE params).
14038      + 
14039      + The target $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE) is available only if the GL version is 4.3 or greater. If an error is generated, no change is made to the contents of $(D_INLINECODE params).
14040      + 
14041      + Params:
14042      +     target = Specifies a query object target. Must be $(D_INLINECODE GL_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED), $(D_INLINECODE GL_ANY_SAMPLES_PASSED_CONSERVATIVE) $(D_INLINECODE GL_PRIMITIVES_GENERATED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN), $(D_INLINECODE GL_TIME_ELAPSED), or $(D_INLINECODE GL_TIMESTAMP).
14043      +     pname  = Specifies the symbolic name of a query object target parameter. Accepted values are $(D_INLINECODE GL_CURRENT_QUERY) or $(D_INLINECODE GL_QUERY_COUNTER_BITS).
14044      +     params = Returns the requested data.
14045      + 
14046      + Copyright:
14047      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14048      + 
14049      + See_Also:
14050      +     $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glIsQuery)
14051      +/
14052     @OpenGL_Version(OGLIntroducedIn.V1P5)
14053     fn_glGetQueryiv glGetQueryiv;
14054     alias fn_glGetQueryObjectiv = extern(C) void function(GLuint id, GLenum pname, GLint* params) @system @nogc nothrow;
14055 
14056     /++
14057      + glGetQueryObject: man4/glGetQueryObject.xml
14058      + 
14059      + $(D_INLINECODE glGetQueryObject) returns in $(D_INLINECODE params) a selected parameter of the query object specified by $(D_INLINECODE id). $(D_INLINECODE pname) names a specific query object parameter. $(D_INLINECODE pname) can be as follows:
14060      + 
14061      + If an error is generated, no change is made to the contents of $(D_INLINECODE params). $(D_INLINECODE glGetQueryObject) implicitly flushes the GL pipeline so that any incomplete rendering delimited by the occlusion query completes in finite time. If multiple queries are issued using the same query object $(D_INLINECODE id) before calling $(D_INLINECODE glGetQueryObject), the results of the most recent query will be returned.  In this case, when issuing a new query, the results of the previous query are discarded. $(D_INLINECODE glGetQueryObjecti64v) and $(D_INLINECODE glGetQueryObjectui64v) are available only if the GL version is 3.3 or greater. $(D_INLINECODE GL_QUERY_RESULT_NO_WAIT) is accepted for $(D_INLINECODE pname) only if the GL version is 4.4 or greater. The $(D_INLINECODE GL_QUERY_RESULT_BUFFER) target is available only if the GL version is 4.4 or higher. On earlier versions of the GL, $(D_INLINECODE params) is always an address in client memory.
14062      + 
14063      + Params:
14064      +     id     = Specifies the name of a query object.
14065      +     pname  = Specifies the symbolic name of a query object parameter. Accepted values are $(D_INLINECODE GL_QUERY_RESULT) or $(D_INLINECODE GL_QUERY_RESULT_AVAILABLE).
14066      +     params = If a buffer is bound to the $(D_INLINECODE GL_QUERY_RESULT_BUFFER) target, then $(D_INLINECODE params) is treated as an offset to a location within that buffer's data store to receive the result of the query. If no buffer is bound to $(D_INLINECODE GL_QUERY_RESULT_BUFFER), then $(D_INLINECODE params) is treated as an address in client memory of a variable to receive the resulting data.
14067      + 
14068      + Copyright:
14069      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14070      + 
14071      + See_Also:
14072      +     $(D_INLINECODE glBeginQuery), $(D_INLINECODE glEndQuery), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glIsQuery), $(D_INLINECODE glQueryCounter)
14073      +/
14074     @OpenGL_Version(OGLIntroducedIn.V1P5)
14075     fn_glGetQueryObjectiv glGetQueryObjectiv;
14076     alias fn_glGetSamplerParameterfv = extern(C) void function(GLuint sampler, GLenum pname, GLfloat* params) @system @nogc nothrow;
14077 
14078     /++
14079      + glGetSamplerParameter: man4/glGetSamplerParameter.xml
14080      + 
14081      + $(D_INLINECODE glGetSamplerParameter) returns in $(D_INLINECODE params) the value or values of the sampler parameter specified as $(D_INLINECODE pname). $(D_INLINECODE sampler) defines the target sampler, and must be the name of an existing sampler object, returned from a previous call to $(D_INLINECODE glGenSamplers). $(D_INLINECODE pname) accepts the same symbols as $(D_INLINECODE glSamplerParameter), with the same interpretations:
14082      + 
14083      + If an error is generated, no change is made to the contents of $(D_INLINECODE params). $(D_INLINECODE glGetSamplerParameter) is available only if the GL version is 3.3 or higher.
14084      + 
14085      + Params:
14086      +     sampler = Specifies name of the sampler object from which to retrieve parameters.
14087      +     pname   = Specifies the symbolic name of a sampler parameter. $(D_INLINECODE GL_TEXTURE_MAG_FILTER), $(D_INLINECODE GL_TEXTURE_MIN_FILTER), $(D_INLINECODE GL_TEXTURE_MIN_LOD), $(D_INLINECODE GL_TEXTURE_MAX_LOD), $(D_INLINECODE GL_TEXTURE_LOD_BIAS), $(D_INLINECODE GL_TEXTURE_WRAP_S), $(D_INLINECODE GL_TEXTURE_WRAP_T), $(D_INLINECODE GL_TEXTURE_WRAP_R), $(D_INLINECODE GL_TEXTURE_BORDER_COLOR), $(D_INLINECODE GL_TEXTURE_COMPARE_MODE), and $(D_INLINECODE GL_TEXTURE_COMPARE_FUNC) are accepted.
14088      +     params  = Returns the sampler parameters.
14089      + 
14090      + Copyright:
14091      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14092      + 
14093      + See_Also:
14094      +     $(D_INLINECODE glSamplerParameter), $(D_INLINECODE glGenSamplers), $(D_INLINECODE glDeleteSamplers), $(D_INLINECODE glSamplerParameter)
14095      +/
14096     @OpenGL_Version(OGLIntroducedIn.V3P3)
14097     @OpenGL_Extension("GL_ARB_sampler_objects")
14098     fn_glGetSamplerParameterfv glGetSamplerParameterfv;
14099     alias fn_glGetShaderiv = extern(C) void function(GLuint shader, GLenum pname, GLint* params) @system @nogc nothrow;
14100 
14101     /++
14102      + glGetShader: man4/glGetShader.xml
14103      + 
14104      + $(D_INLINECODE glGetShader) returns in $(D_INLINECODE params) the value of a parameter for a specific shader object. The following parameters are defined:
14105      + 
14106      + If an error is generated, no change is made to the contents of $(D_INLINECODE params).
14107      + 
14108      + Params:
14109      +     shader = Specifies the shader object to be queried.
14110      +     pname  = Specifies the object parameter. Accepted symbolic names are $(D_INLINECODE GL_SHADER_TYPE), $(D_INLINECODE GL_DELETE_STATUS), $(D_INLINECODE GL_COMPILE_STATUS), $(D_INLINECODE GL_INFO_LOG_LENGTH), $(D_INLINECODE GL_SHADER_SOURCE_LENGTH).
14111      +     params = Returns the requested object parameter.
14112      + 
14113      + Copyright:
14114      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14115      + 
14116      + See_Also:
14117      +     $(D_INLINECODE glCompileShader), $(D_INLINECODE glCreateShader), $(D_INLINECODE glDeleteShader), $(D_INLINECODE glGetProgram), $(D_INLINECODE glShaderSource)
14118      +/
14119     @OpenGL_Version(OGLIntroducedIn.V2P0)
14120     fn_glGetShaderiv glGetShaderiv;
14121     alias fn_glGetShaderInfoLog = extern(C) void function(GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog) @system @nogc nothrow;
14122 
14123     /++
14124      + glGetShaderInfoLog: man4/glGetShaderInfoLog.xml
14125      + 
14126      + $(D_INLINECODE glGetShaderInfoLog) returns the information log for the specified shader object. The information log for a shader object is modified when the shader is compiled. The string that is returned will be null terminated. $(D_INLINECODE glGetShaderInfoLog) returns in $(D_INLINECODE infoLog) as much of the information log as it can, up to a maximum of $(D_INLINECODE maxLength) characters. The number of characters actually returned, excluding the null termination character, is specified by $(D_INLINECODE length). If the length of the returned string is not required, a value of $(D_INLINECODE null
14127      + ) can be passed in the $(D_INLINECODE length) argument. The size of the buffer required to store the returned information log can be obtained by calling $(D_INLINECODE glGetShader) with the value $(D_INLINECODE GL_INFO_LOG_LENGTH). The information log for a shader object is a string that may contain diagnostic messages, warning messages, and other information about the last compile operation. When a shader object is created, its information log will be a string of length 0.
14128      + 
14129      + The information log for a shader object is the OpenGL implementer's primary mechanism for conveying information about the compilation process. Therefore, the information log can be helpful to application developers during the development process, even when compilation is successful. Application developers should not expect different OpenGL implementations to produce identical information logs.
14130      + 
14131      + Params:
14132      +     shader    = Specifies the shader object whose information log is to be queried.
14133      +     maxLength = Specifies the size of the character buffer for storing the returned information log.
14134      +     length    = Returns the length of the string returned in $(D_INLINECODE infoLog) (excluding the null terminator).
14135      +     infoLog   = Specifies an array of characters that is used to return the information log.
14136      + 
14137      + Copyright:
14138      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14139      + 
14140      + See_Also:
14141      +     $(D_INLINECODE glCompileShader), $(D_INLINECODE glGetProgramInfoLog), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glValidateProgram)
14142      +/
14143     @OpenGL_Version(OGLIntroducedIn.V2P0)
14144     fn_glGetShaderInfoLog glGetShaderInfoLog;
14145     alias fn_glGetShaderPrecisionFormat = extern(C) void function(GLenum shaderType, GLenum precisionType, GLint* range, GLint* precision) @system @nogc nothrow;
14146 
14147     /++
14148      + glGetShaderPrecisionFormat: man4/glGetShaderPrecisionFormat.xml
14149      + 
14150      + $(D_INLINECODE glGetShaderPrecisionFormat) retrieves the numeric range and precision for the implementation's representation of quantities in different numeric formats in specified shader type. $(D_INLINECODE shaderType) specifies the type of shader for which the numeric precision and range is to be retrieved and must be one of $(D_INLINECODE GL_VERTEX_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER). $(D_INLINECODE precisionType) specifies the numeric format to query and must be one of $(D_INLINECODE GL_LOW_FLOAT), $(D_INLINECODE GL_MEDIUM_FLOAT) $(D_INLINECODE GL_HIGH_FLOAT), $(D_INLINECODE GL_LOW_INT), $(D_INLINECODE GL_MEDIUM_INT), or $(D_INLINECODE GL_HIGH_INT). $(D_INLINECODE range) points to an array of two integers into which the format's numeric range will be returned. If min and max are the smallest values representable in the format, then the values returned are defined to be: $(D_INLINECODE range) [0] = floor(log2(|min|)) and $(D_INLINECODE range) [1] = floor(log2(|max|)). $(D_INLINECODE precision) specifies the address of an integer into which will be written the log2 value of the number of bits of precision of the format. If the smallest representable value greater than 1 is 1 +, then the integer addressed by $(D_INLINECODE precision) will contain floor(-log2(eps)).
14151      + 
14152      + Params:
14153      +     shaderType    = Specifies the type of shader whose precision to query. $(D_INLINECODE shaderType) must be $(D_INLINECODE GL_VERTEX_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
14154      +     precisionType = Specifies the numeric format whose precision and range to query.
14155      +     range         = Specifies the address of array of two integers into which encodings of the implementation's numeric range are returned.
14156      +     precision     = Specifies the address of an integer into which the numeric precision of the implementation is written.
14157      + 
14158      + Copyright:
14159      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14160      + 
14161      + See_Also:
14162      +     
14163      +/
14164     @OpenGL_Version(OGLIntroducedIn.V4P1)
14165     @OpenGL_Extension("GL_ARB_ES2_compatibility")
14166     fn_glGetShaderPrecisionFormat glGetShaderPrecisionFormat;
14167     alias fn_glGetShaderSource = extern(C) void function(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source) @system @nogc nothrow;
14168 
14169     /++
14170      + glGetShaderSource: man4/glGetShaderSource.xml
14171      + 
14172      + $(D_INLINECODE glGetShaderSource) returns the concatenation of the source code strings from the shader object specified by $(D_INLINECODE shader). The source code strings for a shader object are the result of a previous call to $(D_INLINECODE glShaderSource). The string returned by the function will be null terminated. $(D_INLINECODE glGetShaderSource) returns in $(D_INLINECODE source) as much of the source code string as it can, up to a maximum of $(D_INLINECODE bufSize) characters. The number of characters actually returned, excluding the null termination character, is specified by $(D_INLINECODE length). If the length of the returned string is not required, a value of $(D_INLINECODE null
14173      + ) can be passed in the $(D_INLINECODE length) argument. The size of the buffer required to store the returned source code string can be obtained by calling $(D_INLINECODE glGetShader) with the value $(D_INLINECODE GL_SHADER_SOURCE_LENGTH).
14174      + 
14175      + Params:
14176      +     shader  = Specifies the shader object to be queried.
14177      +     bufSize = Specifies the size of the character buffer for storing the returned source code string.
14178      +     length  = Returns the length of the string returned in $(D_INLINECODE source) (excluding the null terminator).
14179      +     source  = Specifies an array of characters that is used to return the source code string.
14180      + 
14181      + Copyright:
14182      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14183      + 
14184      + See_Also:
14185      +     $(D_INLINECODE glCreateShader), $(D_INLINECODE glShaderSource)
14186      +/
14187     @OpenGL_Version(OGLIntroducedIn.V2P0)
14188     fn_glGetShaderSource glGetShaderSource;
14189     alias fn_glGetString = extern(C) const(GLubyte)* function(GLenum name) @system @nogc nothrow;
14190 
14191     /++
14192      + glGetString: man4/glGetString.xml
14193      + 
14194      + $(D_INLINECODE glGetString) returns a pointer to a static string describing some aspect of the current GL connection. $(D_INLINECODE name) can be one of the following: $(D_INLINECODE glGetStringi) returns a pointer to a static string indexed by $(D_INLINECODE index). $(D_INLINECODE name) can be one of the following: Strings $(D_INLINECODE GL_VENDOR) and $(D_INLINECODE GL_RENDERER) together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms. The $(D_INLINECODE GL_VERSION) and $(D_INLINECODE GL_SHADING_LANGUAGE_VERSION) strings begin with a version number. The version number uses one of these forms: Vendor-specific information may follow the version number. Its format depends on the implementation, but a space always separates the version number and the vendor-specific information. All strings are null-terminated.
14195      + 
14196      + If an error is generated, $(D_INLINECODE glGetString) returns 0. The client and server may support different versions. $(D_INLINECODE glGetString) always returns a compatible version number. The release number always describes the server.
14197      + 
14198      + Params:
14199      +     name  = Specifies a symbolic constant, one of $(D_INLINECODE GL_VENDOR), $(D_INLINECODE GL_RENDERER), $(D_INLINECODE GL_VERSION), or $(D_INLINECODE GL_SHADING_LANGUAGE_VERSION). Additionally, $(D_INLINECODE glGetStringi) accepts the $(D_INLINECODE GL_EXTENSIONS) token.
14200      +     index = For $(D_INLINECODE glGetStringi), specifies the index of the string to return.
14201      + 
14202      + Copyright:
14203      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
14204      + 
14205      + See_Also:
14206      +     
14207      +/
14208     @OpenGL_Version(OGLIntroducedIn.V1P0)
14209     fn_glGetString glGetString;
14210     alias fn_glGetSubroutineIndex = extern(C) GLuint function(GLuint program, GLenum shadertype, const GLchar* name) @system @nogc nothrow;
14211 
14212     /++
14213      + glGetSubroutineIndex: man4/glGetSubroutineIndex.xml
14214      + 
14215      + $(D_INLINECODE glGetSubroutineIndex) returns the index of a subroutine uniform within a shader stage attached to a program object. $(D_INLINECODE program) contains the name of the program to which the shader is attached. $(D_INLINECODE shadertype) specifies the stage from which to query shader subroutine index. $(D_INLINECODE name) contains the null-terminated name of the subroutine uniform whose name to query. If $(D_INLINECODE name) is not the name of a subroutine uniform in the shader stage, $(D_INLINECODE GL_INVALID_INDEX) is returned, but no error is generated. If $(D_INLINECODE name) is the name of a subroutine uniform in the shader stage, a value between zero and the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINES) minus one will be returned. Subroutine indices are assigned using consecutive integers in the range from zero to the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINES) minus one for the shader stage.
14216      + 
14217      + Params:
14218      +     program    = Specifies the name of the program containing shader stage.
14219      +     shadertype = Specifies the shader stage from which to query for subroutine uniform index. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
14220      +     name       = Specifies the name of the subroutine uniform whose index to query.
14221      + 
14222      + Copyright:
14223      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14224      + 
14225      + See_Also:
14226      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetActiveSubroutineUniformName)
14227      +/
14228     @OpenGL_Version(OGLIntroducedIn.V4P0)
14229     @OpenGL_Extension("GL_ARB_shader_subroutine")
14230     fn_glGetSubroutineIndex glGetSubroutineIndex;
14231     alias fn_glGetSubroutineUniformLocation = extern(C) GLint function(GLuint program, GLenum shadertype, const GLchar* name) @system @nogc nothrow;
14232 
14233     /++
14234      + glGetSubroutineUniformLocation: man4/glGetSubroutineUniformLocation.xml
14235      + 
14236      + $(D_INLINECODE glGetSubroutineUniformLocation) returns the location of the subroutine uniform variable $(D_INLINECODE name) in the shader stage of type $(D_INLINECODE shadertype) attached to $(D_INLINECODE program), with behavior otherwise identical to $(D_INLINECODE glGetUniformLocation). If $(D_INLINECODE name) is not the name of a subroutine uniform in the shader stage, -1 is returned, but no error is generated. If $(D_INLINECODE name) is the name of a subroutine uniform in the shader stage, a value between zero and the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_LOCATIONS) minus one will be returned. Subroutine locations are assigned using consecutive integers in the range from zero to the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_LOCATIONS) minus one for the shader stage.  For active subroutine uniforms declared as arrays, the declared array elements are assigned consecutive locations.
14237      + 
14238      + Params:
14239      +     program    = Specifies the name of the program containing shader stage.
14240      +     shadertype = Specifies the shader stage from which to query for subroutine uniform index. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
14241      +     name       = Specifies the name of the subroutine uniform whose index to query.
14242      + 
14243      + Copyright:
14244      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14245      + 
14246      + See_Also:
14247      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetActiveSubroutineUniformName), $(D_INLINECODE glGetUniformLocation)
14248      +/
14249     @OpenGL_Version(OGLIntroducedIn.V4P0)
14250     @OpenGL_Extension("GL_ARB_shader_subroutine")
14251     fn_glGetSubroutineUniformLocation glGetSubroutineUniformLocation;
14252     alias fn_glGetSynciv = extern(C) void function(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) @system @nogc nothrow;
14253 
14254     /++
14255      + glGetSync: man4/glGetSync.xml
14256      + 
14257      + $(D_INLINECODE glGetSynciv) retrieves properties of a sync object. $(D_INLINECODE sync) specifies the name of the sync object whose properties to retrieve. On success, $(D_INLINECODE glGetSynciv) replaces up to $(D_INLINECODE bufSize) integers in $(D_INLINECODE values) with the corresponding property values of the object being queried.  The actual number of integers replaced is returned in the variable whose address is specified in $(D_INLINECODE length). If $(D_INLINECODE length) is $(D_INLINECODE null
14258      + ), no length is returned. If $(D_INLINECODE pname) is $(D_INLINECODE GL_OBJECT_TYPE), a single value representing the specific type of the sync object is placed in $(D_INLINECODE values). The only type supported is $(D_INLINECODE GL_SYNC_FENCE). If $(D_INLINECODE pname) is $(D_INLINECODE GL_SYNC_STATUS), a single value representing the status of the sync object ( $(D_INLINECODE GL_SIGNALED) or $(D_INLINECODE GL_UNSIGNALED) ) is placed in $(D_INLINECODE values). If $(D_INLINECODE pname) is $(D_INLINECODE GL_SYNC_CONDITION), a single value representing the condition of the sync object is placed in $(D_INLINECODE values). The only condition supported is $(D_INLINECODE GL_SYNC_GPU_COMMANDS_COMPLETE). If $(D_INLINECODE pname) is $(D_INLINECODE GL_SYNC_FLAGS), a single value representing the flags with which the sync object was created is placed in $(D_INLINECODE values). No flags are currently supported $(D_INLINECODE flags) is expected to be used in future extensions to the sync objects.. If an error occurs, nothing will be written to $(D_INLINECODE values) or $(D_INLINECODE length).
14259      + 
14260      + Params:
14261      +     sync    = Specifies the sync object whose properties to query.
14262      +     pname   = Specifies the parameter whose value to retrieve from the sync object specified in $(D_INLINECODE sync).
14263      +     bufSize = Specifies the size of the buffer whose address is given in $(D_INLINECODE values).
14264      +     length  = Specifies the address of an variable to receive the number of integers placed in $(D_INLINECODE values).
14265      +     values  = Specifies the address of an array to receive the values of the queried parameter.
14266      + 
14267      + Copyright:
14268      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14269      + 
14270      + See_Also:
14271      +     $(D_INLINECODE glFenceSync), $(D_INLINECODE glWaitSync), $(D_INLINECODE glClientWaitSync)
14272      +/
14273     @OpenGL_Version(OGLIntroducedIn.V3P2)
14274     @OpenGL_Extension("GL_ARB_sync")
14275     fn_glGetSynciv glGetSynciv;
14276     alias fn_glGetTexLevelParameterfv = extern(C) void function(GLenum target, GLint level, GLenum pname, GLfloat* params) @system @nogc nothrow;
14277 
14278     /++
14279      + glGetTexLevelParameter: man4/glGetTexLevelParameter.xml
14280      + 
14281      + $(D_INLINECODE glGetTexLevelParameterfv), $(D_INLINECODE glGetTexLevelParameteriv), $(D_INLINECODE glGetTextureLevelParameterfv) and $(D_INLINECODE glGetTextureLevelParameteriv) return in $(D_INLINECODE params) texture parameter values for a specific level-of-detail value, specified as $(D_INLINECODE level). For the first two functions, $(D_INLINECODE target) defines the target texture, either $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_PROXY_TEXTURE_1D), $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP). The remaining two take a $(D_INLINECODE texture) argument which specifies the name of the texture object. $(D_INLINECODE GL_MAX_TEXTURE_SIZE), and $(D_INLINECODE GL_MAX_3D_TEXTURE_SIZE) are not really descriptive enough. It has to report the largest square texture image that can be accommodated with mipmaps but a long skinny texture, or a texture without mipmaps may easily fit in texture memory. The proxy targets allow the user to more accurately query whether the GL can accommodate a texture of a given configuration. If the texture cannot be accommodated, the texture state variables, which may be queried with $(D_INLINECODE glGetTexLevelParameter) and $(D_INLINECODE glGetTextureLevelParameter), are set to 0. If the texture can be accommodated, the texture state values will be set as they would be set for a non-proxy target. $(D_INLINECODE pname) specifies the texture parameter whose value or values will be returned. The accepted parameter names are as follows:
14282      + 
14283      + If an error is generated, no change is made to the contents of $(D_INLINECODE params). $(D_INLINECODE glGetTexLevelParameter) returns the texture level parameters for the active texture unit. $(D_INLINECODE GL_TEXTURE_BUFFER_OFFSET) and $(D_INLINECODE GL_TEXTURE_BUFFER_SIZE) are available only if the GL version is 4.3 or greater.
14284      + 
14285      + Params:
14286      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glGetTexLevelParameterfv) and $(D_INLINECODE glGetTexLevelParameteriv) functions. Must be one of the following values: $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), $(D_INLINECODE GL_PROXY_TEXTURE_1D), $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_3D), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE), $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP), or $(D_INLINECODE GL_TEXTURE_BUFFER).
14287      +     texture = Specifies the texture object name for $(D_INLINECODE glGetTextureLevelParameterfv) and $(D_INLINECODE glGetTextureLevelParameteriv) functions.
14288      +     level   = Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level n is the n th mipmap reduction image.
14289      +     pname   = Specifies the symbolic name of a texture parameter. $(D_INLINECODE GL_TEXTURE_WIDTH), $(D_INLINECODE GL_TEXTURE_HEIGHT), $(D_INLINECODE GL_TEXTURE_DEPTH), $(D_INLINECODE GL_TEXTURE_INTERNAL_FORMAT), $(D_INLINECODE GL_TEXTURE_RED_SIZE), $(D_INLINECODE GL_TEXTURE_GREEN_SIZE), $(D_INLINECODE GL_TEXTURE_BLUE_SIZE), $(D_INLINECODE GL_TEXTURE_ALPHA_SIZE), $(D_INLINECODE GL_TEXTURE_DEPTH_SIZE), $(D_INLINECODE GL_TEXTURE_COMPRESSED), $(D_INLINECODE GL_TEXTURE_COMPRESSED_IMAGE_SIZE), and $(D_INLINECODE GL_TEXTURE_BUFFER_OFFSET) are accepted.
14290      +     params  = Returns the requested data.
14291      + 
14292      + Copyright:
14293      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
14294      + 
14295      + See_Also:
14296      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
14297      +/
14298     @OpenGL_Version(OGLIntroducedIn.V1P0)
14299     fn_glGetTexLevelParameterfv glGetTexLevelParameterfv;
14300     alias fn_glGetTexLevelParameteriv = extern(C) void function(GLenum target, GLint level, GLenum pname, GLint* params) @system @nogc nothrow;
14301     /// Ditto
14302     @OpenGL_Version(OGLIntroducedIn.V1P0)
14303     fn_glGetTexLevelParameteriv glGetTexLevelParameteriv;
14304     alias fn_glGetTextureLevelParameterfv = extern(C) void function(GLuint texture, GLint level, GLenum pname, GLfloat* params) @system @nogc nothrow;
14305     /// Ditto
14306     @OpenGL_Version(OGLIntroducedIn.V4P5)
14307     @OpenGL_Extension("GL_ARB_direct_state_access")
14308     fn_glGetTextureLevelParameterfv glGetTextureLevelParameterfv;
14309     alias fn_glGetTextureLevelParameteriv = extern(C) void function(GLuint texture, GLint level, GLenum pname, GLint* params) @system @nogc nothrow;
14310     /// Ditto
14311     @OpenGL_Version(OGLIntroducedIn.V4P5)
14312     @OpenGL_Extension("GL_ARB_direct_state_access")
14313     fn_glGetTextureLevelParameteriv glGetTextureLevelParameteriv;
14314     alias fn_glGetTexParameterfv = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
14315 
14316     /++
14317      + glGetTexParameter: man4/glGetTexParameter.xml
14318      + 
14319      + $(D_INLINECODE glGetTexParameter) and $(D_INLINECODE glGetTextureParameter) return in $(D_INLINECODE params) the value or values of the texture parameter specified as $(D_INLINECODE pname). $(D_INLINECODE target) defines the target texture. $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) specify one-, two-, or three-dimensional, one-dimensional array, two-dimensional array, rectangle, cube-mapped or cube-mapped array, two-dimensional multisample, or two-dimensional multisample array texturing, respectively. $(D_INLINECODE pname) accepts the same symbols as $(D_INLINECODE glTexParameter), with the same interpretations: In addition to the parameters that may be set with $(D_INLINECODE glTexParameter), $(D_INLINECODE glGetTexParameter) and $(D_INLINECODE glGetTextureParameter) accept the following read-only parameters:
14320      + 
14321      + If an error is generated, no change is made to the contents of $(D_INLINECODE params). $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_TYPE) is available only if the GL version is 4.2 or greater. $(D_INLINECODE GL_DEPTH_STENCIL_TEXTURE_MODE), $(D_INLINECODE GL_TEXTURE_VIEW_MIN_LEVEL), $(D_INLINECODE GL_TEXTURE_VIEW_NUM_LEVELS), $(D_INLINECODE GL_TEXTURE_VIEW_MIN_LAYER), $(D_INLINECODE GL_TEXTURE_VIEW_NUM_LAYERS) and $(D_INLINECODE GL_TEXTURE_IMMUTABLE_LEVELS) are available only if the GL version is 4.3 or greater. $(D_INLINECODE GL_TEXTURE_TARGET) are available only if the GL version is 4.5 or greater.
14322      + 
14323      + Params:
14324      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glGetTexParameterfv), $(D_INLINECODE glGetTexParameteriv), $(D_INLINECODE glGetTexParameterIiv), and $(D_INLINECODE glGetTexParameterIuiv) functions. $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_RECTANGLE), and $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) are accepted.
14325      +     texture = Specifies the texture object name for $(D_INLINECODE glGetTextureParameterfv), $(D_INLINECODE glGetTextureParameteriv), $(D_INLINECODE glGetTextureParameterIiv), and $(D_INLINECODE glGetTextureParameterIuiv) functions.
14326      +     pname   = Specifies the symbolic name of a texture parameter. $(D_INLINECODE GL_DEPTH_STENCIL_TEXTURE_MODE), $(D_INLINECODE GL_IMAGE_FORMAT_COMPATIBILITY_TYPE), $(D_INLINECODE GL_TEXTURE_BASE_LEVEL), $(D_INLINECODE GL_TEXTURE_BORDER_COLOR), $(D_INLINECODE GL_TEXTURE_COMPARE_MODE), $(D_INLINECODE GL_TEXTURE_COMPARE_FUNC), $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT), $(D_INLINECODE GL_TEXTURE_IMMUTABLE_LEVELS), $(D_INLINECODE GL_TEXTURE_LOD_BIAS), $(D_INLINECODE GL_TEXTURE_MAG_FILTER), $(D_INLINECODE GL_TEXTURE_MAX_LEVEL), $(D_INLINECODE GL_TEXTURE_MAX_LOD), $(D_INLINECODE GL_TEXTURE_MIN_FILTER), $(D_INLINECODE GL_TEXTURE_MIN_LOD), $(D_INLINECODE GL_TEXTURE_SWIZZLE_R), $(D_INLINECODE GL_TEXTURE_SWIZZLE_G), $(D_INLINECODE GL_TEXTURE_SWIZZLE_B), $(D_INLINECODE GL_TEXTURE_SWIZZLE_A), $(D_INLINECODE GL_TEXTURE_SWIZZLE_RGBA), $(D_INLINECODE GL_TEXTURE_TARGET), $(D_INLINECODE GL_TEXTURE_VIEW_MIN_LAYER), $(D_INLINECODE GL_TEXTURE_VIEW_MIN_LEVEL), $(D_INLINECODE GL_TEXTURE_VIEW_NUM_LAYERS), $(D_INLINECODE GL_TEXTURE_VIEW_NUM_LEVELS), $(D_INLINECODE GL_TEXTURE_WRAP_S), $(D_INLINECODE GL_TEXTURE_WRAP_T), and $(D_INLINECODE GL_TEXTURE_WRAP_R) are accepted.
14327      +     params  = Returns the texture parameters.
14328      + 
14329      + Copyright:
14330      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
14331      + 
14332      + See_Also:
14333      +     $(D_INLINECODE glTexParameter), $(D_INLINECODE glTextureParameter), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage3D), $(D_INLINECODE glTextureStorage1D), $(D_INLINECODE glTextureStorage2D), $(D_INLINECODE glTextureStorage3D), $(D_INLINECODE glTextureView)
14334      +/
14335     @OpenGL_Version(OGLIntroducedIn.V1P0)
14336     fn_glGetTexParameterfv glGetTexParameterfv;
14337     alias fn_glGetTexParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
14338     /// Ditto
14339     @OpenGL_Version(OGLIntroducedIn.V1P0)
14340     fn_glGetTexParameteriv glGetTexParameteriv;
14341     alias fn_glGetTexParameterIiv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
14342     /// Ditto
14343     @OpenGL_Version(OGLIntroducedIn.V3P0)
14344     fn_glGetTexParameterIiv glGetTexParameterIiv;
14345     alias fn_glGetTexParameterIuiv = extern(C) void function(GLenum target, GLenum pname, GLuint* params) @system @nogc nothrow;
14346     /// Ditto
14347     @OpenGL_Version(OGLIntroducedIn.V3P0)
14348     fn_glGetTexParameterIuiv glGetTexParameterIuiv;
14349     alias fn_glGetTextureParameterfv = extern(C) void function(GLuint texture, GLenum pname, GLfloat* params) @system @nogc nothrow;
14350     /// Ditto
14351     @OpenGL_Version(OGLIntroducedIn.V4P5)
14352     @OpenGL_Extension("GL_ARB_direct_state_access")
14353     fn_glGetTextureParameterfv glGetTextureParameterfv;
14354     alias fn_glGetTextureParameteriv = extern(C) void function(GLuint texture, GLenum pname, GLint* params) @system @nogc nothrow;
14355     /// Ditto
14356     @OpenGL_Version(OGLIntroducedIn.V4P5)
14357     @OpenGL_Extension("GL_ARB_direct_state_access")
14358     fn_glGetTextureParameteriv glGetTextureParameteriv;
14359     alias fn_glGetTextureParameterIiv = extern(C) void function(GLuint texture, GLenum pname, GLint* params) @system @nogc nothrow;
14360     /// Ditto
14361     @OpenGL_Version(OGLIntroducedIn.V4P5)
14362     @OpenGL_Extension("GL_ARB_direct_state_access")
14363     fn_glGetTextureParameterIiv glGetTextureParameterIiv;
14364     alias fn_glGetTextureParameterIuiv = extern(C) void function(GLuint texture, GLenum pname, GLuint* params) @system @nogc nothrow;
14365     /// Ditto
14366     @OpenGL_Version(OGLIntroducedIn.V4P5)
14367     @OpenGL_Extension("GL_ARB_direct_state_access")
14368     fn_glGetTextureParameterIuiv glGetTextureParameterIuiv;
14369     alias fn_glGetTextureSubImage = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void* pixels) @system @nogc nothrow;
14370 
14371     /++
14372      + glGetTextureSubImage: man4/glGetTextureSubImage.xml
14373      + 
14374      + $(D_INLINECODE glGetTextureSubImage) returns a texture subimage into pixels. $(D_INLINECODE texture) is the name of the source texture object and must not be a buffer or multisample texture. The effective $(D_INLINECODE target) parameter is the value of $(D_INLINECODE GL_TEXTURE_TARGET) for texture. $(D_INLINECODE Level), $(D_INLINECODE format), $(D_INLINECODE type) and $(D_INLINECODE pixels) have the same meaning as for $(D_INLINECODE glGetTexImage). $(D_INLINECODE bufSize) is the size of the buffer to receive the retrieved pixel data. For cube map textures, the behavior is as though $(D_INLINECODE GetTextureImage) were called, but only texels from the requested cube map faces (selected by $(D_INLINECODE zoffset) and $(D_INLINECODE depth), as described below) were returned. $(D_INLINECODE xoffset), $(D_INLINECODE yoffset) and $(D_INLINECODE zoffset) values indicate the position of the subregion to return. $(D_INLINECODE width), $(D_INLINECODE height) and $(D_INLINECODE depth) indicate the size of the region to return. These parameters have the same meaning as for $(D_INLINECODE glTexSubImage3D), though for one- and two-dimensional textures there are extra restrictions, described in the errors section below. For one-dimensional array textures, $(D_INLINECODE yoffset) is interpreted as the first layer to access and $(D_INLINECODE height) is the number of layers to access. For two-dimensional array textures, $(D_INLINECODE zoffset) is interpreted as the first layer to access and $(D_INLINECODE depth) is the number of layers to access. Cube map textures are treated as an array of six slices in the z-dimension, where the value of $(D_INLINECODE zoffset) is interpreted as specifying the cube map face for the corresponding layer (as presented in the table below) and $(D_INLINECODE depth) is the number of faces to access: Layer number Cube Map Face 0 GL_TEXTURE_CUBE_MAP_POSITIVE_X 1 GL_TEXTURE_CUBE_MAP_NEGATIVE_X 2 GL_TEXTURE_CUBE_MAP_POSITIVE_Y 3 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 4 GL_TEXTURE_CUBE_MAP_POSITIVE_Z 5 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z For cube map array textures, $(D_INLINECODE zoffset) is the first layer-face to access, and $(D_INLINECODE depth) is the number of layer-faces to access. A layer-face described by $k$ is translated into an array layer and face according to $$ layer = \left\lfloor { layer \over 6 } \right\rfloor$$ and $$ face = k \bmod 6. $$ Component groups from the specified sub-region are packed and placed into memory as described for $(D_INLINECODE glGetTextureImage), starting with the texel at ( $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), $(D_INLINECODE zoffset) ).
14375      + 
14376      + Params:
14377      +     texture = Specifies the name of the source texture object. Must be $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) or $(D_INLINECODE GL_TEXTURE_RECTANGLE). In specific, buffer and multisample textures are not permitted.
14378      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level $n$ is the $n$th mipmap reduction image.
14379      +     xoffset = Specifies a texel offset in the x direction within the texture array.
14380      +     yoffset = Specifies a texel offset in the y direction within the texture array.
14381      +     zoffset = Specifies a texel offset in the z direction within the texture array.
14382      +     width   = Specifies the width of the texture subimage.
14383      +     height  = Specifies the height of the texture subimage.
14384      +     depth   = Specifies the depth of the texture subimage.
14385      +     format  = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_BGRA), $(D_INLINECODE GL_DEPTH_COMPONENT) and $(D_INLINECODE GL_STENCIL_INDEX).
14386      +     type    = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
14387      +     bufSize = Specifies the size of the buffer to receive the retrieved pixel data.
14388      +     pixels  = Returns the texture subimage. Should be a pointer to an array of the type specified by $(D_INLINECODE type).
14389      + 
14390      + Copyright:
14391      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14392      + 
14393      + See_Also:
14394      +     $(D_INLINECODE glGetTexImage), $(D_INLINECODE glGetTextureImage), $(D_INLINECODE glReadPixels), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
14395      +/
14396     @OpenGL_Version(OGLIntroducedIn.V4P5)
14397     @OpenGL_Extension("GL_ARB_get_texture_sub_image")
14398     fn_glGetTextureSubImage glGetTextureSubImage;
14399     alias fn_glGetTransformFeedbackiv = extern(C) void function(GLuint xfb, GLenum pname, GLint* param) @system @nogc nothrow;
14400 
14401     /++
14402      + glGetTransformFeedback: man4/glGetTransformFeedback.xml
14403      + 
14404      + In order to use the Transform Feedback functionality, you need to configure the Transform Feedback Buffer indexed bindings. This can be achieved by either using $(D_INLINECODE glBindBufferBase) or $(D_INLINECODE glBindBuffersBase) to associate whole buffer object storage to one of the Transform Feedback Binding Points, or by calling $(D_INLINECODE glBindBufferRange) or $(D_INLINECODE glBindBuffersRange) to use a region of a buffer object storage for the binding. You may want to (but are not required to) bind a Transform Feedback Object first, in order to cache the binding configuration. This usually allows you to restore the Transform Feedback configuration faster, than if you were to execute a list of API calls necessary to set up the Transform Feedback state of your liking. This reference page discusses two types of getters that operate on Transform Feedback Objects and their bindings. The first class operates on general Transform Feedback binding point and includes $(D_INLINECODE glGetTransformFeedbackiv) function. $(D_INLINECODE glGetTransformFeedbackiv) can be used to retrieve information about Transform Feedback object bound to the general Transform Feedback binding point, as configured with a $(D_INLINECODE glBindTransformFeedback) call. In this case, you can check: $(OL $(LI What the ID of the currently bound Transform Feedback Object is; ( $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_BINDING) )) $(LI Whether the Transform Feedback process is currently paused; ( $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PAUSED) )) $(LI Whether the Transform Feedback process has been begun and is currently undergoing; ( $(D_INLINECODE GL_TRANSFORM_FEEDBACK_ACTIVE) ))) The latter class, which includes $(D_INLINECODE glGetTransformFeedbacki_v) and $(D_INLINECODE glGetTransformFeedbacki64_v) functions, can be used to check what the current configuration of each of the buffer object regions bound to Transform Feedback Buffer binding points is. This allows you to query for the following information: $(OL $(LI $(D_INLINECODE glGetTransformFeedbacki_v) only: What the ID of the Buffer Object bound to a Transform Feedback Binding Point of user-specified index is; ( $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_BINDING) ).) $(LI $(D_INLINECODE glGetTransformFeedbacki64_v) only: What the start offset configured for the binding is; ( $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_START) );) $(LI $(D_INLINECODE glGetTransformFeedbacki64_v) only: What the length of the region used for the binding is; ( $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_SIZE) );))
14405      + 
14406      + Params:
14407      +     xfb   = The name of an existing transform feedback object, or zero for the default transform feedback object.
14408      +     pname = Property to use for the query. Must be one of the values: $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_BINDING), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_START), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER_SIZE), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_PAUSED), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_ACTIVE).
14409      +     index = Index of the transform feedback stream (for indexed state).
14410      +     param = The address of a buffer into which will be written the requested state information.
14411      + 
14412      + Copyright:
14413      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14414      + 
14415      + See_Also:
14416      +     $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glBindBuffersBase), $(D_INLINECODE glBindBuffersRange), $(D_INLINECODE glBindTransformFeedback)
14417      +/
14418     @OpenGL_Version(OGLIntroducedIn.V4P5)
14419     @OpenGL_Extension("GL_ARB_direct_state_access")
14420     fn_glGetTransformFeedbackiv glGetTransformFeedbackiv;
14421     alias fn_glGetTransformFeedbackVarying = extern(C) void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, char* name) @system @nogc nothrow;
14422 
14423     /++
14424      + glGetTransformFeedbackVarying: man4/glGetTransformFeedbackVarying.xml
14425      + 
14426      + Information about the set of varying variables in a linked program that will be captured during transform feedback may be retrieved by calling $(D_INLINECODE glGetTransformFeedbackVarying). $(D_INLINECODE glGetTransformFeedbackVarying) provides information about the varying variable selected by $(D_INLINECODE index). An $(D_INLINECODE index) of 0 selects the first varying variable specified in the $(D_INLINECODE varyings) array passed to $(D_INLINECODE glTransformFeedbackVaryings), and an $(D_INLINECODE index) of the value of $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYINGS) minus one selects the last such variable. The name of the selected varying is returned as a null-terminated string in $(D_INLINECODE name). The actual number of characters written into $(D_INLINECODE name), excluding the null terminator, is returned in $(D_INLINECODE length). If $(D_INLINECODE length) is null, no length is returned. The maximum number of characters that may be written into
14427      +  $(D_INLINECODE name), including the null terminator, is specified by $(D_INLINECODE bufSize). The length of the longest varying name in program is given by $(D_INLINECODE GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH), which can be queried with $(D_INLINECODE glGetProgram). For the selected varying variable, its type is returned into $(D_INLINECODE type). The size of the varying is returned into $(D_INLINECODE size). The value in $(D_INLINECODE size) is in units of the type returned in $(D_INLINECODE type). The type returned can be any of the scalar, vector, or matrix attribute types returned by $(D_INLINECODE glGetActiveAttrib). If an error occurred, the return parameters $(D_INLINECODE length), $(D_INLINECODE size), $(D_INLINECODE type) and $(D_INLINECODE name) will be unmodified. This command will return as much information about the varying variables as possible. If no information is available, $(D_INLINECODE length) will be set to zero and $(D_INLINECODE name) will be an empty string. This situation could arise if $(D_INLINECODE glGetTransformFeedbackVarying) is called after a failed link.
14428      + 
14429      + Params:
14430      +     program = The name of the target program object.
14431      +     index   = The index of the varying variable whose information to retrieve.
14432      +     bufSize = The maximum number of characters, including the null terminator, that may be written into $(D_INLINECODE name).
14433      +     length  = The address of a variable which will receive the number of characters written into $(D_INLINECODE name), excluding the null-terminator. If $(D_INLINECODE length) is $(D_INLINECODE null) no length is returned.
14434      +     size    = The address of a variable that will receive the size of the varying.
14435      +     type    = The address of a variable that will recieve the type of the varying.
14436      +     name    = The address of a buffer into which will be written the name of the varying.
14437      + 
14438      + Copyright:
14439      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14440      + 
14441      + See_Also:
14442      +     $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glEndTransformFeedback), $(D_INLINECODE glTransformFeedbackVaryings), $(D_INLINECODE glGetProgram)
14443      +/
14444     @OpenGL_Version(OGLIntroducedIn.V3P0)
14445     fn_glGetTransformFeedbackVarying glGetTransformFeedbackVarying;
14446     alias fn_glGetUniformBlockIndex = extern(C) GLuint function(GLuint program, const GLchar* uniformBlockName) @system @nogc nothrow;
14447 
14448     /++
14449      + glGetUniformBlockIndex: man4/glGetUniformBlockIndex.xml
14450      + 
14451      + $(D_INLINECODE glGetUniformBlockIndex) retrieves the index of a uniform block within $(D_INLINECODE program). $(D_INLINECODE program) must be the name of a program object for which the command $(D_INLINECODE glLinkProgram) must have been called in the past, although it is not required that $(D_INLINECODE glLinkProgram) must have succeeded. The link could have failed because the number of active uniforms exceeded the limit. $(D_INLINECODE uniformBlockName) must contain a nul-terminated string specifying the name of the uniform block. $(D_INLINECODE glGetUniformBlockIndex) returns the uniform block index for the uniform block named $(D_INLINECODE uniformBlockName) of $(D_INLINECODE program). If $(D_INLINECODE uniformBlockName) does not identify an active uniform block of $(D_INLINECODE program), $(D_INLINECODE glGetUniformBlockIndex) returns the special identifier, $(D_INLINECODE GL_INVALID_INDEX). Indices of the active uniform blocks of a program are assigned in consecutive order, beginning with zero.
14452      + 
14453      + $(D_INLINECODE glGetUniformBlockIndex) is available only if the GL version is 3.1 or greater.
14454      + 
14455      + Params:
14456      +     program          = Specifies the name of a program containing the uniform block.
14457      +     uniformBlockName = Specifies the address an array of characters to containing the name of the uniform block whose index to retrieve.
14458      + 
14459      + Copyright:
14460      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14461      + 
14462      + See_Also:
14463      +     $(D_INLINECODE glGetActiveUniformBlockName), $(D_INLINECODE glGetActiveUniformBlock), $(D_INLINECODE glLinkProgram)
14464      +/
14465     @OpenGL_Version(OGLIntroducedIn.V3P1)
14466     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
14467     fn_glGetUniformBlockIndex glGetUniformBlockIndex;
14468     alias fn_glGetUniformIndices = extern(C) void function(GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices) @system @nogc nothrow;
14469 
14470     /++
14471      + glGetUniformIndices: man4/glGetUniformIndices.xml
14472      + 
14473      + $(D_INLINECODE glGetUniformIndices) retrieves the indices of a number of uniforms within $(D_INLINECODE program). $(D_INLINECODE program) must be the name of a program object for which the command $(D_INLINECODE glLinkProgram) must have been called in the past, although it is not required that $(D_INLINECODE glLinkProgram) must have succeeded. The link could have failed because the number of active uniforms exceeded the limit. $(D_INLINECODE uniformCount) indicates both the number of elements in the array of names $(D_INLINECODE uniformNames) and the number of indices that may be written to $(D_INLINECODE uniformIndices). $(D_INLINECODE uniformNames) contains a list of $(D_INLINECODE uniformCount) name strings identifying the uniform names to be queried for indices. For each name string in $(D_INLINECODE uniformNames), the index assigned to the active uniform of that name will be written to the corresponding element of $(D_INLINECODE uniformIndices). If a string in $(D_INLINECODE uniformNames) is not the name of an active uniform, the special value $(D_INLINECODE GL_INVALID_INDEX) will be written to the corresponding element of $(D_INLINECODE uniformIndices). If an error occurs, nothing is written to $(D_INLINECODE uniformIndices).
14474      + 
14475      + $(D_INLINECODE glGetUniformIndices) is available only if the GL version is 3.1 or greater.
14476      + 
14477      + Params:
14478      +     program        = Specifies the name of a program containing uniforms whose indices to query.
14479      +     uniformCount   = Specifies the number of uniforms whose indices to query.
14480      +     uniformNames   = Specifies the address of an array of pointers to buffers containing the names of the queried uniforms.
14481      +     uniformIndices = Specifies the address of an array that will receive the indices of the uniforms.
14482      + 
14483      + Copyright:
14484      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14485      + 
14486      + See_Also:
14487      +     $(D_INLINECODE glGetActiveUniform), $(D_INLINECODE glGetActiveUniformName), $(D_INLINECODE glLinkProgram)
14488      +/
14489     @OpenGL_Version(OGLIntroducedIn.V3P1)
14490     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
14491     fn_glGetUniformIndices glGetUniformIndices;
14492     alias fn_glGetUniformLocation = extern(C) GLint function(GLuint program, const GLchar* name) @system @nogc nothrow;
14493 
14494     /++
14495      + glGetUniformLocation: man4/glGetUniformLocation.xml
14496      + 
14497      + $(D_INLINECODE glGetUniformLocation) returns an integer that represents the location of a specific uniform variable within a program object. $(D_INLINECODE name) must be a null terminated string that contains no white space. $(D_INLINECODE name) must be an active uniform variable name in $(D_INLINECODE program) that is not a structure, an array of structures, or a subcomponent of a vector or a matrix. This function returns -1 if $(D_INLINECODE name) does not correspond to an active uniform variable in $(D_INLINECODE program), if $(D_INLINECODE name) starts with the reserved prefix &quot;gl_&quot;, or if $(D_INLINECODE name) is associated with an atomic counter or a named uniform block. Uniform variables that are structures or arrays of structures may be queried by calling $(D_INLINECODE glGetUniformLocation) for each field within the structure. The array element operator &quot;[]&quot; and the structure field operator &quot;.&quot; may be used in $(D_INLINECODE name) in order to select elements within an array or fields within a structure. The result of using these operators is not allowed to be another structure, an array of structures, or a subcomponent of a vector or a matrix. Except if the last part of $(D_INLINECODE name) indicates a uniform variable array, the location of the first element of an array can be retrieved by using the name of the array, or by using the name appended by &quot;[0]&quot;. The actual locations assigned to uniform variables are not known until the program object is linked successfully. After linking has occurred, the command $(D_INLINECODE glGetUniformLocation) can be used to obtain the location of a uniform variable. This location value can then be passed to $(D_INLINECODE glUniform) to set the value of the uniform variable or to $(D_INLINECODE glGetUniform) in order to query the current value of the uniform variable. After a program object has been linked successfully, the index values for uniform variables remain fixed until the next link command occurs. Uniform variable locations and values can only be queried after a link if the link was successful.
14498      + 
14499      + Params:
14500      +     program = Specifies the program object to be queried.
14501      +     name    = Points to a null terminated string containing the name of the uniform variable whose location is to be queried.
14502      + 
14503      + Copyright:
14504      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14505      + 
14506      + See_Also:
14507      +     $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform)
14508      +/
14509     @OpenGL_Version(OGLIntroducedIn.V2P0)
14510     fn_glGetUniformLocation glGetUniformLocation;
14511     alias fn_glGetUniformSubroutineuiv = extern(C) void function(GLenum shadertype, GLint location, GLuint* values) @system @nogc nothrow;
14512 
14513     /++
14514      + glGetUniformSubroutine: man4/glGetUniformSubroutine.xml
14515      + 
14516      + $(D_INLINECODE glGetUniformSubroutine) retrieves the value of the subroutine uniform at location $(D_INLINECODE location) for shader stage $(D_INLINECODE shadertype) of the current program. $(D_INLINECODE location) must be less than the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS) for the shader currently in use at shader stage $(D_INLINECODE shadertype). The value of the subroutine uniform is returned in $(D_INLINECODE values).
14517      + 
14518      + Params:
14519      +     shadertype = Specifies the shader stage from which to query for subroutine uniform index. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
14520      +     location   = Specifies the location of the subroutine uniform.
14521      +     values     = Specifies the address of a variable to receive the value or values of the subroutine uniform.
14522      + 
14523      + Copyright:
14524      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14525      + 
14526      + See_Also:
14527      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetActiveSubroutineUniformName), $(D_INLINECODE glGetUniformLocation)
14528      +/
14529     @OpenGL_Version(OGLIntroducedIn.V4P0)
14530     @OpenGL_Extension("GL_ARB_shader_subroutine")
14531     fn_glGetUniformSubroutineuiv glGetUniformSubroutineuiv;
14532     alias fn_glGetVertexArrayIndexed64iv = extern(C) void function(GLuint vaobj, GLuint index, GLenum pname, GLint64* param) @system @nogc nothrow;
14533 
14534     /++
14535      + glGetVertexArrayIndexed: man4/glGetVertexArrayIndexed.xml
14536      + 
14537      + $(D_INLINECODE glGetVertexArrayIndexediv) and $(D_INLINECODE glGetVertexArrayIndexed64iv) provide a way of querying parameters of an attribute at an user-specified index of a vertex array object. The vertex array object does not have to be bound to the rendering context at the time of the call, but must have been bound at least once prior to this call. The following parameter values can be retrieved with $(D_INLINECODE glGetVertexArrayIndexediv) for each of the attributes defined for a vertex array object: $(OL $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_ENABLED) : $(D_INLINECODE param) returns a value that is non-zero (true) if the vertex attribute array for index is enabled and 0 (false) if it is disabled. The initial value is $(D_INLINECODE GL_FALSE).) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_SIZE) : $(D_INLINECODE param) returns a single value, the size of the vertex attribute array for index. The size is the number of values for each element of the vertex attribute array, and it will be 1, 2, 3 or 4. The initial value is 4.) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_STRIDE) : $(D_INLINECODE param) returns a single value, the array stride for (number of bytes between successive elements in) the vertex attribute array for index. A value of 0 indicates the array elements are stored sequentially in memory. The initial value is 0.) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_TYPE) : $(D_INLINECODE param) returns a single value, a symbolic constant indicating the array type for the vertex attribute array for index. Possible values are $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_DOUBLE), $(D_INLINECODE GL_FIXED), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_HALF_FLOAT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_INT_2_10_10_10_REV), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV), and $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV). The initial value is $(D_INLINECODE GL_FLOAT).) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_NORMALIZED) : $(D_INLINECODE param) returns a single value that is non-zero (true) if fixed-point data types for the vertex attribute array indicated by index are normalized when they are converted to floating-point, and 0 (false) otherwise. The initial value is $(D_INLINECODE GL_FALSE).) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_INTEGER) : $(D_INLINECODE param) returns a single value that is non-zero (true) if fixed-point data types for the vertex attribute array indicated by index have integer data type, and 0 (false) otherwise. The initial value is 0 ( $(D_INLINECODE GL_FALSE) ).) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_LONG) : $(D_INLINECODE param) returns a single value that is non-zero (true) if a vertex attribute is stored as an unconverted double, and 0 (false) otherwise. The initial value is 0 ( $(D_INLINECODE GL_FALSE) ).) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_DIVISOR) : $(D_INLINECODE param) returns a single value that is the frequency divisor used for instanced rendering. See glVertexAttribDivisor. The initial value is 0.) $(LI $(D_INLINECODE GL_VERTEX_ATTRIB_RELATIVE_OFFSET) : $(D_INLINECODE param) returns a single value that is the byte offset of the first element relative to the start of the vertex buffer binding specified attribute fetches from. The initial value is 0.)) $(D_INLINECODE glGetVertexArrayIndexed64iv) can be used to retrieve $(D_INLINECODE GL_VERTEX_BINDING_OFFSET) parameter value for any of the attributes defined for a vertex array object. When $(D_INLINECODE pname) is set to $(D_INLINECODE GL_VERTEX_BINDING_OFFSET), $(D_INLINECODE param) returns a single value that is the byte offset of the first element in the bound buffer's data store. The initial value for this parameter is 0.
14538      + 
14539      + Params:
14540      +     vaobj = Specifies the name of a vertex array object.
14541      +     index = Specifies the index of the vertex array object attribute. Must be a number between 0 and ( $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS) - 1).
14542      +     pname = Specifies the property to be used for the query. For $(D_INLINECODE glGetVertexArrayIndexediv), it must be one of the following values: $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_ENABLED), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_SIZE), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_STRIDE), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_TYPE), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_INTEGER), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_LONG), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_DIVISOR), or $(D_INLINECODE GL_VERTEX_ATTRIB_RELATIVE_OFFSET). For $(D_INLINECODE glGetVertexArrayIndexed64v), it must be equal to $(D_INLINECODE GL_VERTEX_BINDING_OFFSET).
14543      +     param = Returns the requested value.
14544      + 
14545      + Copyright:
14546      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14547      + 
14548      + See_Also:
14549      +     $(D_INLINECODE glGetVertexAttrib), $(D_INLINECODE glVertexAttribBinding), $(D_INLINECODE glVertexAttribIPointer), $(D_INLINECODE glVertexAttribLPointer), $(D_INLINECODE glVertexAttribPointer)
14550      +/
14551     @OpenGL_Version(OGLIntroducedIn.V4P5)
14552     @OpenGL_Extension("GL_ARB_direct_state_access")
14553     fn_glGetVertexArrayIndexed64iv glGetVertexArrayIndexed64iv;
14554     alias fn_glGetVertexArrayiv = extern(C) void function(GLuint vaobj, GLenum pname, GLint* param) @system @nogc nothrow;
14555 
14556     /++
14557      + glGetVertexArrayiv: man4/glGetVertexArrayiv.xml
14558      + 
14559      + This function provides a mean of querying properties of an existing vertex array object. The vertex array object does not have to be bound to the rendering context at the time of the call, but must have been bound at least once prior to this call. $(D_INLINECODE glGetVertexArrayiv) can be used to retrieve ID of a buffer object that will be bound to the $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) binding point whenever the queried vertex array object is bound to the rendering context. The binding can be changed for an active vertex array object with a $(D_INLINECODE glBindBuffer) call.
14560      + 
14561      + Params:
14562      +     vaobj = specifies the name of the vertex array object to use for the query.
14563      +     pname = Name of the property to use for the query. Must be $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER_BINDING).
14564      +     param = Returns the requested value.
14565      + 
14566      + Copyright:
14567      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14568      + 
14569      + See_Also:
14570      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBindVertexArray), $(D_INLINECODE glGet)
14571      +/
14572     @OpenGL_Version(OGLIntroducedIn.V4P5)
14573     @OpenGL_Extension("GL_ARB_direct_state_access")
14574     fn_glGetVertexArrayiv glGetVertexArrayiv;
14575     alias fn_glGetVertexAttribdv = extern(C) void function(GLuint index, GLenum pname, GLdouble* params) @system @nogc nothrow;
14576 
14577     /++
14578      + glGetVertexAttrib: man4/glGetVertexAttrib.xml
14579      + 
14580      + $(D_INLINECODE glGetVertexAttrib) returns in $(D_INLINECODE params) the value of a generic vertex attribute parameter. The generic vertex attribute to be queried is specified by $(D_INLINECODE index), and the parameter to be queried is specified by $(D_INLINECODE pname). The accepted parameter names are as follows: All of the parameters except $(D_INLINECODE GL_CURRENT_VERTEX_ATTRIB) represent state stored in the currently bound vertex array object.
14581      + 
14582      + If an error is generated, no change is made to the contents of $(D_INLINECODE params).
14583      + 
14584      + Params:
14585      +     index  = Specifies the generic vertex attribute parameter to be queried.
14586      +     pname  = Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_ENABLED), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_SIZE), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_STRIDE), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_TYPE), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_NORMALIZED), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_INTEGER), $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_DIVISOR), or $(D_INLINECODE GL_CURRENT_VERTEX_ATTRIB).
14587      +     params = Returns the requested data.
14588      + 
14589      + Copyright:
14590      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14591      + 
14592      + See_Also:
14593      +     $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glDisableVertexAttribArray), $(D_INLINECODE glEnableVertexAttribArray), $(D_INLINECODE glVertexAttrib), $(D_INLINECODE glVertexAttribDivisor), $(D_INLINECODE glVertexAttribPointer)
14594      +/
14595     @OpenGL_Version(OGLIntroducedIn.V2P0)
14596     fn_glGetVertexAttribdv glGetVertexAttribdv;
14597     alias fn_glGetVertexAttribfv = extern(C) void function(GLuint index, GLenum pname, GLfloat* params) @system @nogc nothrow;
14598     /// Ditto
14599     @OpenGL_Version(OGLIntroducedIn.V2P0)
14600     fn_glGetVertexAttribfv glGetVertexAttribfv;
14601     alias fn_glGetVertexAttribiv = extern(C) void function(GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
14602     /// Ditto
14603     @OpenGL_Version(OGLIntroducedIn.V2P0)
14604     fn_glGetVertexAttribiv glGetVertexAttribiv;
14605     alias fn_glGetVertexAttribIiv = extern(C) void function(GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
14606     /// Ditto
14607     @OpenGL_Version(OGLIntroducedIn.V3P0)
14608     fn_glGetVertexAttribIiv glGetVertexAttribIiv;
14609     alias fn_glGetVertexAttribIuiv = extern(C) void function(GLuint index, GLenum pname, GLuint* params) @system @nogc nothrow;
14610     /// Ditto
14611     @OpenGL_Version(OGLIntroducedIn.V3P0)
14612     fn_glGetVertexAttribIuiv glGetVertexAttribIuiv;
14613     alias fn_glGetVertexAttribLdv = extern(C) void function(GLuint index, GLenum pname, GLdouble* params) @system @nogc nothrow;
14614     /// Ditto
14615     @OpenGL_Version(OGLIntroducedIn.V4P1)
14616     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
14617     fn_glGetVertexAttribLdv glGetVertexAttribLdv;
14618     alias fn_glGetVertexAttribPointerv = extern(C) void function(GLuint index, GLenum pname, GLvoid** pointer) @system @nogc nothrow;
14619 
14620     /++
14621      + glGetVertexAttribPointerv: man4/glGetVertexAttribPointerv.xml
14622      + 
14623      + $(D_INLINECODE glGetVertexAttribPointerv) returns pointer information. $(D_INLINECODE index) is the generic vertex attribute to be queried, $(D_INLINECODE pname) is a symbolic constant indicating the pointer to be returned, and $(D_INLINECODE params) is a pointer to a location in which to place the returned data. The $(D_INLINECODE pointer) returned is a byte offset into the data store of the buffer object that was bound to the $(D_INLINECODE GL_ARRAY_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) when the desired pointer was previously specified.
14624      + 
14625      + The state returned is retrieved from the currently bound vertex array object. The initial value for each pointer is 0.
14626      + 
14627      + Params:
14628      +     index   = Specifies the generic vertex attribute parameter to be returned.
14629      +     pname   = Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_POINTER).
14630      +     pointer = Returns the pointer value.
14631      + 
14632      + Copyright:
14633      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14634      + 
14635      + See_Also:
14636      +     $(D_INLINECODE glGetVertexAttrib), $(D_INLINECODE glVertexAttribPointer)
14637      +/
14638     @OpenGL_Version(OGLIntroducedIn.V2P0)
14639     fn_glGetVertexAttribPointerv glGetVertexAttribPointerv;
14640     alias fn_glHint = extern(C) void function(GLenum target, GLenum mode) @system @nogc nothrow;
14641 
14642     /++
14643      + glHint: man4/glHint.xml
14644      + 
14645      + Certain aspects of GL behavior, when there is room for interpretation, can be controlled with hints. A hint is specified with two arguments. $(D_INLINECODE target) is a symbolic constant indicating the behavior to be controlled, and $(D_INLINECODE mode) is another symbolic constant indicating the desired behavior. The initial value for each $(D_INLINECODE target) is $(D_INLINECODE GL_DONT_CARE). $(D_INLINECODE mode) can be one of the following: Though the implementation aspects that can be hinted are well defined, the interpretation of the hints depends on the implementation. The hint aspects that can be specified with $(D_INLINECODE target), along with suggested semantics, are as follows:
14646      + 
14647      + The interpretation of hints depends on the implementation. Some implementations ignore $(D_INLINECODE glHint) settings.
14648      + 
14649      + Params:
14650      +     target = Specifies a symbolic constant indicating the behavior to be controlled. $(D_INLINECODE GL_LINE_SMOOTH_HINT), $(D_INLINECODE GL_POLYGON_SMOOTH_HINT), $(D_INLINECODE GL_TEXTURE_COMPRESSION_HINT), and $(D_INLINECODE GL_FRAGMENT_SHADER_DERIVATIVE_HINT) are accepted.
14651      +     mode   = Specifies a symbolic constant indicating the desired behavior. $(D_INLINECODE GL_FASTEST), $(D_INLINECODE GL_NICEST), and $(D_INLINECODE GL_DONT_CARE) are accepted.
14652      + 
14653      + Copyright:
14654      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
14655      + 
14656      + See_Also:
14657      +     
14658      +/
14659     @OpenGL_Version(OGLIntroducedIn.V1P0)
14660     fn_glHint glHint;
14661     alias fn_glInvalidateBufferData = extern(C) void function(GLuint buffer) @system @nogc nothrow;
14662 
14663     /++
14664      + glInvalidateBufferData: man4/glInvalidateBufferData.xml
14665      + 
14666      + $(D_INLINECODE glInvalidateBufferData) invalidates all of the content of the data store of a buffer object. After invalidation, the content of the buffer's data store becomes undefined.
14667      + 
14668      + Params:
14669      +     buffer = The name of a buffer object whose data store to invalidate.
14670      + 
14671      + Copyright:
14672      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14673      + 
14674      + See_Also:
14675      +     $(D_INLINECODE glInvalidateTexSubImage),, $(D_INLINECODE glInvalidateTexImage), $(D_INLINECODE glInvalidateBufferSubData), $(D_INLINECODE glInvalidateFramebuffer), $(D_INLINECODE glInvalidateSubFramebuffer).
14676      +/
14677     @OpenGL_Version(OGLIntroducedIn.V4P3)
14678     @OpenGL_Extension("GL_ARB_invalidate_subdata")
14679     fn_glInvalidateBufferData glInvalidateBufferData;
14680     alias fn_glInvalidateBufferSubData = extern(C) void function(GLuint buffer, GLintptr offset, GLsizeiptr length) @system @nogc nothrow;
14681 
14682     /++
14683      + glInvalidateBufferSubData: man4/glInvalidateBufferSubData.xml
14684      + 
14685      + $(D_INLINECODE glInvalidateBufferSubData) invalidates all or part of the content of the data store of a buffer object. After invalidation, the content of the specified range of the buffer's data store becomes undefined. The start of the range is given by $(D_INLINECODE offset) and its size is given by $(D_INLINECODE length), both measured in basic machine units.
14686      + 
14687      + Params:
14688      +     buffer = The name of a buffer object, a subrange of whose data store to invalidate.
14689      +     offset = The offset within the buffer's data store of the start of the range to be invalidated.
14690      +     length = The length of the range within the buffer's data store to be invalidated.
14691      + 
14692      + Copyright:
14693      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14694      + 
14695      + See_Also:
14696      +     $(D_INLINECODE glInvalidateTexSubImage),, $(D_INLINECODE glInvalidateTexImage), $(D_INLINECODE glInvalidateBufferData), $(D_INLINECODE glInvalidateFramebuffer), $(D_INLINECODE glInvalidateSubFramebuffer).
14697      +/
14698     @OpenGL_Version(OGLIntroducedIn.V4P3)
14699     @OpenGL_Extension("GL_ARB_invalidate_subdata")
14700     fn_glInvalidateBufferSubData glInvalidateBufferSubData;
14701     alias fn_glInvalidateFramebuffer = extern(C) void function(GLenum target, GLsizei numAttachments, const GLenum* attachments) @system @nogc nothrow;
14702 
14703     /++
14704      + glInvalidateFramebuffer: man4/glInvalidateFramebuffer.xml
14705      + 
14706      + $(D_INLINECODE glInvalidateFramebuffer) and $(D_INLINECODE glInvalidateNamedFramebufferData) invalidate the entire contents of a specified set of attachments of a framebuffer. For $(D_INLINECODE glInvalidateFramebuffer), the framebuffer object is that bound to $(D_INLINECODE target). $(D_INLINECODE target) must be $(D_INLINECODE GL_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_DRAW_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). Default framebuffers may also be invalidated if bound to $(D_INLINECODE target). For $(D_INLINECODE glInvalidateNamedFramebufferData), $(D_INLINECODE framebuffer) is the name of the framebuffer object. If $(D_INLINECODE framebuffer) is zero, the default draw framebuffer is affected. The set of attachments whose contents are to be invalidated are specified in the $(D_INLINECODE attachments) array, which contains $(D_INLINECODE numAttachments) elements. If the specified framebuffer is a framebuffer object, each element of $(D_INLINECODE attachments) must be one of $(D_INLINECODE GL_DEPTH_ATTACHMENT), $(D_INLINECODE GL_STENCIL_ATTACHMENT) $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT), or $(D_INLINECODE GL_COLOR_ATTACHMENT), where is between zero and the value of $(D_INLINECODE GL_MAX_FRAMEBUFFER_ATTACHMENTS) minus one. If the specified framebuffer is a default framebuffer, each element of $(D_INLINECODE attachments) must be one of $(D_INLINECODE GL_FRONT_LEFT), $(D_INLINECODE GL_FRONT_RIGHT), $(D_INLINECODE GL_BACK_LEFT), $(D_INLINECODE GL_BACK_RIGHT), $(D_INLINECODE GL_AUX), $(D_INLINECODE GL_ACCUM), $(D_INLINECODE GL_COLOR), $(D_INLINECODE GL_DEPTH), or $(D_INLINECODE GL_STENCIL). $(D_INLINECODE GL_COLOR), is treated as $(D_INLINECODE GL_BACK_LEFT) for a double-buffered context and $(D_INLINECODE GL_FRONT_LEFT) for a single-buffered context. The other attachments identify the corresponding specific buffer. The entire contents of each specified attachment become undefined after execution of $(D_INLINECODE glInvalidateFramebuffer) or $(D_INLINECODE glInvalidateNamedFramebufferData). If the framebuffer object is not complete, $(D_INLINECODE glInvalidateFramebuffer) and $(D_INLINECODE glInvalidateNamedFramebufferData) may be ignored. This is not an error.
14707      + 
14708      + Params:
14709      +     target         = Specifies the target to which the framebuffer object is attached for $(D_INLINECODE glInvalidateFramebuffer).
14710      +     framebuffer    = Specifies the name of the framebuffer object for $(D_INLINECODE glInvalidateNamedFramebufferData).
14711      +     numAttachments = Specifies the number of entries in the $(D_INLINECODE attachments) array.
14712      +     attachments    = Specifies a pointer to an array identifying the attachments to be invalidated.
14713      + 
14714      + Copyright:
14715      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14716      + 
14717      + See_Also:
14718      +     $(D_INLINECODE glInvalidateTexSubImage), $(D_INLINECODE glInvalidateTexImage), $(D_INLINECODE glInvalidateBufferSubData), $(D_INLINECODE glInvalidateBufferData), $(D_INLINECODE glInvalidateSubFramebuffer).
14719      +/
14720     @OpenGL_Version(OGLIntroducedIn.V4P3)
14721     @OpenGL_Extension("GL_ARB_invalidate_subdata")
14722     fn_glInvalidateFramebuffer glInvalidateFramebuffer;
14723     alias fn_glInvalidateNamedFramebufferData = extern(C) void function(GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments) @system @nogc nothrow;
14724     /// Ditto
14725     @OpenGL_Version(OGLIntroducedIn.V4P5)
14726     @OpenGL_Extension("GL_ARB_direct_state_access")
14727     fn_glInvalidateNamedFramebufferData glInvalidateNamedFramebufferData;
14728     alias fn_glInvalidateSubFramebuffer = extern(C) void function(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLint width, GLint height) @system @nogc nothrow;
14729 
14730     /++
14731      + glInvalidateNamedFramebufferSubData: man4/glInvalidateSubFramebuffer.xml
14732      + 
14733      + $(D_INLINECODE glInvalidateSubFramebuffer) and $(D_INLINECODE glInvalidateNamedFramebufferSubData) invalidate the contents of a specified region of a specified set of attachments of a framebuffer. For $(D_INLINECODE glInvalidateSubFramebuffer), the framebuffer object is that bound to $(D_INLINECODE target), which must be one of $(D_INLINECODE GL_FRAMEBUFFER), $(D_INLINECODE GL_READ_FRAMEBUFFER) or $(D_INLINECODE GL_DRAW_FRAMEBUFFER). $(D_INLINECODE GL_FRAMEBUFFER) is equivalent to $(D_INLINECODE GL_DRAW_FRAMEBUFFER). Default framebuffers may also be invalidated if bound to $(D_INLINECODE target). For $(D_INLINECODE glInvalidateNamedFramebufferSubData), $(D_INLINECODE framebuffer) is the name of the framebuffer object. If $(D_INLINECODE framebuffer) is zero, the default draw framebuffer is affected. The set of attachments of which a region is to be invalidated are specified in the $(D_INLINECODE attachments) array, which contains $(D_INLINECODE numAttachments) elements. If the specified framebuffer is a framebuffer object, each element of $(D_INLINECODE attachments) must be one of $(D_INLINECODE GL_DEPTH_ATTACHMENT), $(D_INLINECODE GL_STENCIL_ATTACHMENT) $(D_INLINECODE GL_DEPTH_STENCIL_ATTACHMENT), or $(D_INLINECODE GL_COLOR_ATTACHMENT), where is between zero and the value of $(D_INLINECODE GL_MAX_FRAMEBUFFER_ATTACHMENTS) minus one. If the specified framebuffer is a default framebuffer, each element of $(D_INLINECODE attachments) must be one of $(D_INLINECODE GL_FRONT_LEFT), $(D_INLINECODE GL_FRONT_RIGHT), $(D_INLINECODE GL_BACK_LEFT), $(D_INLINECODE GL_BACK_RIGHT), $(D_INLINECODE GL_AUX), $(D_INLINECODE GL_ACCUM), $(D_INLINECODE GL_COLOR), $(D_INLINECODE GL_DEPTH), or $(D_INLINECODE GL_STENCIL). $(D_INLINECODE GL_COLOR), is treated as $(D_INLINECODE GL_BACK_LEFT) for a double-buffered context and $(D_INLINECODE GL_FRONT_LEFT) for a single-buffered context. The other attachments identify the corresponding specific buffer. The contents of the specified region of each specified attachment become undefined after execution of $(D_INLINECODE glInvalidateSubFramebuffer) or $(D_INLINECODE glInvalidateNamedFramebufferSubData). The region to be invalidated is specified by $(D_INLINECODE x), $(D_INLINECODE y), $(D_INLINECODE width) and $(D_INLINECODE height) where $(D_INLINECODE x) and $(D_INLINECODE y) give the offset from the origin (with lower-left corner at $(0,0)$) and $(D_INLINECODE width) and $(D_INLINECODE height) are the width and height, respectively, of the region. Any pixels lying outside of the window allocated to the current GL context (for the default framebuffer), or outside of the attachments of the framebuffer object, are ignored. If the framebuffer object is not complete, these commands may be ignored. If the framebuffer object is not complete, $(D_INLINECODE glInvalidateSubFramebuffer) and $(D_INLINECODE glInvalidateNamedFramebufferSubData) may be ignored. This is not an error.
14734      + 
14735      + Params:
14736      +     target         = Specifies the target to which the framebuffer object is attached for $(D_INLINECODE glInvalidateSubFramebuffer).
14737      +     framebuffer    = Specifies the name of the framebuffer object for $(D_INLINECODE glInvalidateNamedFramebufferSubData).
14738      +     numAttachments = Specifies the number of entries in the $(D_INLINECODE attachments) array.
14739      +     attachments    = Specifies a pointer to an array identifying the attachments to be invalidated.
14740      +     x              = Specifies the X offset of the region to be invalidated.
14741      +     y              = Specifies the Y offset of the region to be invalidated.
14742      +     width          = Specifies the width of the region to be invalidated.
14743      +     height         = Specifies the height of the region to be invalidated.
14744      + 
14745      + Copyright:
14746      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14747      + 
14748      + See_Also:
14749      +     $(D_INLINECODE glInvalidateTexSubImage), $(D_INLINECODE glInvalidateTexImage), $(D_INLINECODE glInvalidateBufferSubData), $(D_INLINECODE glInvalidateBufferData), $(D_INLINECODE glInvalidateFramebuffer).
14750      +/
14751     @OpenGL_Version(OGLIntroducedIn.V4P3)
14752     @OpenGL_Extension("GL_ARB_invalidate_subdata")
14753     fn_glInvalidateSubFramebuffer glInvalidateSubFramebuffer;
14754     alias fn_glInvalidateNamedFramebufferSubData = extern(C) void function(GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
14755     /// Ditto
14756     @OpenGL_Version(OGLIntroducedIn.V4P5)
14757     @OpenGL_Extension("GL_ARB_direct_state_access")
14758     fn_glInvalidateNamedFramebufferSubData glInvalidateNamedFramebufferSubData;
14759     alias fn_glInvalidateTexImage = extern(C) void function(GLuint texture, GLint level) @system @nogc nothrow;
14760 
14761     /++
14762      + glInvalidateTexImage: man4/glInvalidateTexImage.xml
14763      + 
14764      + $(D_INLINECODE glInvalidateTexSubImage) invalidates all of a texture image. $(D_INLINECODE texture) and $(D_INLINECODE level) indicated which texture image is being invalidated. After this command, data in the texture image has undefined values. $(D_INLINECODE level) must be greater than or equal to zero and be less than the base 2 logarithm of the maximum texture width, height, or depth. For textures of targets $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_BUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), level must be zero.
14765      + 
14766      + Params:
14767      +     texture = The name of a texture object to invalidate.
14768      +     level   = The level of detail of the texture object to invalidate.
14769      + 
14770      + Copyright:
14771      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14772      + 
14773      + See_Also:
14774      +     $(D_INLINECODE glInvalidateTexSubImage),, $(D_INLINECODE glInvalidateBufferSubData), $(D_INLINECODE glInvalidateBufferData), $(D_INLINECODE glInvalidateFramebuffer), $(D_INLINECODE glInvalidateSubFramebuffer).
14775      +/
14776     @OpenGL_Version(OGLIntroducedIn.V4P3)
14777     @OpenGL_Extension("GL_ARB_invalidate_subdata")
14778     fn_glInvalidateTexImage glInvalidateTexImage;
14779     alias fn_glInvalidateTexSubImage = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) @system @nogc nothrow;
14780 
14781     /++
14782      + glInvalidateTexSubImage: man4/glInvalidateTexSubImage.xml
14783      + 
14784      + $(D_INLINECODE glInvalidateTexSubImage) invalidates all or part of a texture image. $(D_INLINECODE texture) and $(D_INLINECODE level) indicated which texture image is being invalidated. After this command, data in that subregion have undefined values. $(D_INLINECODE xoffset), $(D_INLINECODE yoffset), $(D_INLINECODE zoffset), $(D_INLINECODE width), $(D_INLINECODE height), and $(D_INLINECODE depth) are interpreted as they are in $(D_INLINECODE glTexSubImage3D). For texture targets that don't have certain dimensions, this command treats those dimensions as having a size of 1. For example, to invalidate a portion of a two- dimensional texture, the application would use $(D_INLINECODE zoffset) equal to zero and $(D_INLINECODE depth) equal to one. Cube map textures are treated as an array of six slices in the z-dimension, where a value of $(D_INLINECODE zoffset) is interpreted as specifying face $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X) + $(D_INLINECODE zoffset). $(D_INLINECODE level) must be greater than or equal to zero and be less than the base 2 logarithm of the maximum texture width, height, or depth. $(D_INLINECODE xoffset), $(D_INLINECODE yoffset) and $(D_INLINECODE zoffset) must be greater than or equal to zero and be less than the width, height or depth of the image, respectively. Furthermore, $(D_INLINECODE xoffset) + $(D_INLINECODE width), $(D_INLINECODE yoffset) + $(D_INLINECODE height), and $(D_INLINECODE zoffset) + $(D_INLINECODE depth) must be less than or equal to the width, height or depth of the image, respectively. For textures of targets $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_BUFFER), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), level must be zero.
14785      + 
14786      + Params:
14787      +     texture = The name of a texture object a subregion of which to invalidate.
14788      +     level   = The level of detail of the texture object within which the region resides.
14789      +     xoffset = The X offset of the region to be invalidated.
14790      +     yoffset = The Y offset of the region to be invalidated.
14791      +     zoffset = The Z offset of the region to be invalidated.
14792      +     width   = The width of the region to be invalidated.
14793      +     height  = The height of the region to be invalidated.
14794      +     depth   = The depth of the region to be invalidated.
14795      + 
14796      + Copyright:
14797      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14798      + 
14799      + See_Also:
14800      +     $(D_INLINECODE glInvalidateTexImage),, $(D_INLINECODE glInvalidateBufferSubData), $(D_INLINECODE glInvalidateBufferData), $(D_INLINECODE glInvalidateFramebuffer), $(D_INLINECODE glInvalidateSubFramebuffer).
14801      +/
14802     @OpenGL_Version(OGLIntroducedIn.V4P3)
14803     @OpenGL_Extension("GL_ARB_invalidate_subdata")
14804     fn_glInvalidateTexSubImage glInvalidateTexSubImage;
14805     alias fn_glIsBuffer = extern(C) GLboolean function(GLuint buffer) @system @nogc nothrow;
14806 
14807     /++
14808      + glIsBuffer: man4/glIsBuffer.xml
14809      + 
14810      + $(D_INLINECODE glIsBuffer) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE buffer) is currently the name of a buffer object. If $(D_INLINECODE buffer) is zero, or is a non-zero value that is not currently the name of a buffer object, or if an error occurs, $(D_INLINECODE glIsBuffer) returns $(D_INLINECODE GL_FALSE). A name returned by $(D_INLINECODE glGenBuffers), but not yet associated with a buffer object by calling $(D_INLINECODE glBindBuffer), is not the name of a buffer object.
14811      + 
14812      + Params:
14813      +     buffer = Specifies a value that may be the name of a buffer object.
14814      + 
14815      + Copyright:
14816      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14817      + 
14818      + See_Also:
14819      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glGenBuffers), $(D_INLINECODE glGet)
14820      +/
14821     @OpenGL_Version(OGLIntroducedIn.V1P5)
14822     fn_glIsBuffer glIsBuffer;
14823     alias fn_glIsEnabled = extern(C) GLboolean function(GLenum cap) @system @nogc nothrow;
14824 
14825     /++
14826      + glIsEnabled: man4/glIsEnabled.xml
14827      + 
14828      + $(D_INLINECODE glIsEnabled) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE cap) is an enabled capability and returns $(D_INLINECODE GL_FALSE) otherwise. Boolean states that are indexed may be tested with $(D_INLINECODE glIsEnabledi). For $(D_INLINECODE glIsEnabledi), $(D_INLINECODE index) specifies the index of the capability to test. $(D_INLINECODE index) must be between zero and the count of indexed capabilities for $(D_INLINECODE cap). Initially all capabilities except $(D_INLINECODE GL_DITHER) are disabled; $(D_INLINECODE GL_DITHER) is initially enabled. The following capabilities are accepted for $(D_INLINECODE cap) : $(B Constant) $(B See) $(D_INLINECODE GL_BLEND) $(D_INLINECODE glBlendFunc), $(D_INLINECODE glLogicOp) $(D_INLINECODE GL_CLIP_DISTANCE) $(D_INLINECODE glEnable) $(D_INLINECODE GL_COLOR_LOGIC_OP) $(D_INLINECODE glLogicOp) $(D_INLINECODE GL_CULL_FACE) $(D_INLINECODE glCullFace) $(D_INLINECODE GL_DEPTH_CLAMP) $(D_INLINECODE glEnable) $(D_INLINECODE GL_DEBUG_OUTPUT) $(D_INLINECODE glEnable) $(D_INLINECODE GL_DEBUG_OUTPUT_SYNCHRONOUS) $(D_INLINECODE glEnable) $(D_INLINECODE GL_DEPTH_TEST) $(D_INLINECODE glDepthFunc), $(D_INLINECODE glDepthRange) $(D_INLINECODE GL_DITHER) $(D_INLINECODE glEnable) $(D_INLINECODE GL_FRAMEBUFFER_SRGB) $(D_INLINECODE glEnable) $(D_INLINECODE GL_LINE_SMOOTH) $(D_INLINECODE glLineWidth) $(D_INLINECODE GL_MULTISAMPLE) $(D_INLINECODE glSampleCoverage) $(D_INLINECODE GL_POLYGON_SMOOTH) $(D_INLINECODE glPolygonMode) $(D_INLINECODE GL_POLYGON_OFFSET_FILL) $(D_INLINECODE glPolygonOffset) $(D_INLINECODE GL_POLYGON_OFFSET_LINE) $(D_INLINECODE glPolygonOffset) $(D_INLINECODE GL_POLYGON_OFFSET_POINT) $(D_INLINECODE glPolygonOffset) $(D_INLINECODE GL_PROGRAM_POINT_SIZE) $(D_INLINECODE glEnable) $(D_INLINECODE GL_PRIMITIVE_RESTART) $(D_INLINECODE glEnable), $(D_INLINECODE glPrimitiveRestartIndex) $(D_INLINECODE GL_SAMPLE_ALPHA_TO_COVERAGE) $(D_INLINECODE glSampleCoverage) $(D_INLINECODE GL_SAMPLE_ALPHA_TO_ONE) $(D_INLINECODE glSampleCoverage) $(D_INLINECODE GL_SAMPLE_COVERAGE) $(D_INLINECODE glSampleCoverage) $(D_INLINECODE GL_SAMPLE_MASK) $(D_INLINECODE glEnable) $(D_INLINECODE GL_SCISSOR_TEST) $(D_INLINECODE glScissor) $(D_INLINECODE GL_STENCIL_TEST) $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilOp) $(D_INLINECODE GL_TEXTURE_CUBE_MAP_SEAMLESS) $(D_INLINECODE glEnable)
14829      + 
14830      + If an error is generated, $(D_INLINECODE glIsEnabled) and $(D_INLINECODE glIsEnabledi) return $(D_INLINECODE GL_FALSE). $(D_INLINECODE GL_DEBUG_OUTPUT) and $(D_INLINECODE GL_DEBUG_OUTPUT_SYNCHRONOUS) are available only if the GL version is 4.3 or greater.
14831      + 
14832      + Params:
14833      +     cap   = Specifies a symbolic constant indicating a GL capability.
14834      +     index = Specifies the index of the capability.
14835      + 
14836      + Copyright:
14837      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
14838      + 
14839      + See_Also:
14840      +     $(D_INLINECODE glEnable), $(D_INLINECODE glDisable), $(D_INLINECODE glGet)
14841      +/
14842     @OpenGL_Version(OGLIntroducedIn.V1P0)
14843     fn_glIsEnabled glIsEnabled;
14844     alias fn_glIsFramebuffer = extern(C) GLboolean function(GLuint framebuffer) @system @nogc nothrow;
14845 
14846     /++
14847      + glIsFramebuffer: man4/glIsFramebuffer.xml
14848      + 
14849      + $(D_INLINECODE glIsFramebuffer) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE framebuffer) is currently the name of a framebuffer object. If $(D_INLINECODE framebuffer) is zero, or if $(D_INLINECODE framebuffer) is not the name of a framebuffer object, or if an error occurs, $(D_INLINECODE glIsFramebuffer) returns $(D_INLINECODE GL_FALSE). If $(D_INLINECODE framebuffer) is a name returned by $(D_INLINECODE glGenFramebuffers), by that has not yet been bound through a call to $(D_INLINECODE glBindFramebuffer), then the name is not a framebuffer object and $(D_INLINECODE glIsFramebuffer) returns $(D_INLINECODE GL_FALSE).
14850      + 
14851      + Params:
14852      +     framebuffer = Specifies a value that may be the name of a framebuffer object.
14853      + 
14854      + Copyright:
14855      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14856      + 
14857      + See_Also:
14858      +     $(D_INLINECODE glGenFramebuffers), $(D_INLINECODE glBindFramebuffer), $(D_INLINECODE glDeleteFramebuffers)
14859      +/
14860     @OpenGL_Version(OGLIntroducedIn.V3P0)
14861     @OpenGL_Extension("GL_ARB_framebuffer_object")
14862     fn_glIsFramebuffer glIsFramebuffer;
14863     alias fn_glIsProgram = extern(C) GLboolean function(GLuint program) @system @nogc nothrow;
14864 
14865     /++
14866      + glIsProgram: man4/glIsProgram.xml
14867      + 
14868      + $(D_INLINECODE glIsProgram) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE program) is the name of a program object previously created with $(D_INLINECODE glCreateProgram) and not yet deleted with $(D_INLINECODE glDeleteProgram). If $(D_INLINECODE program) is zero or a non-zero value that is not the name of a program object, or if an error occurs, $(D_INLINECODE glIsProgram) returns $(D_INLINECODE GL_FALSE).
14869      + 
14870      + No error is generated if $(D_INLINECODE program) is not a valid program object name. A program object marked for deletion with $(D_INLINECODE glDeleteProgram) but still in use as part of current rendering state is still considered a program object and $(D_INLINECODE glIsProgram) will return $(D_INLINECODE GL_TRUE).
14871      + 
14872      + Params:
14873      +     program = Specifies a potential program object.
14874      + 
14875      + Copyright:
14876      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14877      + 
14878      + See_Also:
14879      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glDeleteProgram), $(D_INLINECODE glDetachShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform), $(D_INLINECODE glUseProgram), $(D_INLINECODE glValidateProgram)
14880      +/
14881     @OpenGL_Version(OGLIntroducedIn.V2P0)
14882     fn_glIsProgram glIsProgram;
14883     alias fn_glIsProgramPipeline = extern(C) GLboolean function(GLuint pipeline) @system @nogc nothrow;
14884 
14885     /++
14886      + glIsProgramPipeline: man4/glIsProgramPipeline.xml
14887      + 
14888      + $(D_INLINECODE glIsProgramPipeline) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE pipeline) is currently the name of a program pipeline object. If $(D_INLINECODE pipeline) is zero, or if $(D_INLINECODE pipeline) is not the name of a program pipeline object, or if an error occurs, $(D_INLINECODE glIsProgramPipeline) returns $(D_INLINECODE GL_FALSE). If $(D_INLINECODE pipeline) is a name returned by $(D_INLINECODE glGenProgramPipelines), but that has not yet been bound through a call to $(D_INLINECODE glBindProgramPipeline), then the name is not a program pipeline object and $(D_INLINECODE glIsProgramPipeline) returns $(D_INLINECODE GL_FALSE).
14889      + 
14890      + Params:
14891      +     pipeline = Specifies a value that may be the name of a program pipeline object.
14892      + 
14893      + Copyright:
14894      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14895      + 
14896      + See_Also:
14897      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glDeleteProgramPipelines)
14898      +/
14899     @OpenGL_Version(OGLIntroducedIn.V4P1)
14900     @OpenGL_Extension("GL_ARB_separate_shader_objects")
14901     fn_glIsProgramPipeline glIsProgramPipeline;
14902     alias fn_glIsQuery = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
14903 
14904     /++
14905      + glIsQuery: man4/glIsQuery.xml
14906      + 
14907      + $(D_INLINECODE glIsQuery) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE id) is currently the name of a query object. If $(D_INLINECODE id) is zero, or is a non-zero value that is not currently the name of a query object, or if an error occurs, $(D_INLINECODE glIsQuery) returns $(D_INLINECODE GL_FALSE). A name returned by $(D_INLINECODE glGenQueries), but not yet associated with a query object by calling $(D_INLINECODE glBeginQuery), is not the name of a query object.
14908      + 
14909      + Params:
14910      +     id = Specifies a value that may be the name of a query object.
14911      + 
14912      + Copyright:
14913      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14914      + 
14915      + See_Also:
14916      +     $(D_INLINECODE glBeginQuery), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glEndQuery), $(D_INLINECODE glGenQueries)
14917      +/
14918     @OpenGL_Version(OGLIntroducedIn.V1P5)
14919     fn_glIsQuery glIsQuery;
14920     alias fn_glIsRenderbuffer = extern(C) GLboolean function(GLuint renderbuffer) @system @nogc nothrow;
14921 
14922     /++
14923      + glIsRenderbuffer: man4/glIsRenderbuffer.xml
14924      + 
14925      + $(D_INLINECODE glIsRenderbuffer) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE renderbuffer) is currently the name of a renderbuffer object. If $(D_INLINECODE renderbuffer) is zero, or if $(D_INLINECODE renderbuffer) is not the name of a renderbuffer object, or if an error occurs, $(D_INLINECODE glIsRenderbuffer) returns $(D_INLINECODE GL_FALSE). If $(D_INLINECODE renderbuffer) is a name returned by $(D_INLINECODE glGenRenderbuffers), by that has not yet been bound through a call to $(D_INLINECODE glBindRenderbuffer) or $(D_INLINECODE glFramebufferRenderbuffer), then the name is not a renderbuffer object and $(D_INLINECODE glIsRenderbuffer) returns $(D_INLINECODE GL_FALSE).
14926      + 
14927      + Params:
14928      +     renderbuffer = Specifies a value that may be the name of a renderbuffer object.
14929      + 
14930      + Copyright:
14931      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14932      + 
14933      + See_Also:
14934      +     $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glBindRenderbuffer), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glDeleteRenderbuffers)
14935      +/
14936     @OpenGL_Version(OGLIntroducedIn.V3P0)
14937     @OpenGL_Extension("GL_ARB_framebuffer_object")
14938     fn_glIsRenderbuffer glIsRenderbuffer;
14939     alias fn_glIsSampler = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
14940 
14941     /++
14942      + glIsSampler: man4/glIsSampler.xml
14943      + 
14944      + $(D_INLINECODE glIsSampler) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE id) is currently the name of a sampler object. If $(D_INLINECODE id) is zero, or is a non-zero value that is not currently the name of a sampler object, or if an error occurs, $(D_INLINECODE glIsSampler) returns $(D_INLINECODE GL_FALSE). A name returned by $(D_INLINECODE glGenSamplers), is the name of a sampler object.
14945      + 
14946      + $(D_INLINECODE glIsSampler) is available only if the GL version is 3.3 or higher.
14947      + 
14948      + Params:
14949      +     id = Specifies a value that may be the name of a sampler object.
14950      + 
14951      + Copyright:
14952      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14953      + 
14954      + See_Also:
14955      +     $(D_INLINECODE glGenSamplers), $(D_INLINECODE glBindSampler), $(D_INLINECODE glDeleteSamplers)
14956      +/
14957     @OpenGL_Version(OGLIntroducedIn.V3P3)
14958     @OpenGL_Extension("GL_ARB_sampler_objects")
14959     fn_glIsSampler glIsSampler;
14960     alias fn_glIsShader = extern(C) GLboolean function(GLuint shader) @system @nogc nothrow;
14961 
14962     /++
14963      + glIsShader: man4/glIsShader.xml
14964      + 
14965      + $(D_INLINECODE glIsShader) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE shader) is the name of a shader object previously created with $(D_INLINECODE glCreateShader) and not yet deleted with $(D_INLINECODE glDeleteShader). If $(D_INLINECODE shader) is zero or a non-zero value that is not the name of a shader object, or if an error occurs, $(D_INLINECODE glIsShader) returns $(D_INLINECODE GL_FALSE).
14966      + 
14967      + No error is generated if $(D_INLINECODE shader) is not a valid shader object name. A shader object marked for deletion with $(D_INLINECODE glDeleteShader) but still attached to a program object is still considered a shader object and $(D_INLINECODE glIsShader) will return $(D_INLINECODE GL_TRUE).
14968      + 
14969      + Params:
14970      +     shader = Specifies a potential shader object.
14971      + 
14972      + Copyright:
14973      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14974      + 
14975      + See_Also:
14976      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glCompileShader), $(D_INLINECODE glCreateShader), $(D_INLINECODE glDeleteShader), $(D_INLINECODE glDetachShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glShaderSource)
14977      +/
14978     @OpenGL_Version(OGLIntroducedIn.V2P0)
14979     fn_glIsShader glIsShader;
14980     alias fn_glIsSync = extern(C) GLboolean function(GLsync sync) @system @nogc nothrow;
14981 
14982     /++
14983      + glIsSync: man4/glIsSync.xml
14984      + 
14985      + $(D_INLINECODE glIsSync) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE sync) is currently the name of a sync object. If $(D_INLINECODE sync) is not the name of a sync object, or if an error occurs, $(D_INLINECODE glIsSync) returns $(D_INLINECODE GL_FALSE). Note that zero is not the name of a sync object.
14986      + 
14987      + $(D_INLINECODE glIsSync) is available only if the GL version is 3.2 or greater.
14988      + 
14989      + Params:
14990      +     sync = Specifies a value that may be the name of a sync object.
14991      + 
14992      + Copyright:
14993      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
14994      + 
14995      + See_Also:
14996      +     $(D_INLINECODE glFenceSync), $(D_INLINECODE glWaitSync), $(D_INLINECODE glClientWaitSync), $(D_INLINECODE glDeleteSync)
14997      +/
14998     @OpenGL_Version(OGLIntroducedIn.V3P2)
14999     @OpenGL_Extension("GL_ARB_sync")
15000     fn_glIsSync glIsSync;
15001     alias fn_glIsTexture = extern(C) GLboolean function(GLuint texture) @system @nogc nothrow;
15002 
15003     /++
15004      + glIsTexture: man4/glIsTexture.xml
15005      + 
15006      + $(D_INLINECODE glIsTexture) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE texture) is currently the name of a texture. If $(D_INLINECODE texture) is zero, or is a non-zero value that is not currently the name of a texture, or if an error occurs, $(D_INLINECODE glIsTexture) returns $(D_INLINECODE GL_FALSE). A name returned by $(D_INLINECODE glGenTextures), but not yet associated with a texture by calling $(D_INLINECODE glBindTexture), is not the name of a texture.
15007      + 
15008      + Params:
15009      +     texture = Specifies a value that may be the name of a texture.
15010      + 
15011      + Copyright:
15012      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15013      + 
15014      + See_Also:
15015      +     $(D_INLINECODE glBindTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glDeleteTextures), $(D_INLINECODE glGenTextures), $(D_INLINECODE glGet), $(D_INLINECODE glGetTexParameter), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter)
15016      +/
15017     @OpenGL_Version(OGLIntroducedIn.V1P1)
15018     fn_glIsTexture glIsTexture;
15019     alias fn_glIsTransformFeedback = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
15020 
15021     /++
15022      + glIsTransformFeedback: man4/glIsTransformFeedback.xml
15023      + 
15024      + $(D_INLINECODE glIsTransformFeedback) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE id) is currently the name of a transform feedback object. If $(D_INLINECODE id) is zero, or if $(D_INLINECODE id) is not the name of a transform feedback object, or if an error occurs, $(D_INLINECODE glIsTransformFeedback) returns $(D_INLINECODE GL_FALSE). If $(D_INLINECODE id) is a name returned by $(D_INLINECODE glGenTransformFeedbacks), but that has not yet been bound through a call to $(D_INLINECODE glBindTransformFeedback), then the name is not a transform feedback object and $(D_INLINECODE glIsTransformFeedback) returns $(D_INLINECODE GL_FALSE).
15025      + 
15026      + Params:
15027      +     id = Specifies a value that may be the name of a transform feedback object.
15028      + 
15029      + Copyright:
15030      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15031      + 
15032      + See_Also:
15033      +     $(D_INLINECODE glGenTransformFeedbacks), $(D_INLINECODE glBindTransformFeedback), $(D_INLINECODE glDeleteTransformFeedbacks)
15034      +/
15035     @OpenGL_Version(OGLIntroducedIn.V4P0)
15036     @OpenGL_Extension("GL_ARB_transform_feedback2")
15037     fn_glIsTransformFeedback glIsTransformFeedback;
15038     alias fn_glIsVertexArray = extern(C) GLboolean function(GLuint array) @system @nogc nothrow;
15039 
15040     /++
15041      + glIsVertexArray: man4/glIsVertexArray.xml
15042      + 
15043      + $(D_INLINECODE glIsVertexArray) returns $(D_INLINECODE GL_TRUE) if $(D_INLINECODE array) is currently the name of a vertex array object. If $(D_INLINECODE array) is zero, or if $(D_INLINECODE array) is not the name of a vertex array object, or if an error occurs, $(D_INLINECODE glIsVertexArray) returns $(D_INLINECODE GL_FALSE). If $(D_INLINECODE array) is a name returned by $(D_INLINECODE glGenVertexArrays), by that has not yet been bound through a call to $(D_INLINECODE glBindVertexArray), then the name is not a vertex array object and $(D_INLINECODE glIsVertexArray) returns $(D_INLINECODE GL_FALSE).
15044      + 
15045      + Params:
15046      +     array = Specifies a value that may be the name of a vertex array object.
15047      + 
15048      + Copyright:
15049      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15050      + 
15051      + See_Also:
15052      +     $(D_INLINECODE glGenVertexArrays), $(D_INLINECODE glBindVertexArray), $(D_INLINECODE glDeleteVertexArrays)
15053      +/
15054     @OpenGL_Version(OGLIntroducedIn.V3P0)
15055     @OpenGL_Extension("GL_ARB_vertex_array_object")
15056     fn_glIsVertexArray glIsVertexArray;
15057     alias fn_glLineWidth = extern(C) void function(GLfloat width) @system @nogc nothrow;
15058 
15059     /++
15060      + glLineWidth: man4/glLineWidth.xml
15061      + 
15062      + $(D_INLINECODE glLineWidth) specifies the rasterized width of both aliased and antialiased lines. Using a line width other than 1 has different effects, depending on whether line antialiasing is enabled. To enable and disable line antialiasing, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_LINE_SMOOTH). Line antialiasing is initially disabled. If line antialiasing is disabled, the actual width is determined by rounding the supplied width to the nearest integer. (If the rounding results in the value 0, it is as if the line width were 1.) If &#x394; x &gt;= &#x394; y, pixels are filled in each column that is rasterized, where is the rounded value of $(D_INLINECODE width). Otherwise, pixels are filled in each row that is rasterized. If antialiasing is enabled, line rasterization produces a fragment for each pixel square that intersects the region lying within the rectangle having width equal to the current line width, length equal to the actual length of the line, and centered on the mathematical line segment. The coverage value for each fragment is the window coordinate area of the intersection of the rectangular region with the corresponding pixel square. This value is saved and used in the final rasterization step. Not all widths can be supported when line antialiasing is enabled. If an unsupported width is requested, the nearest supported width is used. Only width 1 is guaranteed to be supported; others depend on the implementation.  Likewise, there is a range for aliased line widths as well. To query the range of supported widths and the size difference between supported widths within the range, call $(D_INLINECODE glGet) with arguments $(D_INLINECODE GL_ALIASED_LINE_WIDTH_RANGE), $(D_INLINECODE GL_SMOOTH_LINE_WIDTH_RANGE), and $(D_INLINECODE GL_SMOOTH_LINE_WIDTH_GRANULARITY).
15063      + 
15064      + The line width specified by $(D_INLINECODE glLineWidth) is always returned when $(D_INLINECODE GL_LINE_WIDTH) is queried. Clamping and rounding for aliased and antialiased lines have no effect on the specified value. Nonantialiased line width may be clamped to an implementation-dependent maximum.  Call $(D_INLINECODE glGet) with $(D_INLINECODE GL_ALIASED_LINE_WIDTH_RANGE) to determine the maximum width. In OpenGL 1.2, the tokens $(D_INLINECODE GL_LINE_WIDTH_RANGE) and $(D_INLINECODE GL_LINE_WIDTH_GRANULARITY) were replaced by $(D_INLINECODE GL_ALIASED_LINE_WIDTH_RANGE), $(D_INLINECODE GL_SMOOTH_LINE_WIDTH_RANGE), and $(D_INLINECODE GL_SMOOTH_LINE_WIDTH_GRANULARITY).  The old names are retained for backward compatibility, but should not be used in new code.
15065      + 
15066      + Params:
15067      +     width = Specifies the width of rasterized lines. The initial value is 1.
15068      + 
15069      + Copyright:
15070      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15071      + 
15072      + See_Also:
15073      +     $(D_INLINECODE glEnable)
15074      +/
15075     @OpenGL_Version(OGLIntroducedIn.V1P0)
15076     fn_glLineWidth glLineWidth;
15077     alias fn_glLinkProgram = extern(C) void function(GLuint program) @system @nogc nothrow;
15078 
15079     /++
15080      + glLinkProgram: man4/glLinkProgram.xml
15081      + 
15082      + $(D_INLINECODE glLinkProgram) links the program object specified by $(D_INLINECODE program). If any shader objects of type $(D_INLINECODE GL_VERTEX_SHADER) are attached to $(D_INLINECODE program), they will be used to create an executable that will run on the programmable vertex processor. If any shader objects of type $(D_INLINECODE GL_GEOMETRY_SHADER) are attached to $(D_INLINECODE program), they will be used to create an executable that will run on the programmable geometry processor. If any shader objects of type $(D_INLINECODE GL_FRAGMENT_SHADER) are attached to $(D_INLINECODE program), they will be used to create an executable that will run on the programmable fragment processor. The status of the link operation will be stored as part of the program object's state. This value will be set to $(D_INLINECODE GL_TRUE) if the program object was linked without errors and is ready for use, and $(D_INLINECODE GL_FALSE) otherwise. It can be queried by calling $(D_INLINECODE glGetProgram) with arguments $(D_INLINECODE program) and $(D_INLINECODE GL_LINK_STATUS). As a result of a successful link operation, all active user-defined uniform variables belonging to $(D_INLINECODE program) will be initialized to 0, and each of the program object's active uniform variables will be assigned a location that can be queried by calling $(D_INLINECODE glGetUniformLocation). Also, any active user-defined attribute variables that have not been bound to a generic vertex attribute index will be bound to one at this time. Linking of a program object can fail for a number of reasons as specified in the. The following lists some of the conditions that will cause a link error. $(OL $(LI The number of active attribute variables supported by the implementation has been exceeded.) $(LI The storage limit for uniform variables has been exceeded.) $(LI The number of active uniform variables supported by the implementation has been exceeded.) $(LI The $(D_INLINECODE main) function is missing for the vertex, geometry or fragment shader.) $(LI A varying variable actually used in the fragment shader is not declared in the same way (or is not declared at all) in the vertex shader, or geometry shader shader if present.) $(LI A reference to a function or variable name is unresolved.) $(LI A shared global is declared with two different types or two different initial values.) $(LI One or more of the attached shader objects has not been successfully compiled.) $(LI Binding a generic attribute matrix caused some rows of the matrix to fall outside the allowed maximum of $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS).) $(LI Not enough contiguous vertex attribute slots could be found to bind attribute matrices.) $(LI The program object contains objects to form a fragment shader but does not contain objects to form a vertex shader.) $(LI The program object contains objects to form a geometry shader but does not contain objects to form a vertex shader.) $(LI The program object contains objects to form a geometry shader and the input primitive type, output primitive type, or maximum output vertex count is not specified in any compiled geometry shader object.) $(LI The program object contains objects to form a geometry shader and the input primitive type, output primitive type, or maximum output vertex count is specified differently in multiple geometry shader objects.) $(LI The number of active outputs in the fragment shader is greater than the value of $(D_INLINECODE GL_MAX_DRAW_BUFFERS).) $(LI The program has an active output assigned to a location greater than or equal to the value of $(D_INLINECODE GL_MAX_DUAL_SOURCE_DRAW_BUFFERS) and has an active output assigned an index greater than or equal to one.) $(LI More than one varying out variable is bound to the same number and index.) $(LI The explicit binding assigments do not leave enough space for the linker to automatically assign a location for a varying out array, which requires multiple contiguous locations.) $(LI The $(D_INLINECODE count) specified by $(D_INLINECODE glTransformFeedbackVaryings) is non-zero, but the program object has no vertex or geometry shader.) $(LI Any variable name specified to $(D_INLINECODE glTransformFeedbackVaryings) in the $(D_INLINECODE varyings) array is not declared as an output in the vertex shader (or the geometry shader, if active).) $(LI Any two entries in the $(D_INLINECODE varyings) array given $(D_INLINECODE glTransformFeedbackVaryings) specify the same varying variable.) $(LI The total number of components to capture in any transform feedback varying variable is  greater  than  the  constant $(D_INLINECODE GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) and the buffer mode is $(D_INLINECODE GL_SEPARATE_ATTRIBS).)) When a program object has been successfully linked, the program object can be made part of current state by calling $(D_INLINECODE glUseProgram). Whether or not the link operation was successful, the program object's information log will be overwritten. The information log can be retrieved by calling $(D_INLINECODE glGetProgramInfoLog). $(D_INLINECODE glLinkProgram) will also install the generated executables as part of the current rendering state if the link operation was successful and the specified program object is already currently in use as a result of a previous call to $(D_INLINECODE glUseProgram). If the program object currently in use is relinked unsuccessfully, its link status will be set to $(D_INLINECODE GL_FALSE), but the executables and associated state will remain part of the current state until a subsequent call to $(D_INLINECODE glUseProgram) removes it from use. After it is removed from use, it cannot be made part of current state until it has been successfully relinked. If $(D_INLINECODE program) contains shader objects of type $(D_INLINECODE GL_VERTEX_SHADER), and optionally of type $(D_INLINECODE GL_GEOMETRY_SHADER), but does not contain shader objects of type $(D_INLINECODE GL_FRAGMENT_SHADER), the vertex shader executable will be installed on the programmable vertex processor, the geometry shader executable, if present, will be installed on the programmable geometry processor, but no executable will be installed on the fragment processor. The results of rasterizing primitives with such a program will be undefined. The program object's information log is updated and the program is generated at the time of the link operation. After the link operation, applications are free to modify attached shader objects, compile attached shader objects, detach shader objects, delete shader objects, and attach additional shader objects. None of these operations affects the information log or the program that is part of the program object.
15083      + 
15084      + If the link operation is unsuccessful, any information about a previous link operation on $(D_INLINECODE program) is lost (i.e., a failed link does not restore the old state of $(D_INLINECODE program) ). Certain information can still be retrieved from $(D_INLINECODE program) even after an unsuccessful link operation. See for instance $(D_INLINECODE glGetActiveAttrib) and $(D_INLINECODE glGetActiveUniform).
15085      + 
15086      + Params:
15087      +     program = Specifies the handle of the program object to be linked.
15088      + 
15089      + Copyright:
15090      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15091      + 
15092      + See_Also:
15093      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glCompileShader), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glDeleteProgram), $(D_INLINECODE glDetachShader), $(D_INLINECODE glUniform), $(D_INLINECODE glUseProgram), $(D_INLINECODE glValidateProgram)
15094      +/
15095     @OpenGL_Version(OGLIntroducedIn.V2P0)
15096     fn_glLinkProgram glLinkProgram;
15097     alias fn_glLogicOp = extern(C) void function(GLenum opcode) @system @nogc nothrow;
15098 
15099     /++
15100      + glLogicOp: man4/glLogicOp.xml
15101      + 
15102      + $(D_INLINECODE glLogicOp) specifies a logical operation that, when enabled, is applied between the incoming RGBA color and the RGBA color at the corresponding location in the frame buffer. To enable or disable the logical operation, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) using the symbolic constant $(D_INLINECODE GL_COLOR_LOGIC_OP). The initial value is disabled. $(B Opcode) $(B Resulting Operation) $(D_INLINECODE GL_CLEAR) 0 $(D_INLINECODE GL_SET) 1 $(D_INLINECODE GL_COPY) s $(D_INLINECODE GL_COPY_INVERTED) ~s $(D_INLINECODE GL_NOOP) d $(D_INLINECODE GL_INVERT) ~d $(D_INLINECODE GL_AND) s &amp; d $(D_INLINECODE GL_NAND) ~(s &amp; d) $(D_INLINECODE GL_OR) s | d $(D_INLINECODE GL_NOR) ~(s | d) $(D_INLINECODE GL_XOR) s ^ d $(D_INLINECODE GL_EQUIV) ~(s ^ d) $(D_INLINECODE GL_AND_REVERSE) s &amp; ~d $(D_INLINECODE GL_AND_INVERTED) ~s &amp; d $(D_INLINECODE GL_OR_REVERSE) s | ~d $(D_INLINECODE GL_OR_INVERTED) ~s | d $(D_INLINECODE opcode) is a symbolic constant chosen from the list above. In the explanation of the logical operations, represents the incoming color and represents the color in the frame buffer. Standard C-language operators are used. As these bitwise operators suggest, the logical operation is applied independently to each bit pair of the source and destination colors.
15103      + 
15104      + When more than one RGBA color buffer is enabled for drawing, logical operations are performed separately for each enabled buffer, using for the destination value the contents of that buffer (see $(D_INLINECODE glDrawBuffer) ). Logic operations have no effect on floating point draw buffers. However, if $(D_INLINECODE GL_COLOR_LOGIC_OP) is enabled, blending is still disabled in this case.
15105      + 
15106      + Params:
15107      +     opcode = Specifies a symbolic constant that selects a logical operation. The following symbols are accepted: $(D_INLINECODE GL_CLEAR), $(D_INLINECODE GL_SET), $(D_INLINECODE GL_COPY), $(D_INLINECODE GL_COPY_INVERTED), $(D_INLINECODE GL_NOOP), $(D_INLINECODE GL_INVERT), $(D_INLINECODE GL_AND), $(D_INLINECODE GL_NAND), $(D_INLINECODE GL_OR), $(D_INLINECODE GL_NOR), $(D_INLINECODE GL_XOR), $(D_INLINECODE GL_EQUIV), $(D_INLINECODE GL_AND_REVERSE), $(D_INLINECODE GL_AND_INVERTED), $(D_INLINECODE GL_OR_REVERSE), and $(D_INLINECODE GL_OR_INVERTED). The initial value is $(D_INLINECODE GL_COPY).
15108      + 
15109      + Copyright:
15110      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15111      + 
15112      + See_Also:
15113      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glDrawBuffer), $(D_INLINECODE glEnable), $(D_INLINECODE glStencilOp)
15114      +/
15115     @OpenGL_Version(OGLIntroducedIn.V1P0)
15116     fn_glLogicOp glLogicOp;
15117     alias fn_glMapBuffer = extern(C) void* function(GLenum target, GLenum access) @system @nogc nothrow;
15118 
15119     /++
15120      + glMapBuffer: man4/glMapBuffer.xml
15121      + 
15122      + $(D_INLINECODE glMapBuffer) and $(D_INLINECODE glMapNamedBuffer) map the entire data store of a specified buffer object into the client's address space. The data can then be directly read and/or written relative to the returned pointer, depending on the specified $(D_INLINECODE access) policy. A pointer to the beginning of the mapped range is returned once all pending operations on that buffer object have completed, and may be used to modify and/or query the corresponding range of the data store according to the value of $(D_INLINECODE access) : $(OL $(LI $(D_INLINECODE GL_READ_ONLY) indicates that the returned pointer may be used to read buffer object data.) $(LI $(D_INLINECODE GL_WRITE_ONLY) indicates that the returned pointer may be used to modify buffer object data.) $(LI $(D_INLINECODE GL_READ_WRITE) indicates that the returned pointer may be used to read and to modify buffer object data.)) If an error is generated, a $(D_INLINECODE null
15123      + ) pointer is returned. If no error occurs, the returned pointer will reflect an allocation aligned to the value of $(D_INLINECODE GL_MIN_MAP_BUFFER_ALIGNMENT) basic machine units. The returned pointer values may not be passed as parameter values to GL commands. For example, they may not be used to specify array pointers, or to specify or query pixel or texture image data; such actions produce undefined results, although implementations may not check for such behavior for performance reasons. No GL error is generated if the returned pointer is accessed in a way inconsistent with $(D_INLINECODE access) (e.g. used to read from a mapping made with $(D_INLINECODE access) $(D_INLINECODE GL_WRITE_ONLY) or write to a mapping made with $(D_INLINECODE access) $(D_INLINECODE GL_READ_ONLY) ), but the result is undefined and system errors (possibly including program termination) may occur. Mappings to the data stores of buffer objects may have nonstandard performance characteristics. For example, such mappings may be marked as uncacheable regions of memory, and in such cases reading from them may be very slow. To ensure optimal performance, the client should use the mapping in a fashion consistent with the values of $(D_INLINECODE GL_BUFFER_USAGE) for the buffer object and of $(D_INLINECODE access). Using a mapping in a fashion inconsistent with these values is liable to be multiple orders of magnitude slower than using normal memory.
15124      + 
15125      + Alignment of the returned pointer is guaranteed only if the version of the GL version is 4.2 or greater. Also, the $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is accepted only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
15126      + 
15127      + Params:
15128      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glMapBuffer), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
15129      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glMapNamedBuffer).
15130      +     access = Specifies the access policy for $(D_INLINECODE glMapBuffer) and $(D_INLINECODE glMapNamedBuffer), indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be $(D_INLINECODE GL_READ_ONLY), $(D_INLINECODE GL_WRITE_ONLY), or $(D_INLINECODE GL_READ_WRITE).
15131      + 
15132      + Copyright:
15133      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15134      + 
15135      + See_Also:
15136      +     $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glBufferData), $(D_INLINECODE glBufferSubData), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glMapBufferRange), $(D_INLINECODE glUnmapBuffer)
15137      +/
15138     @OpenGL_Version(OGLIntroducedIn.V1P5)
15139     fn_glMapBuffer glMapBuffer;
15140     alias fn_glMapNamedBuffer = extern(C) void* function(GLuint buffer, GLenum access) @system @nogc nothrow;
15141     /// Ditto
15142     @OpenGL_Version(OGLIntroducedIn.V4P5)
15143     @OpenGL_Extension("GL_ARB_direct_state_access")
15144     fn_glMapNamedBuffer glMapNamedBuffer;
15145     alias fn_glMapBufferRange = extern(C) void* function(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) @system @nogc nothrow;
15146 
15147     /++
15148      + glMapBufferRange: man4/glMapBufferRange.xml
15149      + 
15150      + $(D_INLINECODE glMapBufferRange) and $(D_INLINECODE glMapNamedBufferRange) map all or part of the data store of a specified buffer object into the client's address space. $(D_INLINECODE offset) and $(D_INLINECODE length) indicate the range of data in the buffer object that is to be mapped, in terms of basic machine units. $(D_INLINECODE access) is a bitfield containing flags which describe the requested mapping. These flags are described below. A pointer to the beginning of the mapped range is returned once all pending operations on the buffer object have completed, and may be used to modify and/or query the corresponding range of the data store according to the following flag bits set in $(D_INLINECODE access) : $(OL $(LI $(D_INLINECODE GL_MAP_READ_BIT) indicates that the returned pointer may be used to read buffer object data. No GL error is generated if the pointer is used to query a mapping which excludes this flag, but the result is undefined and system errors (possibly including program termination) may occur.) $(LI $(D_INLINECODE GL_MAP_WRITE_BIT) indicates that the returned pointer may be used to modify buffer object data. No GL error is generated if the pointer is used to modify a mapping which excludes this flag, but the result is undefined and system errors (possibly including program termination) may occur.) $(LI $(D_INLINECODE GL_MAP_PERSISTENT_BIT) indicates that the mapping is to be made in a persistent fassion and that the client intends to hold and use the returned pointer during subsequent GL operation. It is not an error to call drawing commands (render) while buffers are mapped using this flag. It is an error to specify this flag if the buffer's data store was not allocated through a call to the $(D_INLINECODE glBufferStorage) command in which the $(D_INLINECODE GL_MAP_PERSISTENT_BIT) was also set.) $(LI $(D_INLINECODE GL_MAP_COHERENT_BIT) indicates that a persistent mapping is also to be coherent. Coherent maps guarantee that the effect of writes to a buffer's data store by either the client or server will eventually become visible to the other without further intervention from the application. In the absence of this bit, persistent mappings are not coherent and modified ranges of the buffer store must be explicitly communicated to the GL, either by unmapping the buffer, or through a call to $(D_INLINECODE glFlushMappedBufferRange) or $(D_INLINECODE glMemoryBarrier).)) The following flag bits in $(D_INLINECODE access) may be used to modify the mapping: $(OL $(LI $(D_INLINECODE GL_MAP_INVALIDATE_RANGE_BIT) indicates that the previous contents of the specified range may be discarded. Data within this range are undefined with the exception of subsequently written data. No GL error is generated if subsequent GL operations access unwritten data, but the result is undefined and system errors (possibly including program termination) may occur. This flag may not be used in combination with $(D_INLINECODE GL_MAP_READ_BIT).) $(LI $(D_INLINECODE GL_MAP_INVALIDATE_BUFFER_BIT) indicates that the previous contents of the entire buffer may be discarded. Data within the entire buffer are undefined with the exception of subsequently written data. No GL error is generated if subsequent GL operations access unwritten data, but the result is undefined and system errors (possibly including program termination) may occur. This flag may not be used in combination with $(D_INLINECODE GL_MAP_READ_BIT).) $(LI $(D_INLINECODE GL_MAP_FLUSH_EXPLICIT_BIT) indicates that one or more discrete subranges of the mapping may be modified. When this flag is set, modifications to each subrange must be explicitly flushed by calling $(D_INLINECODE glFlushMappedBufferRange). No GL error is set if a subrange of the mapping is modified and not flushed, but data within the corresponding subrange of the buffer are undefined. This flag may only be used in conjunction with $(D_INLINECODE GL_MAP_WRITE_BIT). When this option is selected, flushing is strictly limited to regions that are explicitly indicated with calls to $(D_INLINECODE glFlushMappedBufferRange) prior to unmap; if this option is not selected $(D_INLINECODE glUnmapBuffer) will automatically flush the entire mapped range when called.) $(LI $(D_INLINECODE GL_MAP_UNSYNCHRONIZED_BIT) indicates that the GL should not attempt to synchronize pending operations on the buffer prior to returning from $(D_INLINECODE glMapBufferRange) or $(D_INLINECODE glMapNamedBufferRange). No GL error is generated if pending operations which source or modify the buffer overlap the mapped region, but the result of such previous and any subsequent operations is undefined.)) If an error occurs, a $(D_INLINECODE null
15151      + ) pointer is returned. If no error occurs, the returned pointer will reflect an allocation aligned to the value of $(D_INLINECODE GL_MIN_MAP_BUFFER_ALIGNMENT) basic machine units. Subtracting $(D_INLINECODE offset) from this returned pointer will always produce a multiple of the value of $(D_INLINECODE GL_MIN_MAP_BUFFER_ALIGNMENT). The returned pointer values may not be passed as parameter values to GL commands. For example, they may not be used to specify array pointers, or to specify or query pixel or texture image data; such actions produce undefined results, although implementations may not check for such behavior for performance reasons. Mappings to the data stores of buffer objects may have nonstandard performance characteristics. For example, such mappings may be marked as uncacheable regions of memory, and in such cases reading from them may be very slow. To ensure optimal performance, the client should use the mapping in a fashion consistent with the values of $(D_INLINECODE GL_BUFFER_USAGE) for the buffer object and of $(D_INLINECODE access). Using a mapping in a fashion inconsistent with these values is liable to be multiple orders of magnitude slower than using normal memory.
15152      + 
15153      + Alignment of the returned pointer is guaranteed only if the version of the GL version is 4.2 or greater. Also, the $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is accepted only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are accepted only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater. The $(D_INLINECODE GL_MAP_PERSISTENT_BIT) and $(D_INLINECODE GL_MAP_COHERENT_BIT) flags are available only if the GL version is 4.4 or greater.
15154      + 
15155      + Params:
15156      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glMapBufferRange), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
15157      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glMapNamedBufferRange).
15158      +     offset = Specifies the starting offset within the buffer of the range to be mapped.
15159      +     length = Specifies the length of the range to be mapped.
15160      +     access = Specifies a combination of access flags indicating the desired access to the mapped range.
15161      + 
15162      + Copyright:
15163      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15164      + 
15165      + See_Also:
15166      +     $(D_INLINECODE glMapBuffer), $(D_INLINECODE glUnmapBuffer), $(D_INLINECODE glFlushMappedBufferRange), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferStorage)
15167      +/
15168     @OpenGL_Version(OGLIntroducedIn.V3P0)
15169     @OpenGL_Extension("GL_ARB_map_buffer_range")
15170     fn_glMapBufferRange glMapBufferRange;
15171     alias fn_glMapNamedBufferRange = extern(C) void* function(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) @system @nogc nothrow;
15172     /// Ditto
15173     @OpenGL_Version(OGLIntroducedIn.V4P5)
15174     @OpenGL_Extension("GL_ARB_direct_state_access")
15175     fn_glMapNamedBufferRange glMapNamedBufferRange;
15176     alias fn_glMemoryBarrier = extern(C) void function(GLbitfield barriers) @system @nogc nothrow;
15177 
15178     /++
15179      + glMemoryBarrier: man4/glMemoryBarrier.xml
15180      + 
15181      + $(D_INLINECODE glMemoryBarrier) defines a barrier ordering the memory transactions issued prior to the command relative to those issued after the barrier. For the purposes of this ordering, memory transactions performed by shaders are considered to be issued by the rendering command that triggered the execution of the shader. $(D_INLINECODE barriers) is a bitfield indicating the set of operations that are synchronized with shader stores; the bits used in $(D_INLINECODE barriers) are as follows: If $(D_INLINECODE barriers) is $(D_INLINECODE GL_ALL_BARRIER_BITS), shader memory accesses will be synchronized relative to all the operations described above. Implementations may cache buffer object and texture image memory that could be written by shaders in multiple caches; for example, there may be separate caches for texture, vertex fetching, and one or more caches for shader memory accesses.  Implementations are not required to keep these caches coherent with shader memory writes.  Stores issued by one invocation may not be immediately observable by other pipeline stages or other shader invocations because the value stored may remain in a cache local to the processor executing the store, or because data overwritten by the store is still in a cache elsewhere in the system. When $(D_INLINECODE glMemoryBarrier) is called, the GL flushes and/or invalidates any caches relevant to the operations specified by the $(D_INLINECODE barriers) parameter to ensure consistent ordering of operations across the barrier. To allow for independent shader invocations to communicate by reads and writes to a common memory address, image variables in the OpenGL Shading Language may be declared as "coherent".  Buffer object or texture image memory accessed through such variables may be cached only if caches are automatically updated due to stores issued by any other shader invocation. If the same address is accessed using both coherent and non-coherent variables, the accesses using variables declared as coherent will observe the results stored using coherent variables in other invocations.  Using variables declared as "coherent" guarantees only that the results of stores will be immediately visible to shader invocations using similarly-declared variables; calling $(D_INLINECODE glMemoryBarrier) is required to ensure that the stores are visible to other operations. The following guidelines may be helpful in choosing when to use coherent memory accesses and when to use barriers. $(OL $(LI Data that are read-only or constant may be accessed without using coherent variables or calling $(D_INLINECODE MemoryBarrier) (). Updates to the read-only data via API calls such as $(D_INLINECODE glBufferSubData) will invalidate shader caches implicitly as required.) $(LI Data that are shared between shader invocations at a fine granularity (e.g., written by one invocation, consumed by another invocation) should use coherent variables to read and write the shared data.) $(LI Data written by one shader invocation and consumed by other shader invocations launched as a result of its execution (&quot;dependent invocations&quot;) should use coherent variables in the producing shader invocation and call $(D_INLINECODE memoryBarrier) () after the last write. The consuming shader invocation should also use coherent variables.) $(LI Data written to image variables in one rendering pass and read by the shader in a later pass need not use coherent variables or memoryBarrier(). Calling $(D_INLINECODE glMemoryBarrier) with the SHADER_IMAGE_ACCESS_BARRIER_BIT set in $(D_INLINECODE barriers) between passes is necessary.) $(LI Data written by the shader in one rendering pass and read by another mechanism (e.g., vertex or index buffer pulling) in a later pass need not use coherent variables or $(D_INLINECODE memoryBarrier) (). Calling $(D_INLINECODE glMemoryBarrier) with the appropriate bits set in $(D_INLINECODE barriers) between passes is necessary.))
15182      + 
15183      + $(D_INLINECODE GL_SHADER_STORAGE_BARRIER_BIT) is available only if the GL version is 4.3 or higher. $(D_INLINECODE GL_QUERY_BUFFER_BARRIER_BIT) is available only if the GL version is 4.4 or higher.
15184      + 
15185      + Params:
15186      +     barriers = Specifies the barriers to insert. For $(D_INLINECODE glMemoryBarrier), must be a bitwise combination of any of $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT), $(D_INLINECODE GL_ELEMENT_ARRAY_BARRIER_BIT), $(D_INLINECODE GL_UNIFORM_BARRIER_BIT), $(D_INLINECODE GL_TEXTURE_FETCH_BARRIER_BIT), $(D_INLINECODE GL_SHADER_IMAGE_ACCESS_BARRIER_BIT), $(D_INLINECODE GL_COMMAND_BARRIER_BIT), $(D_INLINECODE GL_PIXEL_BUFFER_BARRIER_BIT), $(D_INLINECODE GL_TEXTURE_UPDATE_BARRIER_BIT), $(D_INLINECODE GL_BUFFER_UPDATE_BARRIER_BIT), $(D_INLINECODE GL_FRAMEBUFFER_BARRIER_BIT), $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BARRIER_BIT), $(D_INLINECODE GL_ATOMIC_COUNTER_BARRIER_BIT), or $(D_INLINECODE GL_SHADER_STORAGE_BARRIER_BIT). For $(D_INLINECODE glMemoryBarrier), must be a bitwise combination of any of $(D_INLINECODE GL_ATOMIC_COUNTER_BARRIER_BIT), or $(D_INLINECODE GL_FRAMEBUFFER_BARRIER_BIT), $(D_INLINECODE GL_SHADER_IMAGE_ACCESS_BARRIER_BIT), $(D_INLINECODE GL_SHADER_STORAGE_BARRIER_BIT). $(D_INLINECODE GL_TEXTURE_FETCH_BARRIER_BIT), or $(D_INLINECODE GL_UNIFORM_BARRIER_BIT). If the special value $(D_INLINECODE GL_ALL_BARRIER_BITS) is specified, all supported barriers for the corresponding command will be inserted.
15187      + 
15188      + Copyright:
15189      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15190      + 
15191      + See_Also:
15192      +     $(D_INLINECODE glBindImageTexture), $(D_INLINECODE glBufferData), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glMapBufferRange), $(D_INLINECODE glFlushMappedBufferRange), $(D_INLINECODE memoryBarrier)
15193      +/
15194     @OpenGL_Version(OGLIntroducedIn.V4P2)
15195     @OpenGL_Extension("GL_ARB_shader_image_load_store")
15196     fn_glMemoryBarrier glMemoryBarrier;
15197     alias fn_glMemoryBarrierByRegion = extern(C) void function(GLbitfield barriers) @system @nogc nothrow;
15198     /// Ditto
15199     @OpenGL_Version(OGLIntroducedIn.V4P5)
15200     @OpenGL_Extension("GL_ARB_ES3_1_compatibility")
15201     fn_glMemoryBarrierByRegion glMemoryBarrierByRegion;
15202     alias fn_glMinSampleShading = extern(C) void function(GLfloat value) @system @nogc nothrow;
15203 
15204     /++
15205      + glMinSampleShading: man4/glMinSampleShading.xml
15206      + 
15207      + $(D_INLINECODE glMinSampleShading) specifies the rate at which samples are shaded within a covered pixel. Sample-rate shading is enabled by calling $(D_INLINECODE glEnable) with the parameter $(D_INLINECODE GL_SAMPLE_SHADING). If $(D_INLINECODE GL_MULTISAMPLE) or $(D_INLINECODE GL_SAMPLE_SHADING) is disabled, sample shading has no effect. Otherwise, an implementation must provide at least as many unique color values for each covered fragment as specified by $(D_INLINECODE value) times $(D_INLINECODE samples) where $(D_INLINECODE samples) is the value of $(D_INLINECODE GL_SAMPLES) for the current framebuffer. At least 1 sample for each covered fragment is generated. A $(D_INLINECODE value) of 1.0 indicates that each sample in the framebuffer should be indpendently shaded. A $(D_INLINECODE value) of 0.0 effectively allows the GL to ignore sample rate shading. Any value between 0.0 and 1.0 allows the GL to shade only a subset of the total samples within each covered fragment. Which samples are shaded and the algorithm used to select that subset of the fragment's samples is implementation dependent.
15208      + 
15209      + The type of the $(D_INLINECODE value) parameter was changed from GLclampf to GLfloat. This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
15210      + 
15211      + Params:
15212      +     value = Specifies the rate at which samples are shaded within each covered pixel.
15213      + 
15214      + Copyright:
15215      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15216      + 
15217      + See_Also:
15218      +     $(D_INLINECODE removedTypes)
15219      +/
15220     @OpenGL_Version(OGLIntroducedIn.V4P0)
15221     fn_glMinSampleShading glMinSampleShading;
15222     alias fn_glMultiDrawArrays = extern(C) void function(GLenum mode, const GLint* first, const GLsizei* count, GLsizei drawcount) @system @nogc nothrow;
15223 
15224     /++
15225      + glMultiDrawArrays: man4/glMultiDrawArrays.xml
15226      + 
15227      + $(D_INLINECODE glMultiDrawArrays) specifies multiple sets of geometric primitives with very few subroutine calls. Instead of calling a GL procedure to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and colors and use them to construct a sequence of primitives with a single call to $(D_INLINECODE glMultiDrawArrays). $(D_INLINECODE glMultiDrawArrays) behaves identically to $(D_INLINECODE glDrawArrays) except that $(D_INLINECODE drawcount) separate ranges of elements are specified instead. When $(D_INLINECODE glMultiDrawArrays) is called, it uses $(D_INLINECODE count) sequential elements from each enabled array to construct a sequence of geometric primitives, beginning with element $(D_INLINECODE first). $(D_INLINECODE mode) specifies what kind of primitives are constructed, and how the array elements construct those primitives. Vertex attributes that are modified by $(D_INLINECODE glMultiDrawArrays) have an unspecified value after $(D_INLINECODE glMultiDrawArrays) returns. Attributes that aren't modified remain well defined.
15228      + 
15229      + $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
15230      + 
15231      + Params:
15232      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
15233      +     first     = Points to an array of starting indices in the enabled arrays.
15234      +     count     = Points to an array of the number of indices to be rendered.
15235      +     drawcount = Specifies the size of the first and count
15236      + 
15237      + Copyright:
15238      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15239      + 
15240      + See_Also:
15241      +     $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements)
15242      +/
15243     @OpenGL_Version(OGLIntroducedIn.V1P4)
15244     fn_glMultiDrawArrays glMultiDrawArrays;
15245     alias fn_glMultiDrawArraysIndirect = extern(C) void function(GLenum mode, const void* indirect, GLsizei drawcount, GLsizei stride) @system @nogc nothrow;
15246 
15247     /++
15248      + glMultiDrawArraysIndirect: man4/glMultiDrawArraysIndirect.xml
15249      + 
15250      + $(D_INLINECODE glMultiDrawArraysIndirect) specifies multiple geometric primitives with very few subroutine calls. $(D_INLINECODE glMultiDrawArraysIndirect) behaves similarly to a multitude of calls to $(D_INLINECODE glDrawArraysInstancedBaseInstance), execept that the parameters to each call to $(D_INLINECODE glDrawArraysInstancedBaseInstance) are stored in an array in memory at the address given by $(D_INLINECODE indirect), separated by the stride, in basic machine units, specified by $(D_INLINECODE stride). If $(D_INLINECODE stride) is zero, then the array is assumed to be tightly packed in memory. The parameters addressed by $(D_INLINECODE indirect) are packed into an array of structures, each element of which takes the form (in C):
15251      + 
15252      + ---
15253      + typedef  struct {
15254      +     uint  count;
15255      +     uint  instanceCount;
15256      +     uint  first;
15257      +     uint  baseInstance;
15258      + } DrawArraysIndirectCommand;
15259      + ---
15260      +  A single call to $(D_INLINECODE glMultiDrawArraysIndirect) is equivalent, assuming no errors are generated to:
15261      + 
15262      + ---
15263      + GLsizei n;
15264      + for (n = 0; n &lt; drawcount; n++) {
15265      +     const DrawArraysIndirectCommand *cmd;
15266      +     if (stride != 0) {
15267      +         cmd = (const DrawArraysIndirectCommand  *)((uintptr)indirect + n * stride);
15268      +     } else  {
15269      +         cmd = (const DrawArraysIndirectCommand  *)indirect + n;
15270      +     }
15271      + 
15272      +     glDrawArraysInstancedBaseInstance(mode, cmd-&gt;first, cmd-&gt;count, cmd-&gt;instanceCount, cmd-&gt;baseInstance);
15273      + }
15274      + ---
15275      +  If a buffer is bound to the $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) binding at the time of a call to $(D_INLINECODE glMultiDrawArraysIndirect), $(D_INLINECODE indirect) is interpreted as an offset, in basic machine units, into that buffer and the parameter data is read from the buffer rather than from client memory. In contrast to $(D_INLINECODE glDrawArraysInstancedBaseInstance), the $(D_INLINECODE first) member of the parameter structure is unsigned, and out-of-range indices do not generate an error. Vertex attributes that are modified by $(D_INLINECODE glMultiDrawArraysIndirect) have an unspecified value after $(D_INLINECODE glMultiDrawArraysIndirect) returns. Attributes that aren't modified remain well defined.
15276      + 
15277      + The $(D_INLINECODE baseInstance) member of the $(D_INLINECODE DrawArraysIndirectCommand) structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, this parameter is present but is reserved and should be set to zero. On earlier versions of the GL, behavior is undefined if it is non-zero. $(D_INLINECODE glMultiDrawArraysIndirect) is available only if the GL version is 4.3 or greater.
15278      + 
15279      + Params:
15280      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
15281      +     indirect  = Specifies the address of an array of structures containing the draw parameters.
15282      +     drawcount = Specifies the the number of elements in the array of draw parameter structures.
15283      +     stride    = Specifies the distance in basic machine units between elements of the draw parameter array.
15284      + 
15285      + Copyright:
15286      +     Copyright&copy; 2012-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15287      + 
15288      + See_Also:
15289      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawArraysIndirect), $(D_INLINECODE glMultiDrawElementsIndirect)
15290      +/
15291     @OpenGL_Version(OGLIntroducedIn.V4P3)
15292     @OpenGL_Extension("GL_ARB_multi_draw_indirect")
15293     fn_glMultiDrawArraysIndirect glMultiDrawArraysIndirect;
15294     alias fn_glMultiDrawElements = extern(C) void function(GLenum mode, const GLsizei* count, GLenum type, const(const(GLvoid*)*) indices, GLsizei drawcount) @system @nogc nothrow;
15295 
15296     /++
15297      + glMultiDrawElements: man4/glMultiDrawElements.xml
15298      + 
15299      + $(D_INLINECODE glMultiDrawElements) specifies multiple sets of geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each individual vertex, normal, texture coordinate, edge flag, or color, you can prespecify separate arrays of vertices, normals, and so on, and use them to construct a sequence of primitives with a single call to $(D_INLINECODE glMultiDrawElements). $(D_INLINECODE glMultiDrawElements) is identical in operation to $(D_INLINECODE glDrawElements) except that $(D_INLINECODE drawcount) separate lists of elements are specified. Vertex attributes that are modified by $(D_INLINECODE glMultiDrawElements) have an unspecified value after $(D_INLINECODE glMultiDrawElements) returns. Attributes that aren't modified maintain their previous values.
15300      + 
15301      + $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
15302      + 
15303      + Params:
15304      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
15305      +     count     = Points to an array of the elements counts.
15306      +     type      = Specifies the type of the values in $(D_INLINECODE indices). Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
15307      +     indices   = Specifies a pointer to the location where the indices are stored.
15308      +     drawcount = Specifies the size of the $(D_INLINECODE count) and $(D_INLINECODE indices) arrays.
15309      + 
15310      + Copyright:
15311      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15312      + 
15313      + See_Also:
15314      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawRangeElements)
15315      +/
15316     @OpenGL_Version(OGLIntroducedIn.V1P4)
15317     fn_glMultiDrawElements glMultiDrawElements;
15318     alias fn_glMultiDrawElementsBaseVertex = extern(C) void function(GLenum mode, const GLsizei* count, GLenum type, const(const(GLvoid*)*) indices, GLsizei drawcount, const GLint* basevertex) @system @nogc nothrow;
15319 
15320     /++
15321      + glMultiDrawElementsBaseVertex: man4/glMultiDrawElementsBaseVertex.xml
15322      + 
15323      + $(D_INLINECODE glMultiDrawElementsBaseVertex) behaves identically to $(D_INLINECODE glDrawElementsBaseVertex), except that $(D_INLINECODE drawcount) separate lists of elements are specifried instead. It has the same effect as:
15324      + 
15325      + ---
15326      + for (int i = 0; i &lt;  $(D_INLINECODE drawcount); i++)
15327      +     if ( $(D_INLINECODE count)[i] &gt; 0)
15328      +         glDrawElementsBaseVertex( $(D_INLINECODE mode),
15329      +                                   $(D_INLINECODE count)[i],
15330      +                                   $(D_INLINECODE type),
15331      +                                   $(D_INLINECODE indices[i]),
15332      +                                   $(D_INLINECODE basevertex[i]));
15333      + ---
15334      + 
15335      + 
15336      + $(D_INLINECODE glMultiDrawElementsBaseVertex) is available only if the GL version is 3.1 or greater. $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY) and $(D_INLINECODE GL_TRIANGLES_ADJACENCY) are available only if the GL version is 3.2 or greater.
15337      + 
15338      + Params:
15339      +     mode       = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY) and $(D_INLINECODE GL_PATCHES) are accepted.
15340      +     count      = Points to an array of the elements counts.
15341      +     type       = Specifies the type of the values in $(D_INLINECODE indices). Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), or $(D_INLINECODE GL_UNSIGNED_INT).
15342      +     indices    = Specifies a pointer to the location where the indices are stored.
15343      +     drawcount  = Specifies the size of the $(D_INLINECODE count), $(D_INLINECODE indices) and $(D_INLINECODE basevertex) arrays.
15344      +     basevertex = Specifies a pointer to the location where the base vertices are stored.
15345      + 
15346      + Copyright:
15347      +     Copyright&copy; 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15348      + 
15349      + See_Also:
15350      +     $(D_INLINECODE glMultiDrawElements), $(D_INLINECODE glDrawElementsBaseVertex), $(D_INLINECODE glDrawArrays), $(D_INLINECODE glVertexAttribPointer)
15351      +/
15352     @OpenGL_Version(OGLIntroducedIn.V3P2)
15353     @OpenGL_Extension("GL_ARB_draw_elements_base_vertex")
15354     fn_glMultiDrawElementsBaseVertex glMultiDrawElementsBaseVertex;
15355     alias fn_glMultiDrawElementsIndirect = extern(C) void function(GLenum mode, GLenum type, const void* indirect, GLsizei drawcount, GLsizei stride) @system @nogc nothrow;
15356 
15357     /++
15358      + glMultiDrawElementsIndirect: man4/glMultiDrawElementsIndirect.xml
15359      + 
15360      + $(D_INLINECODE glMultiDrawElementsIndirect) specifies multiple indexed geometric primitives with very few subroutine calls. $(D_INLINECODE glMultiDrawElementsIndirect) behaves similarly to a multitude of calls to $(D_INLINECODE glDrawElementsInstancedBaseVertexBaseInstance), execpt that the parameters to $(D_INLINECODE glDrawElementsInstancedBaseVertexBaseInstance) are stored in an array in memory at the address given by $(D_INLINECODE indirect), separated by the stride, in basic machine units, specified by $(D_INLINECODE stride). If $(D_INLINECODE stride) is zero, then the array is assumed to be tightly packed in memory. The parameters addressed by $(D_INLINECODE indirect) are packed into a structure that takes the form (in C):
15361      + 
15362      + ---
15363      + typedef  struct {
15364      +     uint  count;
15365      +     uint  instanceCount;
15366      +     uint  firstIndex;
15367      +     uint  baseVertex;
15368      +     uint  baseInstance;
15369      + } DrawElementsIndirectCommand;
15370      + ---
15371      +  A single call to $(D_INLINECODE glMultiDrawElementsIndirect) is equivalent, assuming no errors are generated to:
15372      + 
15373      + ---
15374      + GLsizei n;
15375      + for (n = 0; n &lt; drawcount; n++) {
15376      +     const DrawElementsIndirectCommand *cmd;
15377      +     if (stride != 0) {
15378      +         cmd = (const DrawElementsIndirectCommand  *)((uintptr)indirect + n * stride);
15379      +     } else {
15380      +         cmd = (const DrawElementsIndirectCommand  *)indirect + n;
15381      +     }
15382      + 
15383      +     glDrawElementsInstancedBaseVertexBaseInstance(mode,
15384      +                                                   cmd-&gt;count,
15385      +                                                   type,
15386      +                                                   cmd-&gt;firstIndex + size-of-type,
15387      +                                                   cmd-&gt;instanceCount,
15388      +                                                   cmd-&gt;baseVertex,
15389      +                                                   cmd-&gt;baseInstance);
15390      + }
15391      + ---
15392      +  If a buffer is bound to the $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) binding at the time of a call to $(D_INLINECODE glDrawElementsIndirect), $(D_INLINECODE indirect) is interpreted as an offset, in basic machine units, into that buffer and the parameter data is read from the buffer rather than from client memory. Note that indices stored in client memory are not supported. If no buffer is bound to the $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) binding, an error will be generated. The results of the operation are undefined if the $(D_INLINECODE reservedMustBeZero) member of the parameter structure is non-zero. However, no error is generated in this case. Vertex attributes that are modified by $(D_INLINECODE glDrawElementsIndirect) have an unspecified value after $(D_INLINECODE glDrawElementsIndirect) returns. Attributes that aren't modified remain well defined.
15393      + 
15394      + The $(D_INLINECODE baseInstance) member of the $(D_INLINECODE DrawElementsIndirectCommand) structure is defined only if the GL version is 4.2 or greater. For versions of the GL less than 4.2, this parameter is present but is reserved and should be set to zero. On earlier versions of the GL, behavior is undefined if it is non-zero.
15395      + 
15396      + Params:
15397      +     mode      = Specifies what kind of primitives to render. Symbolic constants $(D_INLINECODE GL_POINTS), $(D_INLINECODE GL_LINE_STRIP), $(D_INLINECODE GL_LINE_LOOP), $(D_INLINECODE GL_LINES), $(D_INLINECODE GL_LINE_STRIP_ADJACENCY), $(D_INLINECODE GL_LINES_ADJACENCY), $(D_INLINECODE GL_TRIANGLE_STRIP), $(D_INLINECODE GL_TRIANGLE_FAN), $(D_INLINECODE GL_TRIANGLES), $(D_INLINECODE GL_TRIANGLE_STRIP_ADJACENCY), $(D_INLINECODE GL_TRIANGLES_ADJACENCY), and $(D_INLINECODE GL_PATCHES) are accepted.
15398      +     type      = Specifies the type of data in the buffer bound to the $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) binding.
15399      +     indirect  = Specifies the address of a structure containing an array of draw parameters.
15400      +     drawcount = Specifies the number of elements in the array addressed by $(D_INLINECODE indirect).
15401      +     stride    = Specifies the distance in basic machine units between elements of the draw parameter array.
15402      + 
15403      + Copyright:
15404      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15405      + 
15406      + See_Also:
15407      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawArraysIndirect), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawElementsIndirect), $(D_INLINECODE glMultiDrawArraysIndirect)
15408      +/
15409     @OpenGL_Version(OGLIntroducedIn.V4P3)
15410     @OpenGL_Extension("GL_ARB_multi_draw_indirect")
15411     fn_glMultiDrawElementsIndirect glMultiDrawElementsIndirect;
15412     alias fn_glReadBuffer = extern(C) void function(GLenum mode) @system @nogc nothrow;
15413 
15414     /++
15415      + glNamedFramebufferReadBuffer: man4/glReadBuffer.xml
15416      + 
15417      + $(D_INLINECODE glReadBuffer) specifies a color buffer as the source for subsequent $(D_INLINECODE glReadPixels), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), and $(D_INLINECODE glCopyTexSubImage3D) commands. $(D_INLINECODE mode) accepts one of twelve or more predefined values. In a fully configured system, $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_LEFT), and $(D_INLINECODE GL_FRONT_LEFT) all name the front left buffer, $(D_INLINECODE GL_FRONT_RIGHT) and $(D_INLINECODE GL_RIGHT) name the front right buffer, and $(D_INLINECODE GL_BACK_LEFT) and $(D_INLINECODE GL_BACK) name the back left buffer. Further more, the constants $(D_INLINECODE GL_COLOR_ATTACHMENT) may be used to indicate the<sup> th</sup> color attachment where ranges from zero to the value of $(D_INLINECODE GL_MAX_COLOR_ATTACHMENTS) minus one. Nonstereo double-buffered configurations have only a front left and a back left buffer. Single-buffered configurations have a front left and a front right buffer if stereo, and only a front left buffer if nonstereo. It is an error to specify a nonexistent buffer to $(D_INLINECODE glReadBuffer). $(D_INLINECODE mode) is initially $(D_INLINECODE GL_FRONT) in single-buffered configurations and $(D_INLINECODE GL_BACK) in double-buffered configurations. For $(D_INLINECODE glReadBuffer), the target framebuffer object is that bound to $(D_INLINECODE GL_READ_FRAMEBUFFER). For $(D_INLINECODE glNamedFramebufferReadBuffer), $(D_INLINECODE framebuffer) must either be zero or the name of the target framebuffer object. If $(D_INLINECODE framebuffer) is zero, then the default read framebuffer is affected.
15418      + 
15419      + Params:
15420      +     framebuffer = Specifies the name of the framebuffer object for $(D_INLINECODE glNamedFramebufferReadBuffer) function.
15421      +     mode        = Specifies a color buffer. Accepted values are $(D_INLINECODE GL_FRONT_LEFT), $(D_INLINECODE GL_FRONT_RIGHT), $(D_INLINECODE GL_BACK_LEFT), $(D_INLINECODE GL_BACK_RIGHT), $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), $(D_INLINECODE GL_LEFT), $(D_INLINECODE GL_RIGHT), and the constants $(D_INLINECODE GL_COLOR_ATTACHMENT).
15422      + 
15423      + Copyright:
15424      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15425      + 
15426      + See_Also:
15427      +     $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glDrawBuffer), $(D_INLINECODE glReadPixels)
15428      +/
15429     @OpenGL_Version(OGLIntroducedIn.V1P0)
15430     fn_glReadBuffer glReadBuffer;
15431     alias fn_glNamedFramebufferReadBuffer = extern(C) void function(GLuint framebuffer, GLenum mode) @system @nogc nothrow;
15432     /// Ditto
15433     @OpenGL_Version(OGLIntroducedIn.V4P5)
15434     @OpenGL_Extension("GL_ARB_direct_state_access")
15435     fn_glNamedFramebufferReadBuffer glNamedFramebufferReadBuffer;
15436     alias fn_glRenderbufferStorage = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
15437 
15438     /++
15439      + glNamedRenderbufferStorage: man4/glRenderbufferStorage.xml
15440      + 
15441      + $(D_INLINECODE glRenderbufferStorage) is equivalent to calling $(D_INLINECODE glRenderbufferStorageMultisample) with the $(D_INLINECODE samples) set to zero, and $(D_INLINECODE glNamedRenderbufferStorage) is equivalent to calling $(D_INLINECODE glNamedRenderbufferStorageMultisample) with the samples set to zero. For $(D_INLINECODE glRenderbufferStorage), the target of the operation, specified by $(D_INLINECODE target) must be $(D_INLINECODE GL_RENDERBUFFER). For $(D_INLINECODE glNamedRenderbufferStorage), $(D_INLINECODE renderbuffer) must be a name of an existing renderbuffer object. $(D_INLINECODE internalformat) specifies the internal format to be used for the renderbuffer object's storage and must be a color-renderable, depth-renderable, or stencil-renderable format. $(D_INLINECODE width) and $(D_INLINECODE height) are the dimensions, in pixels, of the renderbuffer. Both $(D_INLINECODE width) and $(D_INLINECODE height) must be less than or equal to the value of $(D_INLINECODE GL_MAX_RENDERBUFFER_SIZE). Upon success, $(D_INLINECODE glRenderbufferStorage) and $(D_INLINECODE glNamedRenderbufferStorage) delete any existing data store for the renderbuffer image and the contents of the data store after calling $(D_INLINECODE glRenderbufferStorage) are undefined.
15442      + 
15443      + Params:
15444      +     target         = Specifies a binding target of the allocation for $(D_INLINECODE glRenderbufferStorage) function. Must be $(D_INLINECODE GL_RENDERBUFFER).
15445      +     renderbuffer   = Specifies the name of the renderbuffer object for $(D_INLINECODE glNamedRenderbufferStorage) function.
15446      +     internalformat = Specifies the internal format to use for the renderbuffer object's image.
15447      +     width          = Specifies the width of the renderbuffer, in pixels.
15448      +     height         = Specifies the height of the renderbuffer, in pixels.
15449      + 
15450      + Copyright:
15451      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15452      + 
15453      + See_Also:
15454      +     $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glBindRenderbuffer), $(D_INLINECODE glNamedRenderbufferStorageMultisample), $(D_INLINECODE glRenderbufferStorageMultisample), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glDeleteRenderbuffers)
15455      +/
15456     @OpenGL_Version(OGLIntroducedIn.V3P0)
15457     @OpenGL_Extension("GL_ARB_framebuffer_object")
15458     fn_glRenderbufferStorage glRenderbufferStorage;
15459     alias fn_glNamedRenderbufferStorage = extern(C) void function(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
15460     /// Ditto
15461     @OpenGL_Version(OGLIntroducedIn.V4P5)
15462     @OpenGL_Extension("GL_ARB_direct_state_access")
15463     fn_glNamedRenderbufferStorage glNamedRenderbufferStorage;
15464     alias fn_glRenderbufferStorageMultisample = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
15465 
15466     /++
15467      + glNamedRenderbufferStorageMultisample: man4/glRenderbufferStorageMultisample.xml
15468      + 
15469      + $(D_INLINECODE glRenderbufferStorageMultisample) and $(D_INLINECODE glNamedRenderbufferStorageMultisample) establish the data storage, format, dimensions and number of samples of a renderbuffer object's image. For $(D_INLINECODE glRenderbufferStorageMultisample), the target of the operation, specified by $(D_INLINECODE target) must be $(D_INLINECODE GL_RENDERBUFFER). For $(D_INLINECODE glNamedRenderbufferStorageMultisample), $(D_INLINECODE renderbuffer) must be an ID of an existing renderbuffer object. $(D_INLINECODE internalformat) specifies the internal format to be used for the renderbuffer object's storage and must be a color-renderable, depth-renderable, or stencil-renderable format. $(D_INLINECODE width) and $(D_INLINECODE height) are the dimensions, in pixels, of the renderbuffer. Both $(D_INLINECODE width) and $(D_INLINECODE height) must be less than or equal to the value of $(D_INLINECODE GL_MAX_RENDERBUFFER_SIZE). $(D_INLINECODE samples) specifies the number of samples to be used for the renderbuffer object's image, and must be less than or equal to the value of $(D_INLINECODE GL_MAX_SAMPLES). If $(D_INLINECODE internalformat) is a signed or unsigned integer format then $(D_INLINECODE samples) must be less than or equal to the value of $(D_INLINECODE GL_MAX_INTEGER_SAMPLES). Upon success, $(D_INLINECODE glRenderbufferStorageMultisample) and $(D_INLINECODE glNamedRenderbufferStorageMultisample) delete any existing data store for the renderbuffer image and the contents of the data store after calling either of the functions are undefined.
15470      + 
15471      + Params:
15472      +     target         = Specifies a binding target of the allocation for $(D_INLINECODE glRenderbufferStorageMultisample) function. Must be $(D_INLINECODE GL_RENDERBUFFER).
15473      +     renderbuffer   = Specifies the name of the renderbuffer object for $(D_INLINECODE glNamedRenderbufferStorageMultisample) function.
15474      +     samples        = Specifies the number of samples to be used for the renderbuffer object's storage.
15475      +     internalformat = Specifies the internal format to use for the renderbuffer object's image.
15476      +     width          = Specifies the width of the renderbuffer, in pixels.
15477      +     height         = Specifies the height of the renderbuffer, in pixels.
15478      + 
15479      + Copyright:
15480      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15481      + 
15482      + See_Also:
15483      +     $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glBindRenderbuffer), $(D_INLINECODE glNamedRenderbufferStorage), $(D_INLINECODE glRenderbufferStorage), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glDeleteRenderbuffers)
15484      +/
15485     @OpenGL_Version(OGLIntroducedIn.V3P0)
15486     @OpenGL_Extension("GL_ARB_framebuffer_object")
15487     fn_glRenderbufferStorageMultisample glRenderbufferStorageMultisample;
15488     alias fn_glNamedRenderbufferStorageMultisample = extern(C) void function(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
15489     /// Ditto
15490     @OpenGL_Version(OGLIntroducedIn.V4P5)
15491     @OpenGL_Extension("GL_ARB_direct_state_access")
15492     fn_glNamedRenderbufferStorageMultisample glNamedRenderbufferStorageMultisample;
15493     alias fn_glObjectLabel = extern(C) void function(GLenum identifier, GLuint name, GLsizei length, const char* label) @system @nogc nothrow;
15494 
15495     /++
15496      + glObjectLabel: man4/glObjectLabel.xml
15497      + 
15498      + $(D_INLINECODE glObjectLabel) labels the object identified by $(D_INLINECODE name) within the namespace given by $(D_INLINECODE identifier). $(D_INLINECODE identifier) must be one of $(D_INLINECODE GL_BUFFER), $(D_INLINECODE GL_SHADER), $(D_INLINECODE GL_PROGRAM), $(D_INLINECODE GL_VERTEX_ARRAY), $(D_INLINECODE GL_QUERY), $(D_INLINECODE GL_PROGRAM_PIPELINE), $(D_INLINECODE GL_TRANSFORM_FEEDBACK), $(D_INLINECODE GL_SAMPLER), $(D_INLINECODE GL_TEXTURE), $(D_INLINECODE GL_RENDERBUFFER), $(D_INLINECODE GL_FRAMEBUFFER), to indicate the namespace containing the names of buffers, shaders, programs, vertex array objects, query objects, program pipelines, transform feedback objects, samplers, textures, renderbuffers and frame buffers, respectively. $(D_INLINECODE label) is the address of a string that will be used to label an object. $(D_INLINECODE length) contains the number of characters in $(D_INLINECODE label). If $(D_INLINECODE length) is negative, it is implied that $(D_INLINECODE label) contains a null-terminated string. If $(D_INLINECODE label) is null, any debug label is effectively removed from the object.
15499      + 
15500      + Params:
15501      +     identifier = The namespace from which the name of the object is allocated.
15502      +     name       = The name of the object to label.
15503      +     length     = The length of the label to be used for the object.
15504      +     label      = The address of a string containing the label to assign to the object.
15505      + 
15506      + Copyright:
15507      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15508      + 
15509      + See_Also:
15510      +     $(D_INLINECODE glPushDebugGroup), $(D_INLINECODE glPopDebugGroup), $(D_INLINECODE glObjectPtrLabel).
15511      +/
15512     @OpenGL_Version(OGLIntroducedIn.V4P3)
15513     @OpenGL_Extension("GL_KHR_debug")
15514     fn_glObjectLabel glObjectLabel;
15515     alias fn_glObjectPtrLabel = extern(C) void function(void* ptr, GLsizei length, const char* label) @system @nogc nothrow;
15516 
15517     /++
15518      + glObjectPtrLabel: man4/glObjectPtrLabel.xml
15519      + 
15520      + $(D_INLINECODE glObjectPtrLabel) labels the sync object identified by $(D_INLINECODE ptr). $(D_INLINECODE label) is the address of a string that will be used to label the object. $(D_INLINECODE length) contains the number of characters in $(D_INLINECODE label). If $(D_INLINECODE length) is negative, it is implied that $(D_INLINECODE label) contains a null-terminated string. If $(D_INLINECODE label) is null, any debug label is effectively removed from the object.
15521      + 
15522      + Params:
15523      +     ptr    = A pointer identifying a sync object.
15524      +     length = The length of the label to be used for the object.
15525      +     label  = The address of a string containing the label to assign to the object.
15526      + 
15527      + Copyright:
15528      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15529      + 
15530      + See_Also:
15531      +     $(D_INLINECODE glPushDebugGroup), $(D_INLINECODE glPopDebugGroup), $(D_INLINECODE glObjectLabel).
15532      +/
15533     @OpenGL_Version(OGLIntroducedIn.V4P3)
15534     @OpenGL_Extension("GL_KHR_debug")
15535     fn_glObjectPtrLabel glObjectPtrLabel;
15536     alias fn_glPatchParameteri = extern(C) void function(GLenum pname, GLint value) @system @nogc nothrow;
15537 
15538     /++
15539      + glPatchParameter: man4/glPatchParameter.xml
15540      + 
15541      + $(D_INLINECODE glPatchParameter) specifies the parameters that will be used for patch primitives. $(D_INLINECODE pname) specifies the parameter to modify and must be either $(D_INLINECODE GL_PATCH_VERTICES), $(D_INLINECODE GL_PATCH_DEFAULT_OUTER_LEVEL) or $(D_INLINECODE GL_PATCH_DEFAULT_INNER_LEVEL). For $(D_INLINECODE glPatchParameteri), $(D_INLINECODE value) specifies the new value for the parameter specified by $(D_INLINECODE pname). For $(D_INLINECODE glPatchParameterfv), $(D_INLINECODE values) specifies the address of an array containing the new values for the parameter specified by $(D_INLINECODE pname). When $(D_INLINECODE pname) is $(D_INLINECODE GL_PATCH_VERTICES), $(D_INLINECODE value) specifies the number of vertices that will be used to make up a single patch primitive. Patch primitives are consumed by the tessellation control shader (if present) and subsequently used for tessellation. When primitives are specified using $(D_INLINECODE glDrawArrays) or a similar function, each patch will be made from $(D_INLINECODE parameter) control points, each represented by a vertex taken from the enabeld vertex arrays. $(D_INLINECODE parameter) must be greater than zero, and less than or equal to the value of $(D_INLINECODE GL_MAX_PATCH_VERTICES). When $(D_INLINECODE pname) is $(D_INLINECODE GL_PATCH_DEFAULT_OUTER_LEVEL) or $(D_INLINECODE GL_PATCH_DEFAULT_INNER_LEVEL), $(D_INLINECODE values) contains the address of an array contiaining the default outer or inner tessellation levels, respectively, to be used when no tessellation control shader is present.
15542      + 
15543      + Params:
15544      +     pname  = Specifies the name of the parameter to set. The symbolc constants $(D_INLINECODE GL_PATCH_VERTICES), $(D_INLINECODE GL_PATCH_DEFAULT_OUTER_LEVEL), and $(D_INLINECODE GL_PATCH_DEFAULT_INNER_LEVEL) are accepted.
15545      +     value  = Specifies the new value for the parameter given by $(D_INLINECODE pname).
15546      +     values = Specifies the address of an array containing the new values for the parameter given by $(D_INLINECODE pname).
15547      + 
15548      + Copyright:
15549      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15550      + 
15551      + See_Also:
15552      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawArraysInstanced), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements),
15553      +/
15554     @OpenGL_Version(OGLIntroducedIn.V4P0)
15555     @OpenGL_Extension("GL_ARB_tessellation_shader")
15556     fn_glPatchParameteri glPatchParameteri;
15557     alias fn_glPauseTransformFeedback = extern(C) void function() @system @nogc nothrow;
15558 
15559     /++
15560      + glPauseTransformFeedback: man4/glPauseTransformFeedback.xml
15561      + 
15562      + $(D_INLINECODE glPauseTransformFeedback) pauses transform feedback operations on the currently active transform feedback object. When transform feedback operations are paused, transform feedback is still considered active and changing most transform feedback state related to the object results in an error. However, a new transform feedback object may be bound while transform feedback is paused.
15563      + 
15564      + Params:
15565      + 
15566      + Copyright:
15567      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15568      + 
15569      + See_Also:
15570      +     $(D_INLINECODE glGenTransformFeedbacks), $(D_INLINECODE glBindTransformFeedback), $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glResumeTransformFeedback), $(D_INLINECODE glEndTransformFeedback), $(D_INLINECODE glDeleteTransformFeedbacks)
15571      +/
15572     @OpenGL_Version(OGLIntroducedIn.V4P0)
15573     @OpenGL_Extension("GL_ARB_transform_feedback2")
15574     fn_glPauseTransformFeedback glPauseTransformFeedback;
15575     alias fn_glPixelStoref = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
15576 
15577     /++
15578      + glPixelStore: man4/glPixelStore.xml
15579      + 
15580      + $(D_INLINECODE glPixelStore) sets pixel storage modes that affect the operation of subsequent $(D_INLINECODE glReadPixels) as well as the unpacking of texture patterns (see $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D) ), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D) or $(D_INLINECODE glCompressedTexSubImage1D). $(D_INLINECODE pname) is a symbolic constant indicating the parameter to be set, and $(D_INLINECODE param) is the new value.  Six of the twelve storage parameters affect how pixel data is returned to client memory. They are as follows: The other six of the twelve storage parameters affect how pixel data is read from client memory. These values are significant for $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), and $(D_INLINECODE glTexSubImage3D) They are as follows: The following table gives the type, initial value, and range of valid values for each storage parameter that can be set with $(D_INLINECODE glPixelStore). $(B $(D_INLINECODE pname)) $(B Type) $(B Initial Value) $(B Valid Range) $(D_INLINECODE GL_PACK_SWAP_BYTES) boolean false true or false $(D_INLINECODE GL_PACK_LSB_FIRST) boolean false true or false $(D_INLINECODE GL_PACK_ROW_LENGTH) integer 0 0 &infin; $(D_INLINECODE GL_PACK_IMAGE_HEIGHT) integer 0 0 &infin; $(D_INLINECODE GL_PACK_SKIP_ROWS) integer 0 0 &infin; $(D_INLINECODE GL_PACK_SKIP_PIXELS) integer 0 0 &infin; $(D_INLINECODE GL_PACK_SKIP_IMAGES) integer 0 0 &infin; $(D_INLINECODE GL_PACK_ALIGNMENT) integer 4 1, 2, 4, or 8 $(D_INLINECODE GL_UNPACK_SWAP_BYTES) boolean false true or false $(D_INLINECODE GL_UNPACK_LSB_FIRST) boolean false true or false $(D_INLINECODE GL_UNPACK_ROW_LENGTH) integer 0 0 &infin; $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT) integer 0 0 &infin; $(D_INLINECODE GL_UNPACK_SKIP_ROWS) integer 0 0 &infin; $(D_INLINECODE GL_UNPACK_SKIP_PIXELS) integer 0 0 &infin; $(D_INLINECODE GL_UNPACK_SKIP_IMAGES) integer 0 0 &infin; $(D_INLINECODE GL_UNPACK_ALIGNMENT) integer 4 1, 2, 4, or 8 $(D_INLINECODE glPixelStoref) can be used to set any pixel store parameter. If the parameter type is boolean, then if $(D_INLINECODE param) is 0, the parameter is false; otherwise it is set to true. If $(D_INLINECODE pname) is a integer type parameter, $(D_INLINECODE param) is rounded to the nearest integer. Likewise, $(D_INLINECODE glPixelStorei) can also be used to set any of the pixel store parameters. Boolean parameters are set to false if $(D_INLINECODE param) is 0 and true otherwise.
15581      + 
15582      + Params:
15583      +     pname = Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: $(D_INLINECODE GL_PACK_SWAP_BYTES), $(D_INLINECODE GL_PACK_LSB_FIRST), $(D_INLINECODE GL_PACK_ROW_LENGTH), $(D_INLINECODE GL_PACK_IMAGE_HEIGHT), $(D_INLINECODE GL_PACK_SKIP_PIXELS), $(D_INLINECODE GL_PACK_SKIP_ROWS), $(D_INLINECODE GL_PACK_SKIP_IMAGES), and $(D_INLINECODE GL_PACK_ALIGNMENT). Six more affect the unpacking of pixel data memory: $(D_INLINECODE GL_UNPACK_SWAP_BYTES), $(D_INLINECODE GL_UNPACK_LSB_FIRST), $(D_INLINECODE GL_UNPACK_ROW_LENGTH), $(D_INLINECODE GL_UNPACK_IMAGE_HEIGHT), $(D_INLINECODE GL_UNPACK_SKIP_PIXELS), $(D_INLINECODE GL_UNPACK_SKIP_ROWS), $(D_INLINECODE GL_UNPACK_SKIP_IMAGES), and $(D_INLINECODE GL_UNPACK_ALIGNMENT).
15584      +     param = Specifies the value that $(D_INLINECODE pname) is set to.
15585      + 
15586      + Copyright:
15587      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15588      + 
15589      + See_Also:
15590      +     $(D_INLINECODE glReadPixels), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage1D).
15591      +/
15592     @OpenGL_Version(OGLIntroducedIn.V1P0)
15593     fn_glPixelStoref glPixelStoref;
15594     alias fn_glPointParameterf = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
15595 
15596     /++
15597      + glPointParameter: man4/glPointParameter.xml
15598      + 
15599      + The following values are accepted for $(D_INLINECODE pname) :
15600      + 
15601      + Params:
15602      +     pname  = Specifies a single-valued point parameter. $(D_INLINECODE GL_POINT_FADE_THRESHOLD_SIZE), and $(D_INLINECODE GL_POINT_SPRITE_COORD_ORIGIN) are accepted.
15603      +     param  = For $(D_INLINECODE glPointParameterf) and $(D_INLINECODE glPointParameteri), specifies the value that $(D_INLINECODE pname) will be set to.
15604      +     params = For $(D_INLINECODE glPointParameterfv) and $(D_INLINECODE glPointParameteriv), specifies a pointer to an array where the value or values to be assigned to $(D_INLINECODE pname) are stored.
15605      + 
15606      + Copyright:
15607      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15608      + 
15609      + See_Also:
15610      +     $(D_INLINECODE glPointSize)
15611      +/
15612     @OpenGL_Version(OGLIntroducedIn.V1P4)
15613     fn_glPointParameterf glPointParameterf;
15614     alias fn_glPointSize = extern(C) void function(GLfloat size) @system @nogc nothrow;
15615 
15616     /++
15617      + glPointSize: man4/glPointSize.xml
15618      + 
15619      + $(D_INLINECODE glPointSize) specifies the rasterized diameter of points. If point size mode is disabled (see $(D_INLINECODE glEnable) with parameter $(D_INLINECODE GL_PROGRAM_POINT_SIZE) ), this value will be used to rasterize points. Otherwise, the value written to the shading language built-in variable $(D_INLINECODE gl_PointSize) will be used.
15620      + 
15621      + The point size specified by $(D_INLINECODE glPointSize) is always returned when $(D_INLINECODE GL_POINT_SIZE) is queried.  Clamping and rounding for points have no effect on the specified value.
15622      + 
15623      + Params:
15624      +     size = Specifies the diameter of rasterized points. The initial value is 1.
15625      + 
15626      + Copyright:
15627      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15628      + 
15629      + See_Also:
15630      +     $(D_INLINECODE glEnable), $(D_INLINECODE glPointParameter)
15631      +/
15632     @OpenGL_Version(OGLIntroducedIn.V1P0)
15633     fn_glPointSize glPointSize;
15634     alias fn_glPolygonMode = extern(C) void function(GLenum face, GLenum mode) @system @nogc nothrow;
15635 
15636     /++
15637      + glPolygonMode: man4/glPolygonMode.xml
15638      + 
15639      + $(D_INLINECODE glPolygonMode) controls the interpretation of polygons for rasterization. $(D_INLINECODE face) describes which polygons $(D_INLINECODE mode) applies to: both front and back-facing polygons ( $(D_INLINECODE GL_FRONT_AND_BACK) ). The polygon mode affects only the final rasterization of polygons. In particular, a polygon's vertices are lit and the polygon is clipped and possibly culled before these modes are applied. Three modes are defined and can be specified in $(D_INLINECODE mode) :
15640      + 
15641      + Vertices are marked as boundary or nonboundary with an edge flag. Edge flags are generated internally by the GL when it decomposes triangle stips and fans.
15642      + 
15643      + Params:
15644      +     face = Specifies the polygons that $(D_INLINECODE mode) applies to. Must be $(D_INLINECODE GL_FRONT_AND_BACK) for front- and back-facing polygons.
15645      +     mode = Specifies how polygons will be rasterized. Accepted values are $(D_INLINECODE GL_POINT), $(D_INLINECODE GL_LINE), and $(D_INLINECODE GL_FILL). The initial value is $(D_INLINECODE GL_FILL) for both front- and back-facing polygons.
15646      + 
15647      + Copyright:
15648      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15649      + 
15650      + See_Also:
15651      +     $(D_INLINECODE glLineWidth), $(D_INLINECODE glPointSize)
15652      +/
15653     @OpenGL_Version(OGLIntroducedIn.V1P0)
15654     fn_glPolygonMode glPolygonMode;
15655     alias fn_glPolygonOffset = extern(C) void function(GLfloat factor, GLfloat units) @system @nogc nothrow;
15656 
15657     /++
15658      + glPolygonOffset: man4/glPolygonOffset.xml
15659      + 
15660      + When $(D_INLINECODE GL_POLYGON_OFFSET_FILL), $(D_INLINECODE GL_POLYGON_OFFSET_LINE), or $(D_INLINECODE GL_POLYGON_OFFSET_POINT) is enabled, each fragment's value will be offset after it is interpolated from the values of the appropriate vertices. The value of the offset is factor &times; DZ + r &times; units, where DZ is a measurement of the change in depth relative to the screen area of the polygon, and r is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. The offset is added before the depth test is performed and before the value is written into the depth buffer. $(D_INLINECODE glPolygonOffset) is useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.
15661      + 
15662      + Params:
15663      +     factor = Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.
15664      +     units  = Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.
15665      + 
15666      + Copyright:
15667      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
15668      + 
15669      + See_Also:
15670      +     $(D_INLINECODE glDepthFunc), $(D_INLINECODE glEnable), $(D_INLINECODE glGet), $(D_INLINECODE glIsEnabled)
15671      +/
15672     @OpenGL_Version(OGLIntroducedIn.V1P1)
15673     fn_glPolygonOffset glPolygonOffset;
15674     alias fn_glPopDebugGroup = extern(C) void function() @system @nogc nothrow;
15675 
15676     /++
15677      + glPopDebugGroup: man4/glPopDebugGroup.xml
15678      + 
15679      + $(D_INLINECODE glPopDebugGroup) pops the active debug group. After popping a debug group, the GL will also generate a debug output message describing its cause based on the $(D_INLINECODE message) string, the source $(D_INLINECODE source), and an ID $(D_INLINECODE id) submitted to the corresponding $(D_INLINECODE glPushDebugGroup) command. $(D_INLINECODE GL_DEBUG_TYPE_PUSH_GROUP) and $(D_INLINECODE GL_DEBUG_TYPE_POP_GROUP) share a single namespace for message $(D_INLINECODE id). $(D_INLINECODE severity) has the value $(D_INLINECODE GL_DEBUG_SEVERITY_NOTIFICATION). The $(D_INLINECODE type) has the value $(D_INLINECODE GL_DEBUG_TYPE_POP_GROUP). Popping a debug group restores the debug output volume control of the parent debug group.
15680      + 
15681      + Params:
15682      + 
15683      + Copyright:
15684      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15685      + 
15686      + See_Also:
15687      +     $(D_INLINECODE glPushDebugGroup), $(D_INLINECODE glObjectLabel), $(D_INLINECODE glObjectPtrLabel).
15688      +/
15689     @OpenGL_Version(OGLIntroducedIn.V4P3)
15690     @OpenGL_Extension("GL_KHR_debug")
15691     fn_glPopDebugGroup glPopDebugGroup;
15692     alias fn_glPrimitiveRestartIndex = extern(C) void function(GLuint index) @system @nogc nothrow;
15693 
15694     /++
15695      + glPrimitiveRestartIndex: man4/glPrimitiveRestartIndex.xml
15696      + 
15697      + $(D_INLINECODE glPrimitiveRestartIndex) specifies a vertex array element that is treated specially when primitive restarting is enabled. This is known as the primitive restart index. When one of the $(D_INLINECODE Draw*) commands transfers a set of generic attribute array elements to the GL, if the index within the vertex arrays corresponding to that set is equal to the primitive restart index, then the GL does not process those elements as a vertex. Instead, it is as if the drawing command ended with the immediately preceding transfer, and another drawing command is immediately started with the same parameters, but only transferring the immediately following element through the end of the originally specified elements. When either $(D_INLINECODE glDrawElementsBaseVertex), $(D_INLINECODE glDrawElementsInstancedBaseVertex) or $(D_INLINECODE glMultiDrawElementsBaseVertex) is used, the primitive restart comparison occurs before the basevertex offset is added to the array index.
15698      + 
15699      + $(D_INLINECODE glPrimitiveRestartIndex) is available only if the GL version is 3.1 or greater.
15700      + 
15701      + Params:
15702      +     index = Specifies the value to be interpreted as the primitive restart index.
15703      + 
15704      + Copyright:
15705      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15706      + 
15707      + See_Also:
15708      +     $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawElementsBaseVertex), $(D_INLINECODE glDrawElementsInstancedBaseVertex)
15709      +/
15710     @OpenGL_Version(OGLIntroducedIn.V3P1)
15711     fn_glPrimitiveRestartIndex glPrimitiveRestartIndex;
15712     alias fn_glProgramBinary = extern(C) void function(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length) @system @nogc nothrow;
15713 
15714     /++
15715      + glProgramBinary: man4/glProgramBinary.xml
15716      + 
15717      + $(D_INLINECODE glProgramBinary) loads a program object with a program binary previously returned from $(D_INLINECODE glGetProgramBinary). $(D_INLINECODE binaryFormat) and $(D_INLINECODE binary) must be those returned by a previous call to $(D_INLINECODE glGetProgramBinary), and $(D_INLINECODE length) must be the length returned by $(D_INLINECODE glGetProgramBinary), or by $(D_INLINECODE glGetProgram) when called with $(D_INLINECODE pname) set to $(D_INLINECODE GL_PROGRAM_BINARY_LENGTH). If these conditions are not met, loading the program binary will fail and $(D_INLINECODE program) 's $(D_INLINECODE GL_LINK_STATUS) will be set to $(D_INLINECODE GL_FALSE). A program object's program binary is replaced by calls to $(D_INLINECODE glLinkProgram) or $(D_INLINECODE glProgramBinary). When linking success or failure is concerned, $(D_INLINECODE glProgramBinary) can be considered to perform an implicit linking operation. $(D_INLINECODE glLinkProgram) and $(D_INLINECODE glProgramBinary) both set the program object's $(D_INLINECODE GL_LINK_STATUS) to $(D_INLINECODE GL_TRUE) or $(D_INLINECODE GL_FALSE). A successful call to $(D_INLINECODE glProgramBinary) will reset all uniform variables to their initial values. The initial value is either the value of the variable's initializer as specified in the original shader source, or zero if no initializer was present. Additionally, all vertex shader input and fragment shader output assignments that were in effect when the program was linked before saving are restored with $(D_INLINECODE glProgramBinary) is called.
15718      + 
15719      + A program binary may fail to load if the implementation determines that there has been a change in hardware or software configuration from when the program binary was produced such as having been compiled with an incompatible or outdated version of the compiler.
15720      + 
15721      + Params:
15722      +     program      = Specifies the name of a program object into which to load a program binary.
15723      +     binaryFormat = Specifies the format of the binary data in binary.
15724      +     binary       = Specifies the address an array containing the binary to be loaded into $(D_INLINECODE program).
15725      +     length       = Specifies the number of bytes contained in $(D_INLINECODE binary).
15726      + 
15727      + Copyright:
15728      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15729      + 
15730      + See_Also:
15731      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetProgramBinary)
15732      +/
15733     @OpenGL_Version(OGLIntroducedIn.V4P1)
15734     @OpenGL_Extension("GL_ARB_get_program_binary")
15735     fn_glProgramBinary glProgramBinary;
15736     alias fn_glProgramParameteri = extern(C) void function(GLuint program, GLenum pname, GLint value) @system @nogc nothrow;
15737 
15738     /++
15739      + glProgramParameter: man4/glProgramParameter.xml
15740      + 
15741      + $(D_INLINECODE glProgramParameter) specifies a new value for the parameter nameed by $(D_INLINECODE pname) for the program object $(D_INLINECODE program). If $(D_INLINECODE pname) is $(D_INLINECODE GL_PROGRAM_BINARY_RETRIEVABLE_HINT), $(D_INLINECODE value) should be $(D_INLINECODE GL_FALSE) or $(D_INLINECODE GL_TRUE) to indicate to the implementation the intention of the application to retrieve the program's binary representation with $(D_INLINECODE glGetProgramBinary). The implementation may use this information to store information that may be useful for a future query of the program's binary. It is recommended to set $(D_INLINECODE GL_PROGRAM_BINARY_RETRIEVABLE_HINT) for the program to $(D_INLINECODE GL_TRUE) before calling $(D_INLINECODE glLinkProgram), and using the program at run-time if the binary is to be retrieved later. If $(D_INLINECODE pname) is $(D_INLINECODE GL_PROGRAM_SEPARABLE), $(D_INLINECODE value) must be $(D_INLINECODE GL_TRUE) or $(D_INLINECODE GL_FALSE) and indicates whether $(D_INLINECODE program) can be bound to individual pipeline stages via $(D_INLINECODE glUseProgramStages). A program's $(D_INLINECODE GL_PROGRAM_SEPARABLE) parameter must be set to $(D_INLINECODE GL_TRUE) $(D_INLINECODE glLinkProgram) is called in order for it to be usable with a program pipeline object. The initial state of $(D_INLINECODE GL_PROGRAM_SEPARABLE) is $(D_INLINECODE GL_FALSE).
15742      + 
15743      + Params:
15744      +     program = Specifies the name of a program object whose parameter to modify.
15745      +     pname   = Specifies the name of the parameter to modify.
15746      +     value   = Specifies the new value of the parameter specified by $(D_INLINECODE pname) for $(D_INLINECODE program).
15747      + 
15748      + Copyright:
15749      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15750      + 
15751      + See_Also:
15752      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetProgramBinary), $(D_INLINECODE glProgramBinary)
15753      +/
15754     @OpenGL_Version(OGLIntroducedIn.V4P1)
15755     @OpenGL_Extension("GL_ARB_get_program_binary")
15756     fn_glProgramParameteri glProgramParameteri;
15757     alias fn_glProgramUniform1f = extern(C) void function(GLuint program, GLint location, GLfloat v0) @system @nogc nothrow;
15758 
15759     /++
15760      + glProgramUniform: man4/glProgramUniform.xml
15761      + 
15762      + $(D_INLINECODE glProgramUniform) modifies the value of a uniform variable or a uniform variable array. The location of the uniform variable to be modified is specified by $(D_INLINECODE location), which should be a value returned by $(D_INLINECODE glGetUniformLocation). $(D_INLINECODE glProgramUniform) operates on the program object specified by $(D_INLINECODE program). The commands $(D_INLINECODE glProgramUniform{1|2|3|4}{f|i|ui}) are used to change the value of the uniform variable specified by $(D_INLINECODE location) using the values passed as arguments. The number specified in the command should match the number of components in the data type of the specified uniform variable (e.g., $(D_INLINECODE 1) for $(D_INLINECODE float), $(D_INLINECODE int), $(D_INLINECODE unsigned int), $(D_INLINECODE bool); $(D_INLINECODE 2) for $(D_INLINECODE vec2), $(D_INLINECODE ivec2), $(D_INLINECODE uvec2), $(D_INLINECODE bvec2), etc.). The suffix $(D_INLINECODE f) indicates that floating-point values are being passed; the suffix $(D_INLINECODE i) indicates that integer values are being passed; the suffix $(D_INLINECODE ui) indicates that unsigned integer values are being passed, and this type should also match the data type of the specified uniform variable. The $(D_INLINECODE i) variants of this function should be used to provide values for uniform variables defined as $(D_INLINECODE int), $(D_INLINECODE ivec2), $(D_INLINECODE ivec3), $(D_INLINECODE ivec4), or arrays of these. The $(D_INLINECODE ui) variants of this function should be used to provide values for uniform variables defined as $(D_INLINECODE unsigned int), $(D_INLINECODE uvec2), $(D_INLINECODE uvec3), $(D_INLINECODE uvec4), or arrays of these. The $(D_INLINECODE f) variants should be used to provide values for uniform variables of type $(D_INLINECODE float), $(D_INLINECODE vec2), $(D_INLINECODE vec3), $(D_INLINECODE vec4), or arrays of these. Either the $(D_INLINECODE i), $(D_INLINECODE ui) or $(D_INLINECODE f) variants may be used to provide values for uniform variables of type $(D_INLINECODE bool), $(D_INLINECODE bvec2), $(D_INLINECODE bvec3), $(D_INLINECODE bvec4), or arrays of these. The uniform variable will be set to $(D_INLINECODE false) if the input value is 0 or 0.0f, and it will be set to $(D_INLINECODE true) otherwise. All active uniform variables defined in a program object are initialized to 0 when the program object is linked successfully. They retain the values assigned to them by a call to $(D_INLINECODE glProgramUniform) until the next successful link operation occurs on the program object, when they are once again initialized to 0. The commands $(D_INLINECODE glProgramUniform{1|2|3|4}{f|i|ui}v) can be used to modify a single uniform variable or a uniform variable array. These commands pass a count and a pointer to the values to be loaded into a uniform variable or a uniform variable array. A count of 1 should be used if modifying the value of a single uniform variable, and a count of 1 or greater can be used to modify an entire array or part of an array. When loading elements starting at an arbitrary position in a uniform variable array, elements + - 1 in the array will be replaced with the new values. If $(D_INLINECODE m) + $(D_INLINECODE n) - 1 is larger than the size of the uniform variable array, values for all array elements beyond the end of the array will be ignored. The number specified in the name of the command indicates the number of components for each element in $(D_INLINECODE value), and it should match the number of components in the data type of the specified uniform variable (e.g., $(D_INLINECODE 1) for $(D_INLINECODE float), $(D_INLINECODE int), $(D_INLINECODE bool); $(D_INLINECODE 2) for $(D_INLINECODE vec2), $(D_INLINECODE ivec2), $(D_INLINECODE bvec2), etc.). The data type specified in the name of the command must match the data type for the specified uniform variable as described previously for $(D_INLINECODE glProgramUniform{1|2|3|4}{f|i|ui}). For uniform variable arrays, each element of the array is considered to be of the type indicated in the name of the command (e.g., $(D_INLINECODE glProgramUniform3f) or $(D_INLINECODE glProgramUniform3fv) can be used to load a uniform variable array of type vec3). The number of elements of the uniform variable array to be modified is specified by $(D_INLINECODE count) The commands $(D_INLINECODE glProgramUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv) are used to modify a matrix or an array of matrices. The numbers in the command name are interpreted as the dimensionality of the matrix. The number $(D_INLINECODE 2) indicates a 2 &#215; 2 matrix (i.e., 4 values), the number $(D_INLINECODE 3) indicates a 3 &#215; 3 matrix (i.e., 9 values), and the number $(D_INLINECODE 4) indicates a 4 &#215; 4 matrix (i.e., 16 values). Non-square matrix dimensionality is explicit, with the first number representing the number of columns and the second number representing the number of rows.  For example, $(D_INLINECODE 2x4) indicates a 2 &#215; 4 matrix with 2 columns and 4 rows (i.e., 8 values). If $(D_INLINECODE transpose) is $(D_INLINECODE GL_FALSE), each matrix is assumed to be supplied in column major order. If $(D_INLINECODE transpose) is $(D_INLINECODE GL_TRUE), each matrix is assumed to be supplied in row major order. The $(D_INLINECODE count) argument indicates the number of matrices to be passed. A count of 1 should be used if modifying the value of a single matrix, and a count greater than 1 can be used to modify an array of matrices.
15763      + 
15764      + $(D_INLINECODE glProgramUniform1i) and $(D_INLINECODE glProgramUniform1iv) are the only two functions that may be used to load uniform variables defined as sampler types. Loading samplers with any other function will result in a $(D_INLINECODE GL_INVALID_OPERATION) error. If $(D_INLINECODE count) is greater than 1 and the indicated uniform variable is not an array, a $(D_INLINECODE GL_INVALID_OPERATION) error is generated and the specified uniform variable will remain unchanged. Other than the preceding exceptions, if the type and size of the uniform variable as defined in the shader do not match the type and size specified in the name of the command used to load its value, a $(D_INLINECODE GL_INVALID_OPERATION) error will be generated and the specified uniform variable will remain unchanged. If $(D_INLINECODE location) is a value other than -1 and it does not represent a valid uniform variable location in within $(D_INLINECODE program), an error will be generated, and no changes will be made to the uniform variable storage of $(D_INLINECODE program). If $(D_INLINECODE location) is equal to -1, the data passed in will be silently ignored and the specified uniform variable will not be changed.
15765      + 
15766      + Params:
15767      +     program        = Specifies the handle of the program containing the uniform variable to be modified.
15768      +     location       = Specifies the location of the uniform variable to be modified.
15769      +     count          = For the vector commands ( $(D_INLINECODE glProgramUniform*v) ), specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix commands ( $(D_INLINECODE glProgramUniformMatrix*) ), specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
15770      +     transpose      = For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.
15771      +     v0, v1, v2, v3 = For the scalar commands, specifies the new values to be used for the specified uniform variable.
15772      +     value          = For the vector and matrix commands, specifies a pointer to an array of $(D_INLINECODE count) values that will be used to update the specified uniform variable.
15773      + 
15774      + Copyright:
15775      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15776      + 
15777      + See_Also:
15778      +     $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUseProgram)
15779      +/
15780     @OpenGL_Version(OGLIntroducedIn.V4P1)
15781     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15782     fn_glProgramUniform1f glProgramUniform1f;
15783     alias fn_glProgramUniform2f = extern(C) void function(GLuint program, GLint location, GLfloat v0, GLfloat v1) @system @nogc nothrow;
15784     /// Ditto
15785     @OpenGL_Version(OGLIntroducedIn.V4P1)
15786     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15787     fn_glProgramUniform2f glProgramUniform2f;
15788     alias fn_glProgramUniform3f = extern(C) void function(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) @system @nogc nothrow;
15789     /// Ditto
15790     @OpenGL_Version(OGLIntroducedIn.V4P1)
15791     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15792     fn_glProgramUniform3f glProgramUniform3f;
15793     alias fn_glProgramUniform4f = extern(C) void function(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) @system @nogc nothrow;
15794     /// Ditto
15795     @OpenGL_Version(OGLIntroducedIn.V4P1)
15796     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15797     fn_glProgramUniform4f glProgramUniform4f;
15798     alias fn_glProgramUniform1i = extern(C) void function(GLuint program, GLint location, GLint v0) @system @nogc nothrow;
15799     /// Ditto
15800     @OpenGL_Version(OGLIntroducedIn.V4P1)
15801     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15802     fn_glProgramUniform1i glProgramUniform1i;
15803     alias fn_glProgramUniform2i = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1) @system @nogc nothrow;
15804     /// Ditto
15805     @OpenGL_Version(OGLIntroducedIn.V4P1)
15806     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15807     fn_glProgramUniform2i glProgramUniform2i;
15808     alias fn_glProgramUniform3i = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) @system @nogc nothrow;
15809     /// Ditto
15810     @OpenGL_Version(OGLIntroducedIn.V4P1)
15811     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15812     fn_glProgramUniform3i glProgramUniform3i;
15813     alias fn_glProgramUniform4i = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) @system @nogc nothrow;
15814     /// Ditto
15815     @OpenGL_Version(OGLIntroducedIn.V4P1)
15816     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15817     fn_glProgramUniform4i glProgramUniform4i;
15818     alias fn_glProgramUniform1ui = extern(C) void function(GLuint program, GLint location, GLuint v0) @system @nogc nothrow;
15819     /// Ditto
15820     @OpenGL_Version(OGLIntroducedIn.V4P1)
15821     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15822     fn_glProgramUniform1ui glProgramUniform1ui;
15823     alias fn_glProgramUniform2ui = extern(C) void function(GLuint program, GLint location, GLint v0, GLuint v1) @system @nogc nothrow;
15824     /// Ditto
15825     @OpenGL_Version(OGLIntroducedIn.V4P1)
15826     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15827     fn_glProgramUniform2ui glProgramUniform2ui;
15828     alias fn_glProgramUniform3ui = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1, GLuint v2) @system @nogc nothrow;
15829     /// Ditto
15830     @OpenGL_Version(OGLIntroducedIn.V4P1)
15831     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15832     fn_glProgramUniform3ui glProgramUniform3ui;
15833     alias fn_glProgramUniform4ui = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLuint v3) @system @nogc nothrow;
15834     /// Ditto
15835     @OpenGL_Version(OGLIntroducedIn.V4P1)
15836     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15837     fn_glProgramUniform4ui glProgramUniform4ui;
15838     alias fn_glProgramUniform1fv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
15839     /// Ditto
15840     @OpenGL_Version(OGLIntroducedIn.V4P1)
15841     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15842     fn_glProgramUniform1fv glProgramUniform1fv;
15843     alias fn_glProgramUniform2fv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
15844     /// Ditto
15845     @OpenGL_Version(OGLIntroducedIn.V4P1)
15846     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15847     fn_glProgramUniform2fv glProgramUniform2fv;
15848     alias fn_glProgramUniform3fv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
15849     /// Ditto
15850     @OpenGL_Version(OGLIntroducedIn.V4P1)
15851     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15852     fn_glProgramUniform3fv glProgramUniform3fv;
15853     alias fn_glProgramUniform4fv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
15854     /// Ditto
15855     @OpenGL_Version(OGLIntroducedIn.V4P1)
15856     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15857     fn_glProgramUniform4fv glProgramUniform4fv;
15858     alias fn_glProgramUniform1iv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
15859     /// Ditto
15860     @OpenGL_Version(OGLIntroducedIn.V4P1)
15861     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15862     fn_glProgramUniform1iv glProgramUniform1iv;
15863     alias fn_glProgramUniform2iv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
15864     /// Ditto
15865     @OpenGL_Version(OGLIntroducedIn.V4P1)
15866     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15867     fn_glProgramUniform2iv glProgramUniform2iv;
15868     alias fn_glProgramUniform3iv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
15869     /// Ditto
15870     @OpenGL_Version(OGLIntroducedIn.V4P1)
15871     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15872     fn_glProgramUniform3iv glProgramUniform3iv;
15873     alias fn_glProgramUniform4iv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
15874     /// Ditto
15875     @OpenGL_Version(OGLIntroducedIn.V4P1)
15876     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15877     fn_glProgramUniform4iv glProgramUniform4iv;
15878     alias fn_glProgramUniform1uiv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
15879     /// Ditto
15880     @OpenGL_Version(OGLIntroducedIn.V4P1)
15881     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15882     fn_glProgramUniform1uiv glProgramUniform1uiv;
15883     alias fn_glProgramUniform2uiv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
15884     /// Ditto
15885     @OpenGL_Version(OGLIntroducedIn.V4P1)
15886     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15887     fn_glProgramUniform2uiv glProgramUniform2uiv;
15888     alias fn_glProgramUniform3uiv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
15889     /// Ditto
15890     @OpenGL_Version(OGLIntroducedIn.V4P1)
15891     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15892     fn_glProgramUniform3uiv glProgramUniform3uiv;
15893     alias fn_glProgramUniform4uiv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
15894     /// Ditto
15895     @OpenGL_Version(OGLIntroducedIn.V4P1)
15896     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15897     fn_glProgramUniform4uiv glProgramUniform4uiv;
15898     alias fn_glProgramUniformMatrix2fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15899     /// Ditto
15900     @OpenGL_Version(OGLIntroducedIn.V4P1)
15901     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15902     fn_glProgramUniformMatrix2fv glProgramUniformMatrix2fv;
15903     alias fn_glProgramUniformMatrix3fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15904     /// Ditto
15905     @OpenGL_Version(OGLIntroducedIn.V4P1)
15906     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15907     fn_glProgramUniformMatrix3fv glProgramUniformMatrix3fv;
15908     alias fn_glProgramUniformMatrix4fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15909     /// Ditto
15910     @OpenGL_Version(OGLIntroducedIn.V4P1)
15911     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15912     fn_glProgramUniformMatrix4fv glProgramUniformMatrix4fv;
15913     alias fn_glProgramUniformMatrix2x3fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15914     /// Ditto
15915     @OpenGL_Version(OGLIntroducedIn.V4P1)
15916     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15917     fn_glProgramUniformMatrix2x3fv glProgramUniformMatrix2x3fv;
15918     alias fn_glProgramUniformMatrix3x2fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15919     /// Ditto
15920     @OpenGL_Version(OGLIntroducedIn.V4P1)
15921     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15922     fn_glProgramUniformMatrix3x2fv glProgramUniformMatrix3x2fv;
15923     alias fn_glProgramUniformMatrix2x4fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15924     /// Ditto
15925     @OpenGL_Version(OGLIntroducedIn.V4P1)
15926     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15927     fn_glProgramUniformMatrix2x4fv glProgramUniformMatrix2x4fv;
15928     alias fn_glProgramUniformMatrix4x2fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15929     /// Ditto
15930     @OpenGL_Version(OGLIntroducedIn.V4P1)
15931     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15932     fn_glProgramUniformMatrix4x2fv glProgramUniformMatrix4x2fv;
15933     alias fn_glProgramUniformMatrix3x4fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15934     /// Ditto
15935     @OpenGL_Version(OGLIntroducedIn.V4P1)
15936     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15937     fn_glProgramUniformMatrix3x4fv glProgramUniformMatrix3x4fv;
15938     alias fn_glProgramUniformMatrix4x3fv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
15939     /// Ditto
15940     @OpenGL_Version(OGLIntroducedIn.V4P1)
15941     @OpenGL_Extension("GL_ARB_separate_shader_objects")
15942     fn_glProgramUniformMatrix4x3fv glProgramUniformMatrix4x3fv;
15943     alias fn_glProvokingVertex = extern(C) void function(GLenum provokeMode) @system @nogc nothrow;
15944 
15945     /++
15946      + glProvokingVertex: man4/glProvokingVertex.xml
15947      + 
15948      + a vertex shader varying output means to assign all vetices of the primitive the same value for that output. The vertex from which these values is derived is known as the and $(D_INLINECODE glProvokingVertex) specifies which vertex is to be used as the source of data for flat shaded varyings. $(D_INLINECODE provokeMode) must be either $(D_INLINECODE GL_FIRST_VERTEX_CONVENTION) or $(D_INLINECODE GL_LAST_VERTEX_CONVENTION), and controls the selection of the vertex whose values are assigned to flatshaded varying outputs. The interpretation of these values for the supported primitive types is: $(B Primitive Type of Polygon) $(B First Vertex Convention) $(B Last Vertex Convention) point independent line 2 - 1 2 line loop + 1, if &lt; 1, if = line strip + 1 independent triangle 3 - 2 3 triangle strip + 2 triangle fan + 1 + 2 line adjacency 4 - 2 4 - 1 line strip adjacency + 1 + 2 triangle adjacency 6 - 5 6 - 1 triangle strip adjacency 2 - 1 2 + 3 If a vertex or geometry shader is active, user-defined varying outputs may be flatshaded by using the $(D_INLINECODE flat) qualifier when declaring the output.
15949      + 
15950      + $(D_INLINECODE glProvokingVertex) is available only if the GL version is 3.2 or greater.
15951      + 
15952      + Params:
15953      +     provokeMode = Specifies the vertex to be used as the source of data for flat shaded varyings.
15954      + 
15955      + Copyright:
15956      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15957      + 
15958      + See_Also:
15959      +     
15960      +/
15961     @OpenGL_Version(OGLIntroducedIn.V3P2)
15962     @OpenGL_Extension("GL_ARB_provoking_vertex")
15963     fn_glProvokingVertex glProvokingVertex;
15964     alias fn_glPushDebugGroup = extern(C) void function(GLenum source, GLuint id, GLsizei length, const char* message) @system @nogc nothrow;
15965 
15966     /++
15967      + glPushDebugGroup: man4/glPushDebugGroup.xml
15968      + 
15969      + $(D_INLINECODE glPushDebugGroup) pushes a debug group described by the string $(D_INLINECODE message) into the command stream. The value of $(D_INLINECODE id) specifies the ID of messages generated. The parameter $(D_INLINECODE length) contains the number of characters in $(D_INLINECODE message). If $(D_INLINECODE length) is negative, it is implied that $(D_INLINECODE message) contains a null terminated string. The message has the specified $(D_INLINECODE source) and $(D_INLINECODE id), the $(D_INLINECODE type) $(D_INLINECODE GL_DEBUG_TYPE_PUSH_GROUP), and $(D_INLINECODE severity) $(D_INLINECODE GL_DEBUG_SEVERITY_NOTIFICATION). The GL will put a new debug group on top of the debug group stack which inherits the control of the volume of debug output of the debug group previously residing on the top of the debug group stack. Because debug groups are strictly hierarchical, any additional control of the debug output volume will only apply within the active debug group and the debug groups pushed on top of the active debug group.
15970      + 
15971      + Params:
15972      +     source  = The source of the debug message.
15973      +     id      = The identifier of the message.
15974      +     length  = The length of the message to be sent to the debug output stream.
15975      +     message = The a string containing the message to be sent to the debug output stream.
15976      + 
15977      + Copyright:
15978      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
15979      + 
15980      + See_Also:
15981      +     $(D_INLINECODE glPopDebugGroup), $(D_INLINECODE glObjectLabel), $(D_INLINECODE glObjectPtrLabel).
15982      +/
15983     @OpenGL_Version(OGLIntroducedIn.V4P3)
15984     @OpenGL_Extension("GL_KHR_debug")
15985     fn_glPushDebugGroup glPushDebugGroup;
15986     alias fn_glQueryCounter = extern(C) void function(GLuint id, GLenum target) @system @nogc nothrow;
15987 
15988     /++
15989      + glQueryCounter: man4/glQueryCounter.xml
15990      + 
15991      + $(D_INLINECODE glQueryCounter) causes the GL to record the current time into the query object named $(D_INLINECODE id). $(D_INLINECODE target) must be $(D_INLINECODE GL_TIMESTAMP). The time is recorded after all previous commands on the GL client and server state and the framebuffer have been fully realized. When the time is recorded, the query result for that object is marked available. $(D_INLINECODE glQueryCounter) timer queries can be used within a $(D_INLINECODE glBeginQuery) / $(D_INLINECODE glEndQuery) block where the target is $(D_INLINECODE GL_TIME_ELAPSED) and it does not affect the result of that query object.
15992      + 
15993      + $(D_INLINECODE glQueryCounter) is available only if the GL version is 3.3 or higher.
15994      + 
15995      + Params:
15996      +     id     = Specify the name of a query object into which to record the GL time.
15997      +     target = Specify the counter to query. $(D_INLINECODE target) must be $(D_INLINECODE GL_TIMESTAMP).
15998      + 
15999      + Copyright:
16000      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16001      + 
16002      + See_Also:
16003      +     $(D_INLINECODE glGenQueries), $(D_INLINECODE glBeginQuery), $(D_INLINECODE glEndQuery), $(D_INLINECODE glDeleteQueries), $(D_INLINECODE glGetQueryObject), $(D_INLINECODE glGetQueryiv), $(D_INLINECODE glGet)
16004      +/
16005     @OpenGL_Version(OGLIntroducedIn.V3P3)
16006     @OpenGL_Extension("GL_ARB_timer_query")
16007     fn_glQueryCounter glQueryCounter;
16008     alias fn_glReadPixels = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* data) @system @nogc nothrow;
16009 
16010     /++
16011      + glReadnPixels: man4/glReadPixels.xml
16012      + 
16013      + $(D_INLINECODE glReadPixels) and $(D_INLINECODE glReadnPixels) return pixel data from the frame buffer, starting with the pixel whose lower left corner is at location ( $(D_INLINECODE x), $(D_INLINECODE y) ), into client memory starting at location $(D_INLINECODE data). Several parameters control the processing of the pixel data before it is placed into client memory. These parameters are set with $(D_INLINECODE glPixelStore). This reference page describes the effects on $(D_INLINECODE glReadPixels) and $(D_INLINECODE glReadnPixels) of most, but not all of the parameters specified by these three commands. If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_PACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a block of pixels is requested, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store rather than a pointer to client memory. $(D_INLINECODE glReadPixels) and $(D_INLINECODE glReadnPixels) return values from each pixel with lower left corner at x + i y + j for 0 &lt;= i &lt; width and 0 &lt;= j &lt; height. This pixel is said to be the i th pixel in the j th row. Pixels are returned in row order from the lowest to the highest row, left to right in each row. $(D_INLINECODE format) specifies the format for the returned pixel values; accepted values are: Finally, the indices or components are converted to the proper format, as specified by $(D_INLINECODE type). If $(D_INLINECODE format) is $(D_INLINECODE GL_STENCIL_INDEX) and $(D_INLINECODE type) is not $(D_INLINECODE GL_FLOAT), each index is masked with the mask value given in the following table. If $(D_INLINECODE type) is $(D_INLINECODE GL_FLOAT), then each integer index is converted to single-precision floating-point format. If $(D_INLINECODE format) is $(D_INLINECODE GL_RED), $(D_INLINECODE GL_GREEN), $(D_INLINECODE GL_BLUE), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), or $(D_INLINECODE GL_BGRA) and $(D_INLINECODE type) is not $(D_INLINECODE GL_FLOAT), each component is multiplied by the multiplier shown in the following table. If type is $(D_INLINECODE GL_FLOAT), then each component is passed as is (or converted to the client's single-precision floating-point format if it is different from the one used by the GL). $(D_INLINECODE type) $(B Index Mask) $(B Component Conversion) $(D_INLINECODE GL_UNSIGNED_BYTE) 2 8 - 1 2 8 - 1 &it; c $(D_INLINECODE GL_BYTE) 2 7 - 1 2 8 - 1 &it; c - 1 2 $(D_INLINECODE GL_UNSIGNED_SHORT) 2 16 - 1 2 16 - 1 &it; c $(D_INLINECODE GL_SHORT) 2 15 - 1 2 16 - 1 &it; c - 1 2 $(D_INLINECODE GL_UNSIGNED_INT) 2 32 - 1 2 32 - 1 &it; c $(D_INLINECODE GL_INT) 2 31 - 1 2 32 - 1 &it; c - 1 2 $(D_INLINECODE GL_HALF_FLOAT) none c $(D_INLINECODE GL_FLOAT) none c $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_INT_24_8) 2 N - 1 2 N - 1 &it; c $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) -- Special $(D_INLINECODE GL_UNSIGNED_INT_5_9_9_9_REV) -- Special $(D_INLINECODE GL_FLOAT_32_UNSIGNED_INT_24_8_REV) none c (Depth Only) Return values are placed in memory as follows. If $(D_INLINECODE format) is $(D_INLINECODE GL_STENCIL_INDEX), $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_RED), $(D_INLINECODE GL_GREEN), or $(D_INLINECODE GL_BLUE), a single value is returned and the data for the i th pixel in the j th row is placed in location j &it; width + i. $(D_INLINECODE GL_RGB) and $(D_INLINECODE GL_BGR) return three values, $(D_INLINECODE GL_RGBA) and $(D_INLINECODE GL_BGRA) return four values for each pixel, with all values corresponding to a single pixel occupying contiguous space in $(D_INLINECODE data). Storage parameters set by $(D_INLINECODE glPixelStore), such as $(D_INLINECODE GL_PACK_LSB_FIRST) and $(D_INLINECODE GL_PACK_SWAP_BYTES), affect the way that data is written into memory. See $(D_INLINECODE glPixelStore) for a description. $(D_INLINECODE glReadnPixels) function will only handle the call if $(D_INLINECODE bufSize) is at least of the size required to store the requested data. Otherwise, it will generate a $(D_INLINECODE GL_INVALID_OPERATION) error.
16014      + 
16015      + Values for pixels that lie outside the window connected to the current GL context are undefined. If an error is generated, no change is made to the contents of $(D_INLINECODE data).
16016      + 
16017      + Params:
16018      +     x       = Specify the window coordinates of the first pixel that is read from the frame buffer. This location is the lower left corner of a rectangular block of pixels.
16019      +     width   = Specify the dimensions of the pixel rectangle. $(D_INLINECODE width) and $(D_INLINECODE height) of one correspond to a single pixel.
16020      +     format  = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_STENCIL_INDEX), $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_STENCIL), $(D_INLINECODE GL_RED), $(D_INLINECODE GL_GREEN), $(D_INLINECODE GL_BLUE), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), and $(D_INLINECODE GL_BGRA).
16021      +     type    = Specifies the data type of the pixel data. Must be one of $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_HALF_FLOAT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV), $(D_INLINECODE GL_UNSIGNED_INT_24_8), $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV), $(D_INLINECODE GL_UNSIGNED_INT_5_9_9_9_REV), or $(D_INLINECODE GL_FLOAT_32_UNSIGNED_INT_24_8_REV).
16022      +     bufSize = Specifies the size of the buffer $(D_INLINECODE data) for $(D_INLINECODE glReadnPixels) function.
16023      +     data    = Returns the pixel data.
16024      + 
16025      + Copyright:
16026      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16027      + 
16028      + See_Also:
16029      +     $(D_INLINECODE glPixelStore), $(D_INLINECODE glReadBuffer)
16030      +/
16031     @OpenGL_Version(OGLIntroducedIn.V1P0)
16032     fn_glReadPixels glReadPixels;
16033     alias fn_glReadnPixels = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) @system @nogc nothrow;
16034     /// Ditto
16035     @OpenGL_Version(OGLIntroducedIn.V4P5)
16036     @OpenGL_Extension("GL_KHR_robustness")
16037     fn_glReadnPixels glReadnPixels;
16038     alias fn_glReleaseShaderCompiler = extern(C) void function() @system @nogc nothrow;
16039 
16040     /++
16041      + glReleaseShaderCompiler: man4/glReleaseShaderCompiler.xml
16042      + 
16043      + $(D_INLINECODE glReleaseShaderCompiler) provides a hint to the implementation that it may free internal resources associated with its shader compiler. $(D_INLINECODE glCompileShader) may subsequently be called and the implementation may at that time reallocate resources previously freed by the call to $(D_INLINECODE glReleaseShaderCompiler).
16044      + 
16045      + Params:
16046      + 
16047      + Copyright:
16048      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16049      + 
16050      + See_Also:
16051      +     $(D_INLINECODE glCompileShader), $(D_INLINECODE glLinkProgram)
16052      +/
16053     @OpenGL_Version(OGLIntroducedIn.V4P1)
16054     @OpenGL_Extension("GL_ARB_ES2_compatibility")
16055     fn_glReleaseShaderCompiler glReleaseShaderCompiler;
16056     alias fn_glResumeTransformFeedback = extern(C) void function() @system @nogc nothrow;
16057 
16058     /++
16059      + glResumeTransformFeedback: man4/glResumeTransformFeedback.xml
16060      + 
16061      + $(D_INLINECODE glResumeTransformFeedback) resumes transform feedback operations on the currently active transform feedback object. When transform feedback operations are paused, transform feedback is still considered active and changing most transform feedback state related to the object results in an error. However, a new transform feedback object may be bound while transform feedback is paused.
16062      + 
16063      + Params:
16064      + 
16065      + Copyright:
16066      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16067      + 
16068      + See_Also:
16069      +     $(D_INLINECODE glGenTransformFeedbacks), $(D_INLINECODE glBindTransformFeedback), $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glPauseTransformFeedback), $(D_INLINECODE glEndTransformFeedback), $(D_INLINECODE glDeleteTransformFeedbacks)
16070      +/
16071     @OpenGL_Version(OGLIntroducedIn.V4P0)
16072     @OpenGL_Extension("GL_ARB_transform_feedback2")
16073     fn_glResumeTransformFeedback glResumeTransformFeedback;
16074     alias fn_glSampleCoverage = extern(C) void function(GLfloat value, GLboolean invert) @system @nogc nothrow;
16075 
16076     /++
16077      + glSampleCoverage: man4/glSampleCoverage.xml
16078      + 
16079      + Multisampling samples a pixel multiple times at various implementation-dependent subpixel locations to generate antialiasing effects.  Multisampling transparently antialiases points, lines, polygons, and images if it is enabled. $(D_INLINECODE value) is used in constructing a temporary mask used in determining which samples will be used in resolving the final fragment color.  This mask is bitwise-anded with the coverage mask generated from the multisampling computation.  If the $(D_INLINECODE invert) flag is set, the temporary mask is inverted (all bits flipped) and then the bitwise-and is computed. If an implementation does not have any multisample buffers available, or multisampling is disabled, rasterization occurs with only a single sample computing a pixel's final RGB color. Provided an implementation supports multisample buffers, and multisampling is enabled, then a pixel's final color is generated by combining several samples per pixel.  Each sample contains color, depth, and stencil information, allowing those operations to be performed on each sample.
16080      + 
16081      + The type of the $(D_INLINECODE value) parameter was changed from GLclampf to GLfloat. This change is transparent to user code and is described in detail on the $(D_INLINECODE removedTypes) page.
16082      + 
16083      + Params:
16084      +     value  = Specify a single floating-point sample coverage value.  The value is clamped to the range 0 1. The initial value is 1.0.
16085      +     invert = Specify a single boolean value representing if the coverage masks should be inverted. $(D_INLINECODE GL_TRUE) and $(D_INLINECODE GL_FALSE) are accepted.  The initial value is $(D_INLINECODE GL_FALSE).
16086      + 
16087      + Copyright:
16088      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16089      + 
16090      + See_Also:
16091      +     $(D_INLINECODE glEnable), $(D_INLINECODE removedTypes)
16092      +/
16093     @OpenGL_Version(OGLIntroducedIn.V1P3)
16094     fn_glSampleCoverage glSampleCoverage;
16095     alias fn_glSampleMaski = extern(C) void function(GLuint maskNumber, GLbitfield mask) @system @nogc nothrow;
16096 
16097     /++
16098      + glSampleMaski: man4/glSampleMaski.xml
16099      + 
16100      + $(D_INLINECODE glSampleMaski) sets one 32-bit sub-word of the multi-word sample mask, $(D_INLINECODE GL_SAMPLE_MASK_VALUE). $(D_INLINECODE maskIndex) specifies which 32-bit sub-word of the sample mask to update, and $(D_INLINECODE mask) specifies the new value to use for that sub-word. $(D_INLINECODE maskIndex) must be less than the value of $(D_INLINECODE GL_MAX_SAMPLE_MASK_WORDS). Bit of mask word corresponds to sample 32 x +.
16101      + 
16102      + $(D_INLINECODE glSampleMaski) is available only if the GL version is 3.2 or greater, or if the $(D_INLINECODE ARB_texture_multisample) extension is supported.
16103      + 
16104      + Params:
16105      +     maskNumber = Specifies which 32-bit sub-word of the sample mask to update.
16106      +     mask       = Specifies the new value of the mask sub-word.
16107      + 
16108      + Copyright:
16109      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16110      + 
16111      + See_Also:
16112      +     $(D_INLINECODE glGenRenderbuffers), $(D_INLINECODE glBindRenderbuffer), $(D_INLINECODE glRenderbufferStorageMultisample), $(D_INLINECODE glFramebufferRenderbuffer), $(D_INLINECODE glDeleteRenderbuffers)
16113      +/
16114     @OpenGL_Version(OGLIntroducedIn.V3P2)
16115     @OpenGL_Extension("GL_ARB_texture_multisample")
16116     fn_glSampleMaski glSampleMaski;
16117     alias fn_glSamplerParameterf = extern(C) void function(GLuint sampler, GLenum pname, GLfloat param) @system @nogc nothrow;
16118 
16119     /++
16120      + glSamplerParameter: man4/glSamplerParameter.xml
16121      + 
16122      + $(D_INLINECODE glSamplerParameter) assigns the value or values in $(D_INLINECODE params) to the sampler parameter specified as $(D_INLINECODE pname). $(D_INLINECODE sampler) specifies the sampler object to be modified, and must be the name of a sampler object previously returned from a call to $(D_INLINECODE glGenSamplers). The following symbols are accepted in $(D_INLINECODE pname) :
16123      + 
16124      + $(D_INLINECODE glSamplerParameter) is available only if the GL version is 3.3 or higher. If a sampler object is bound to a texture unit and that unit is used to sample from a texture, the parameters in the sampler are used to sample from the texture, rather than the equivalent parameters in the texture object bound to that unit. This introduces the possibility of sampling from the same texture object with different sets of sampler state, which may lead to a condition where a texture is with respect to one sampler object and not with respect to another. Thus, completeness can be considered a function of a sampler object and a texture object bound to a single texture unit, rather than a property of the texture object itself. $(D_INLINECODE GL_MIRROR_CLAMP_TO_EDGE) is available only if the GL version is 4.4 or greater.
16125      + 
16126      + Params:
16127      +     sampler = Specifies the sampler object whose parameter to modify.
16128      +     pname   = Specifies the symbolic name of a sampler parameter. $(D_INLINECODE pname) can be one of the following: $(D_INLINECODE GL_TEXTURE_WRAP_S), $(D_INLINECODE GL_TEXTURE_WRAP_T), $(D_INLINECODE GL_TEXTURE_WRAP_R), $(D_INLINECODE GL_TEXTURE_MIN_FILTER), $(D_INLINECODE GL_TEXTURE_MAG_FILTER), $(D_INLINECODE GL_TEXTURE_BORDER_COLOR), $(D_INLINECODE GL_TEXTURE_MIN_LOD), $(D_INLINECODE GL_TEXTURE_MAX_LOD), $(D_INLINECODE GL_TEXTURE_LOD_BIAS) $(D_INLINECODE GL_TEXTURE_COMPARE_MODE), or $(D_INLINECODE GL_TEXTURE_COMPARE_FUNC).
16129      +     param   = For the scalar commands, specifies the value of $(D_INLINECODE pname).
16130      +     params  = For the vector commands ( $(D_INLINECODE glSamplerParameter*v) ), specifies a pointer to an array where the value or values of $(D_INLINECODE pname) are stored.
16131      + 
16132      + Copyright:
16133      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16134      + 
16135      + See_Also:
16136      +     $(D_INLINECODE glGenSamplers), $(D_INLINECODE glBindSampler), $(D_INLINECODE glDeleteSamplers), $(D_INLINECODE glIsSampler), $(D_INLINECODE glBindTexture), $(D_INLINECODE glTexParameter)
16137      +/
16138     @OpenGL_Version(OGLIntroducedIn.V3P3)
16139     @OpenGL_Extension("GL_ARB_sampler_objects")
16140     fn_glSamplerParameterf glSamplerParameterf;
16141     alias fn_glScissor = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
16142 
16143     /++
16144      + glScissor: man4/glScissor.xml
16145      + 
16146      + $(D_INLINECODE glScissor) defines a rectangle, called the scissor box, in window coordinates. The first two arguments, $(D_INLINECODE x) and $(D_INLINECODE y), specify the lower left corner of the box. $(D_INLINECODE width) and $(D_INLINECODE height) specify the width and height of the box. To enable and disable the scissor test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_SCISSOR_TEST). The test is initially disabled. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. $(D_INLINECODE glScissor(0,0,1,1)) allows modification of only the lower left pixel in the window, and $(D_INLINECODE glScissor(0,0,0,0)) doesn't allow modification of any pixels in the window. When the scissor test is disabled, it is as though the scissor box includes the entire window.
16147      + 
16148      + Params:
16149      +     x     = Specify the lower left corner of the scissor box. Initially (0, 0).
16150      +     width = Specify the width and height of the scissor box. When a GL context is first attached to a window, $(D_INLINECODE width) and $(D_INLINECODE height) are set to the dimensions of that window.
16151      + 
16152      + Copyright:
16153      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16154      + 
16155      + See_Also:
16156      +     $(D_INLINECODE glEnable), $(D_INLINECODE glViewport)
16157      +/
16158     @OpenGL_Version(OGLIntroducedIn.V1P0)
16159     fn_glScissor glScissor;
16160     alias fn_glScissorArrayv = extern(C) void function(GLuint first, GLsizei count, const GLint* v) @system @nogc nothrow;
16161 
16162     /++
16163      + glScissorArray: man4/glScissorArray.xml
16164      + 
16165      + $(D_INLINECODE glScissorArrayv) defines rectangles, called scissor boxes, in window coordinates for each viewport. $(D_INLINECODE first) specifies the index of the first scissor box to modify and $(D_INLINECODE count) specifies the number of scissor boxes to modify. $(D_INLINECODE first) must be less than the value of $(D_INLINECODE GL_MAX_VIEWPORTS), and $(D_INLINECODE first) + $(D_INLINECODE count) must be less than or equal to the value of $(D_INLINECODE GL_MAX_VIEWPORTS). $(D_INLINECODE v) specifies the address of an array containing integers specifying the lower left corner of the scissor boxes, and the width and height of the scissor boxes, in that order. To enable and disable the scissor test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_SCISSOR_TEST). The test is initially disabled for all viewports. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. $(D_INLINECODE glScissor(0,0,1,1)) allows modification of only the lower left pixel in the window, and $(D_INLINECODE glScissor(0,0,0,0)) doesn't allow modification of any pixels in the window. When the scissor test is disabled, it is as though the scissor box includes the entire window.
16166      + 
16167      + Params:
16168      +     first = Specifies the index of the first viewport whose scissor box to modify.
16169      +     count = Specifies the number of scissor boxes to modify.
16170      +     v     = Specifies the address of an array containing the left, bottom, width and height of each scissor box, in that order.
16171      + 
16172      + Copyright:
16173      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16174      + 
16175      + See_Also:
16176      +     $(D_INLINECODE glEnable), $(D_INLINECODE glViewport), $(D_INLINECODE glViewportIndexed), $(D_INLINECODE glViewportArray)
16177      +/
16178     @OpenGL_Version(OGLIntroducedIn.V4P1)
16179     @OpenGL_Extension("GL_ARB_viewport_array")
16180     fn_glScissorArrayv glScissorArrayv;
16181     alias fn_glScissorIndexed = extern(C) void function(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) @system @nogc nothrow;
16182 
16183     /++
16184      + glScissorIndexed: man4/glScissorIndexed.xml
16185      + 
16186      + $(D_INLINECODE glScissorIndexed) defines the scissor box for a specified viewport. $(D_INLINECODE index) specifies the index of scissor box to modify. $(D_INLINECODE index) must be less than the value of $(D_INLINECODE GL_MAX_VIEWPORTS). For $(D_INLINECODE glScissorIndexed), $(D_INLINECODE left), $(D_INLINECODE bottom), $(D_INLINECODE width) and $(D_INLINECODE height) specify the left, bottom, width and height of the scissor box, in pixels, respectively. For $(D_INLINECODE glScissorIndexedv), $(D_INLINECODE v) specifies the address of an array containing integers specifying the lower left corner of the scissor box, and the width and height of the scissor box, in that order. To enable and disable the scissor test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_SCISSOR_TEST). The test is initially disabled for all viewports. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. $(D_INLINECODE glScissor(0,0,1,1)) allows modification of only the lower left pixel in the window, and $(D_INLINECODE glScissor(0,0,0,0)) doesn't allow modification of any pixels in the window. When the scissor test is disabled, it is as though the scissor box includes the entire window.
16187      + 
16188      + Params:
16189      +     index = Specifies the index of the viewport whose scissor box to modify.
16190      +     left  = Specify the coordinate of the bottom left corner of the scissor box, in pixels.
16191      +     width = Specify ths dimensions of the scissor box, in pixels.
16192      +     v     = For $(D_INLINECODE glScissorIndexedv), specifies the address of an array containing the left, bottom, width and height of each scissor box, in that order.
16193      + 
16194      + Copyright:
16195      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16196      + 
16197      + See_Also:
16198      +     $(D_INLINECODE glEnable), $(D_INLINECODE glScissor), $(D_INLINECODE glScissorArray)
16199      +/
16200     @OpenGL_Version(OGLIntroducedIn.V4P1)
16201     @OpenGL_Extension("GL_ARB_viewport_array")
16202     fn_glScissorIndexed glScissorIndexed;
16203     alias fn_glScissorIndexedv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
16204     /// Ditto
16205     @OpenGL_Version(OGLIntroducedIn.V4P1)
16206     @OpenGL_Extension("GL_ARB_viewport_array")
16207     fn_glScissorIndexedv glScissorIndexedv;
16208     alias fn_glShaderBinary = extern(C) void function(GLsizei count, const GLuint* shaders, GLenum binaryFormat, const void* binary, GLsizei length) @system @nogc nothrow;
16209 
16210     /++
16211      + glShaderBinary: man4/glShaderBinary.xml
16212      + 
16213      + $(D_INLINECODE glShaderBinary) loads pre-compiled shader binary code into the $(D_INLINECODE count) shader objects whose handles are given in $(D_INLINECODE shaders). $(D_INLINECODE binary) points to $(D_INLINECODE length) bytes of binary shader code stored in client memory. $(D_INLINECODE binaryFormat) specifies the format of the pre-compiled code. The binary image contained in $(D_INLINECODE binary) will be decoded according to the extension specification defining the specified $(D_INLINECODE binaryFormat) token. OpenGL does not define any specific binary formats, but it does provide a mechanism to obtain token vaues for such formats provided by such extensions. Depending on the types of the shader objects in $(D_INLINECODE shaders), $(D_INLINECODE glShaderBinary) will individually load binary vertex or fragment shaders, or load an executable binary that contains an optimized pair of vertex and fragment shaders stored in the same binary.
16214      + 
16215      + Params:
16216      +     count        = Specifies the number of shader object handles contained in $(D_INLINECODE shaders).
16217      +     shaders      = Specifies the address of an array of shader handles into which to load pre-compiled shader binaries.
16218      +     binaryFormat = Specifies the format of the shader binaries contained in $(D_INLINECODE binary).
16219      +     binary       = Specifies the address of an array of bytes containing pre-compiled binary shader code.
16220      +     length       = Specifies the length of the array whose address is given in $(D_INLINECODE binary).
16221      + 
16222      + Copyright:
16223      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16224      + 
16225      + See_Also:
16226      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetProgramBinary), $(D_INLINECODE glProgramBinary)
16227      +/
16228     @OpenGL_Version(OGLIntroducedIn.V4P1)
16229     @OpenGL_Extension("GL_ARB_ES2_compatibility")
16230     fn_glShaderBinary glShaderBinary;
16231     alias fn_glShaderSource = extern(C) void function(GLuint shader, GLsizei count, const GLchar** string, const GLint* length) @system @nogc nothrow;
16232 
16233     /++
16234      + glShaderSource: man4/glShaderSource.xml
16235      + 
16236      + $(D_INLINECODE glShaderSource) sets the source code in $(D_INLINECODE shader) to the source code in the array of strings specified by $(D_INLINECODE string). Any source code previously stored in the shader object is completely replaced. The number of strings in the array is specified by $(D_INLINECODE count). If $(D_INLINECODE length) is $(D_INLINECODE null
16237      + ), each string is assumed to be null terminated. If $(D_INLINECODE length) is a value other than $(D_INLINECODE null
16238      + ), it points to an array containing a string length for each of the corresponding elements of $(D_INLINECODE string). Each element in the $(D_INLINECODE length) array may contain the length of the corresponding string (the null character is not counted as part of the string length) or a value less than 0 to indicate that the string is null terminated. The source code strings are not scanned or parsed at this time; they are simply copied into the specified shader object.
16239      + 
16240      + OpenGL copies the shader source code strings when $(D_INLINECODE glShaderSource) is called, so an application may free its copy of the source code strings immediately after the function returns.
16241      + 
16242      + Params:
16243      +     shader = Specifies the handle of the shader object whose source code is to be replaced.
16244      +     count  = Specifies the number of elements in the $(D_INLINECODE string) and $(D_INLINECODE length) arrays.
16245      +     string = Specifies an array of pointers to strings containing the source code to be loaded into the shader.
16246      +     length = Specifies an array of string lengths.
16247      + 
16248      + Copyright:
16249      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16250      + 
16251      + See_Also:
16252      +     $(D_INLINECODE glCompileShader), $(D_INLINECODE glCreateShader), $(D_INLINECODE glDeleteShader)
16253      +/
16254     @OpenGL_Version(OGLIntroducedIn.V2P0)
16255     fn_glShaderSource glShaderSource;
16256     alias fn_glShaderStorageBlockBinding = extern(C) void function(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) @system @nogc nothrow;
16257 
16258     /++
16259      + glShaderStorageBlockBinding: man4/glShaderStorageBlockBinding.xml
16260      + 
16261      + $(D_INLINECODE glShaderStorageBlockBinding), changes the active shader storage block with an assigned index of $(D_INLINECODE storageBlockIndex) in program object $(D_INLINECODE program). $(D_INLINECODE storageBlockIndex) must be an active shader storage block index in $(D_INLINECODE program). $(D_INLINECODE storageBlockBinding) must be less than the value of $(D_INLINECODE GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS). If successful, $(D_INLINECODE glShaderStorageBinding) specifies that $(D_INLINECODE program) will use the data store of the buffer object bound to the binding point $(D_INLINECODE storageBlockBinding) to read and write the values of the buffer variables in the shader storage block identified by $(D_INLINECODE storageBlockIndex).
16262      + 
16263      + Params:
16264      +     program             = The name of the program containing the block whose binding to change.
16265      +     storageBlockIndex   = The index storage block within the program.
16266      +     storageBlockBinding = The index storage block binding to associate with the specified storage block.
16267      + 
16268      + Copyright:
16269      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16270      + 
16271      + See_Also:
16272      +     
16273      +/
16274     @OpenGL_Version(OGLIntroducedIn.V4P3)
16275     @OpenGL_Extension("GL_ARB_shader_storage_buffer_object")
16276     fn_glShaderStorageBlockBinding glShaderStorageBlockBinding;
16277     alias fn_glStencilFunc = extern(C) void function(GLenum func, GLint ref_, GLuint mask) @system @nogc nothrow;
16278 
16279     /++
16280      + glStencilFunc: man4/glStencilFunc.xml
16281      + 
16282      + Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. Stencil planes are first drawn into using GL drawing primitives, then geometry and images are rendered using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the reference value and the value in the stencil buffer. To enable and disable the test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_STENCIL_TEST). To specify actions based on the outcome of the stencil test, call $(D_INLINECODE glStencilOp) or $(D_INLINECODE glStencilOpSeparate). There can be two separate sets of $(D_INLINECODE func), $(D_INLINECODE ref), and $(D_INLINECODE mask) parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. $(D_INLINECODE glStencilFunc) sets both front and back stencil state to the same values. Use $(D_INLINECODE glStencilFuncSeparate) to set front and back stencil state to different values. $(D_INLINECODE func) is a symbolic constant that determines the stencil comparison function. It accepts one of eight values, shown in the following list. $(D_INLINECODE ref) is an integer reference value that is used in the stencil comparison. It is clamped to the range 0 2 n - 1, where n is the number of bitplanes in the stencil buffer. $(D_INLINECODE mask) is bitwise ANDed with both the reference value and the stored stencil value, with the ANDed values participating in the comparison. If represents the value stored in the corresponding stencil buffer location, the following list shows the effect of each comparison function that can be specified by $(D_INLINECODE func). Only if the comparison succeeds is the pixel passed through to the next stage in the rasterization process (see $(D_INLINECODE glStencilOp) ). All tests treat values as unsigned integers in the range 0 2 n - 1, where n is the number of bitplanes in the stencil buffer. The following values are accepted by $(D_INLINECODE func) :
16283      + 
16284      + Initially, the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes. $(D_INLINECODE glStencilFunc) is the same as calling $(D_INLINECODE glStencilFuncSeparate) with $(D_INLINECODE face) set to $(D_INLINECODE GL_FRONT_AND_BACK).
16285      + 
16286      + Params:
16287      +     func = Specifies the test function. Eight symbolic constants are valid: $(D_INLINECODE GL_NEVER), $(D_INLINECODE GL_LESS), $(D_INLINECODE GL_LEQUAL), $(D_INLINECODE GL_GREATER), $(D_INLINECODE GL_GEQUAL), $(D_INLINECODE GL_EQUAL), $(D_INLINECODE GL_NOTEQUAL), and $(D_INLINECODE GL_ALWAYS). The initial value is $(D_INLINECODE GL_ALWAYS).
16288      +     ref_ = Specifies the reference value for the stencil test. $(D_INLINECODE ref) is clamped to the range 0 2 n - 1, where n is the number of bitplanes in the stencil buffer. The initial value is 0.
16289      +     mask = Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.
16290      + 
16291      + Copyright:
16292      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16293      + 
16294      + See_Also:
16295      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glDepthFunc), $(D_INLINECODE glEnable), $(D_INLINECODE glLogicOp), $(D_INLINECODE glStencilFuncSeparate), $(D_INLINECODE glStencilMask), $(D_INLINECODE glStencilMaskSeparate), $(D_INLINECODE glStencilOp), $(D_INLINECODE glStencilOpSeparate)
16296      +/
16297     @OpenGL_Version(OGLIntroducedIn.V1P0)
16298     fn_glStencilFunc glStencilFunc;
16299     alias fn_glStencilFuncSeparate = extern(C) void function(GLenum face, GLenum func, GLint ref_, GLuint mask) @system @nogc nothrow;
16300 
16301     /++
16302      + glStencilFuncSeparate: man4/glStencilFuncSeparate.xml
16303      + 
16304      + Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the reference value and the value in the stencil buffer. To enable and disable the test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_STENCIL_TEST). To specify actions based on the outcome of the stencil test, call $(D_INLINECODE glStencilOp) or $(D_INLINECODE glStencilOpSeparate). There can be two separate sets of $(D_INLINECODE func), $(D_INLINECODE ref), and $(D_INLINECODE mask) parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. $(D_INLINECODE glStencilFunc) sets both front and back stencil state to the same values, as if $(D_INLINECODE glStencilFuncSeparate) were called with $(D_INLINECODE face) set to $(D_INLINECODE GL_FRONT_AND_BACK). $(D_INLINECODE func) is a symbolic constant that determines the stencil comparison function. It accepts one of eight values, shown in the following list. $(D_INLINECODE ref) is an integer reference value that is used in the stencil comparison. It is clamped to the range 0 2 n - 1, where n is the number of bitplanes in the stencil buffer. $(D_INLINECODE mask) is bitwise ANDed with both the reference value and the stored stencil value, with the ANDed values participating in the comparison. If represents the value stored in the corresponding stencil buffer location, the following list shows the effect of each comparison function that can be specified by $(D_INLINECODE func). Only if the comparison succeeds is the pixel passed through to the next stage in the rasterization process (see $(D_INLINECODE glStencilOp) ). All tests treat values as unsigned integers in the range 0 2 n - 1, where n is the number of bitplanes in the stencil buffer. The following values are accepted by $(D_INLINECODE func) :
16305      + 
16306      + Initially, the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes.
16307      + 
16308      + Params:
16309      +     face = Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), and $(D_INLINECODE GL_FRONT_AND_BACK).
16310      +     func = Specifies the test function. Eight symbolic constants are valid: $(D_INLINECODE GL_NEVER), $(D_INLINECODE GL_LESS), $(D_INLINECODE GL_LEQUAL), $(D_INLINECODE GL_GREATER), $(D_INLINECODE GL_GEQUAL), $(D_INLINECODE GL_EQUAL), $(D_INLINECODE GL_NOTEQUAL), and $(D_INLINECODE GL_ALWAYS). The initial value is $(D_INLINECODE GL_ALWAYS).
16311      +     ref_ = Specifies the reference value for the stencil test. $(D_INLINECODE ref) is clamped to the range 0 2 n - 1, where n is the number of bitplanes in the stencil buffer. The initial value is 0.
16312      +     mask = Specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.
16313      + 
16314      + Copyright:
16315      +     Copyright&copy; 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16316      + 
16317      + See_Also:
16318      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glDepthFunc), $(D_INLINECODE glEnable), $(D_INLINECODE glLogicOp), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilMask), $(D_INLINECODE glStencilMaskSeparate), $(D_INLINECODE glStencilOp), $(D_INLINECODE glStencilOpSeparate)
16319      +/
16320     @OpenGL_Version(OGLIntroducedIn.V2P0)
16321     fn_glStencilFuncSeparate glStencilFuncSeparate;
16322     alias fn_glStencilMask = extern(C) void function(GLuint mask) @system @nogc nothrow;
16323 
16324     /++
16325      + glStencilMask: man4/glStencilMask.xml
16326      + 
16327      + $(D_INLINECODE glStencilMask) controls the writing of individual bits in the stencil planes. The least significant n bits of $(D_INLINECODE mask), where n is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing. There can be two separate $(D_INLINECODE mask) writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. $(D_INLINECODE glStencilMask) sets both front and back stencil writemasks to the same values. Use $(D_INLINECODE glStencilMaskSeparate) to set front and back stencil writemasks to different values.
16328      + 
16329      + $(D_INLINECODE glStencilMask) is the same as calling $(D_INLINECODE glStencilMaskSeparate) with $(D_INLINECODE face) set to $(D_INLINECODE GL_FRONT_AND_BACK).
16330      + 
16331      + Params:
16332      +     mask = Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
16333      + 
16334      + Copyright:
16335      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16336      + 
16337      + See_Also:
16338      +     $(D_INLINECODE glColorMask), $(D_INLINECODE glDepthMask), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilFuncSeparate), $(D_INLINECODE glStencilMaskSeparate), $(D_INLINECODE glStencilOp), $(D_INLINECODE glStencilOpSeparate)
16339      +/
16340     @OpenGL_Version(OGLIntroducedIn.V1P0)
16341     fn_glStencilMask glStencilMask;
16342     alias fn_glStencilMaskSeparate = extern(C) void function(GLenum face, GLuint mask) @system @nogc nothrow;
16343 
16344     /++
16345      + glStencilMaskSeparate: man4/glStencilMaskSeparate.xml
16346      + 
16347      + $(D_INLINECODE glStencilMaskSeparate) controls the writing of individual bits in the stencil planes. The least significant n bits of $(D_INLINECODE mask), where n is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing. There can be two separate $(D_INLINECODE mask) writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. $(D_INLINECODE glStencilMask) sets both front and back stencil writemasks to the same values, as if $(D_INLINECODE glStencilMaskSeparate) were called with $(D_INLINECODE face) set to $(D_INLINECODE GL_FRONT_AND_BACK).
16348      + 
16349      + Params:
16350      +     face = Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), and $(D_INLINECODE GL_FRONT_AND_BACK).
16351      +     mask = Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
16352      + 
16353      + Copyright:
16354      +     Copyright&copy; 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16355      + 
16356      + See_Also:
16357      +     $(D_INLINECODE glColorMask), $(D_INLINECODE glDepthMask), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilFuncSeparate), $(D_INLINECODE glStencilMask), $(D_INLINECODE glStencilOp), $(D_INLINECODE glStencilOpSeparate)
16358      +/
16359     @OpenGL_Version(OGLIntroducedIn.V2P0)
16360     fn_glStencilMaskSeparate glStencilMaskSeparate;
16361     alias fn_glStencilOp = extern(C) void function(GLenum sfail, GLenum dpfail, GLenum dppass) @system @nogc nothrow;
16362 
16363     /++
16364      + glStencilOp: man4/glStencilOp.xml
16365      + 
16366      + Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_STENCIL_TEST); to control it, call $(D_INLINECODE glStencilFunc) or $(D_INLINECODE glStencilFuncSeparate). There can be two separate sets of $(D_INLINECODE sfail), $(D_INLINECODE dpfail), and $(D_INLINECODE dppass) parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. $(D_INLINECODE glStencilOp) sets both front and back stencil state to the same values. Use $(D_INLINECODE glStencilOpSeparate) to set front and back stencil state to different values. $(D_INLINECODE glStencilOp) takes three arguments that indicate what happens to the stored stencil value while stenciling is enabled. If the stencil test fails, no change is made to the pixel's color or depth buffers, and $(D_INLINECODE sfail) specifies what happens to the stencil buffer contents. The following eight actions are possible. Stencil buffer values are treated as unsigned integers. When incremented and decremented, values are clamped to 0 and 2 n - 1, where n is the value returned by querying $(D_INLINECODE GL_STENCIL_BITS). The other two arguments to $(D_INLINECODE glStencilOp) specify stencil buffer actions that depend on whether subsequent depth buffer tests succeed ( $(D_INLINECODE dppass) ) or fail ( $(D_INLINECODE dpfail) ) (see $(D_INLINECODE glDepthFunc) ). The actions are specified using the same eight symbolic constants as $(D_INLINECODE sfail). Note that $(D_INLINECODE dpfail) is ignored when there is no depth buffer, or when the depth buffer is not enabled. In these cases, $(D_INLINECODE sfail) and $(D_INLINECODE dppass) specify stencil action when the stencil test fails and passes, respectively.
16367      + 
16368      + Initially the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil tests always pass, regardless of any call to $(D_INLINECODE glStencilOp). $(D_INLINECODE glStencilOp) is the same as calling $(D_INLINECODE glStencilOpSeparate) with $(D_INLINECODE face) set to $(D_INLINECODE GL_FRONT_AND_BACK).
16369      + 
16370      + Params:
16371      +     sfail  = Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: $(D_INLINECODE GL_KEEP), $(D_INLINECODE GL_ZERO), $(D_INLINECODE GL_REPLACE), $(D_INLINECODE GL_INCR), $(D_INLINECODE GL_INCR_WRAP), $(D_INLINECODE GL_DECR), $(D_INLINECODE GL_DECR_WRAP), and $(D_INLINECODE GL_INVERT). The initial value is $(D_INLINECODE GL_KEEP).
16372      +     dpfail = Specifies the stencil action when the stencil test passes, but the depth test fails. $(D_INLINECODE dpfail) accepts the same symbolic constants as $(D_INLINECODE sfail). The initial value is $(D_INLINECODE GL_KEEP).
16373      +     dppass = Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. $(D_INLINECODE dppass) accepts the same symbolic constants as $(D_INLINECODE sfail). The initial value is $(D_INLINECODE GL_KEEP).
16374      + 
16375      + Copyright:
16376      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16377      + 
16378      + See_Also:
16379      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glDepthFunc), $(D_INLINECODE glEnable), $(D_INLINECODE glLogicOp), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilFuncSeparate), $(D_INLINECODE glStencilMask), $(D_INLINECODE glStencilMaskSeparate), $(D_INLINECODE glStencilOpSeparate)
16380      +/
16381     @OpenGL_Version(OGLIntroducedIn.V1P0)
16382     fn_glStencilOp glStencilOp;
16383     alias fn_glStencilOpSeparate = extern(C) void function(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) @system @nogc nothrow;
16384 
16385     /++
16386      + glStencilOpSeparate: man4/glStencilOpSeparate.xml
16387      + 
16388      + Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering. The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_STENCIL_TEST); to control it, call $(D_INLINECODE glStencilFunc) or $(D_INLINECODE glStencilFuncSeparate). There can be two separate sets of $(D_INLINECODE sfail), $(D_INLINECODE dpfail), and $(D_INLINECODE dppass) parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. $(D_INLINECODE glStencilOp) sets both front and back stencil state to the same values, as if $(D_INLINECODE glStencilOpSeparate) were called with $(D_INLINECODE face) set to $(D_INLINECODE GL_FRONT_AND_BACK). $(D_INLINECODE glStencilOpSeparate) takes three arguments that indicate what happens to the stored stencil value while stenciling is enabled. If the stencil test fails, no change is made to the pixel's color or depth buffers, and $(D_INLINECODE sfail) specifies what happens to the stencil buffer contents. The following eight actions are possible. Stencil buffer values are treated as unsigned integers. When incremented and decremented, values are clamped to 0 and 2 n - 1, where n is the value returned by querying $(D_INLINECODE GL_STENCIL_BITS). The other two arguments to $(D_INLINECODE glStencilOpSeparate) specify stencil buffer actions that depend on whether subsequent depth buffer tests succeed ( $(D_INLINECODE dppass) ) or fail ( $(D_INLINECODE dpfail) ) (see $(D_INLINECODE glDepthFunc) ). The actions are specified using the same eight symbolic constants as $(D_INLINECODE sfail). Note that $(D_INLINECODE dpfail) is ignored when there is no depth buffer, or when the depth buffer is not enabled. In these cases, $(D_INLINECODE sfail) and $(D_INLINECODE dppass) specify stencil action when the stencil test fails and passes, respectively.
16389      + 
16390      + Initially the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes.
16391      + 
16392      + Params:
16393      +     face   = Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: $(D_INLINECODE GL_FRONT), $(D_INLINECODE GL_BACK), and $(D_INLINECODE GL_FRONT_AND_BACK).
16394      +     sfail  = Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: $(D_INLINECODE GL_KEEP), $(D_INLINECODE GL_ZERO), $(D_INLINECODE GL_REPLACE), $(D_INLINECODE GL_INCR), $(D_INLINECODE GL_INCR_WRAP), $(D_INLINECODE GL_DECR), $(D_INLINECODE GL_DECR_WRAP), and $(D_INLINECODE GL_INVERT). The initial value is $(D_INLINECODE GL_KEEP).
16395      +     dpfail = Specifies the stencil action when the stencil test passes, but the depth test fails. $(D_INLINECODE dpfail) accepts the same symbolic constants as $(D_INLINECODE sfail). The initial value is $(D_INLINECODE GL_KEEP).
16396      +     dppass = Specifies the stencil action when both the stencil test and the depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. $(D_INLINECODE dppass) accepts the same symbolic constants as $(D_INLINECODE sfail). The initial value is $(D_INLINECODE GL_KEEP).
16397      + 
16398      + Copyright:
16399      +     Copyright&copy; 2006 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16400      + 
16401      + See_Also:
16402      +     $(D_INLINECODE glBlendFunc), $(D_INLINECODE glDepthFunc), $(D_INLINECODE glEnable), $(D_INLINECODE glLogicOp), $(D_INLINECODE glStencilFunc), $(D_INLINECODE glStencilFuncSeparate), $(D_INLINECODE glStencilMask), $(D_INLINECODE glStencilMaskSeparate), $(D_INLINECODE glStencilOp)
16403      +/
16404     @OpenGL_Version(OGLIntroducedIn.V2P0)
16405     fn_glStencilOpSeparate glStencilOpSeparate;
16406     alias fn_glTexBuffer = extern(C) void function(GLenum target, GLenum internalFormat, GLuint buffer) @system @nogc nothrow;
16407 
16408     /++
16409      + glTexBuffer: man4/glTexBuffer.xml
16410      + 
16411      + $(D_INLINECODE glTexBuffer) and $(D_INLINECODE glTextureBuffer) attaches the data store of a specified buffer object to a specified texture object, and specify the storage format for the texture image found found in the buffer object. The texture object must be a buffer texture. If $(D_INLINECODE buffer) is zero, any buffer object attached to the buffer texture is detached and no new buffer object is attached. If $(D_INLINECODE buffer) is non-zero, it must be the name of an existing buffer object. $(D_INLINECODE internalformat) specifies the storage format, and must be one of the following sized internal formats: $(D_INLINECODE internalformat) specifies the storage format, and must be one of the following sized internal formats: $(B Component) $(B Sized Internal Format) $(B Base Type) $(B Components) $(B Norm) 0 1 2 3 $(D_INLINECODE GL_R8) ubyte 1 YES R 0 0 1 $(D_INLINECODE GL_R16) ushort 1 YES R 0 0 1 $(D_INLINECODE GL_R16F) half 1 NO R 0 0 1 $(D_INLINECODE GL_R32F) float 1 NO R 0 0 1 $(D_INLINECODE GL_R8I) byte 1 NO R 0 0 1 $(D_INLINECODE GL_R16I) short 1 NO R 0 0 1 $(D_INLINECODE GL_R32I) int 1 NO R 0 0 1 $(D_INLINECODE GL_R8UI) ubyte 1 NO R 0 0 1 $(D_INLINECODE GL_R16UI) ushort 1 NO R 0 0 1 $(D_INLINECODE GL_R32UI) uint 1 NO R 0 0 1 $(D_INLINECODE GL_RG8) ubyte 2 YES R G 0 1 $(D_INLINECODE GL_RG16) ushort 2 YES R G 0 1 $(D_INLINECODE GL_RG16F) half 2 NO R G 0 1 $(D_INLINECODE GL_RG32F) float 2 NO R G 0 1 $(D_INLINECODE GL_RG8I) byte 2 NO R G 0 1 $(D_INLINECODE GL_RG16I) short 2 NO R G 0 1 $(D_INLINECODE GL_RG32I) int 2 NO R G 0 1 $(D_INLINECODE GL_RG8UI) ubyte 2 NO R G 0 1 $(D_INLINECODE GL_RG16UI) ushort 2 NO R G 0 1 $(D_INLINECODE GL_RG32UI) uint 2 NO R G 0 1 $(D_INLINECODE GL_RGB32F) float 3 NO R G B 1 $(D_INLINECODE GL_RGB32I) int 3 NO R G B 1 $(D_INLINECODE GL_RGB32UI) uint 3 NO R G B 1 $(D_INLINECODE GL_RGBA8) uint 4 YES R G B A $(D_INLINECODE GL_RGBA16) short 4 YES R G B A $(D_INLINECODE GL_RGBA16F) half 4 NO R G B A $(D_INLINECODE GL_RGBA32F) float 4 NO R G B A $(D_INLINECODE GL_RGBA8I) byte 4 NO R G B A $(D_INLINECODE GL_RGBA16I) short 4 NO R G B A $(D_INLINECODE GL_RGBA32I) int 4 NO R G B A $(D_INLINECODE GL_RGBA8UI) ubyte 4 NO R G B A $(D_INLINECODE GL_RGBA16UI) ushort 4 NO R G B A $(D_INLINECODE GL_RGBA32UI) uint 4 NO R G B A When a buffer object is attached to a buffer texture, the buffer object's data store is taken as the texture's texel array. The number of texels in the buffer texture's texel array is given by $$ \left\lfloor { size \over { components \times sizeof(base\_type) } } \right\rfloor $$ where $size$ is the size of the buffer object in basic machine units (the value of $(D_INLINECODE GL_BUFFER_SIZE) for $(D_INLINECODE buffer) ), and $components$ and $base\_type$ are the element count and base data type for elements, as specified in the table above. The number of texels in the texel array is then clamped to the value of the implementation-dependent limit $(D_INLINECODE GL_MAX_TEXTURE_BUFFER_SIZE). When a buffer texture is accessed in a shader, the results of a texel fetch are undefined if the specified texel coordinate is negative, or greater than or equal to the clamped number of texels in the texel array.
16412      + 
16413      + Params:
16414      +     target         = Specifies the target to which the texture is bound for $(D_INLINECODE glTexBuffer). Must be $(D_INLINECODE GL_TEXTURE_BUFFER).
16415      +     texture        = Specifies the texture object name for $(D_INLINECODE glTextureBuffer).
16416      +     internalFormat = Specifies the internal format of the data in the store belonging to $(D_INLINECODE buffer).
16417      +     buffer         = Specifies the name of the buffer object whose storage to attach to the active buffer texture.
16418      + 
16419      + Copyright:
16420      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16421      + 
16422      + See_Also:
16423      +     $(D_INLINECODE glGenBuffers), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glBufferData), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glGenTextures), $(D_INLINECODE glBindTexture), $(D_INLINECODE glDeleteTextures)
16424      +/
16425     @OpenGL_Version(OGLIntroducedIn.V3P1)
16426     fn_glTexBuffer glTexBuffer;
16427     alias fn_glTextureBuffer = extern(C) void function(GLuint texture, GLenum internalformat, GLuint buffer) @system @nogc nothrow;
16428     /// Ditto
16429     @OpenGL_Version(OGLIntroducedIn.V4P5)
16430     @OpenGL_Extension("GL_ARB_direct_state_access")
16431     fn_glTextureBuffer glTextureBuffer;
16432     alias fn_glTexBufferRange = extern(C) void function(GLenum target, GLenum internalFormat, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
16433 
16434     /++
16435      + glTexBufferRange: man4/glTexBufferRange.xml
16436      + 
16437      + $(D_INLINECODE glTexBufferRange) and $(D_INLINECODE glTextureBufferRange) attach a range of the data store of a specified buffer object to a specified texture object, and specify the storage format for the texture image found found in the buffer object. The texture object must be a buffer texture. If $(D_INLINECODE buffer) is zero, any buffer object attached to the buffer texture is detached and no new buffer object is attached. If $(D_INLINECODE buffer) is non-zero, it must be the name of an existing buffer object. The start and size of the range are specified by $(D_INLINECODE offset) and $(D_INLINECODE size) respectively, both measured in basic machine units. $(D_INLINECODE offset) must be greater than or equal to zero, $(D_INLINECODE size) must be greater than zero, and the sum of $(D_INLINECODE offset) and $(D_INLINECODE size) must not exceed the value of $(D_INLINECODE GL_BUFFER_SIZE) for $(D_INLINECODE buffer). Furthermore, $(D_INLINECODE offset) must be an integer multiple of the value of $(D_INLINECODE GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT). $(D_INLINECODE internalformat) specifies the storage format, and must be one of the following sized internal formats: $(B Component) $(B Sized Internal Format) $(B Base Type) $(B Components) $(B Norm) 0 1 2 3 $(D_INLINECODE GL_R8) ubyte 1 YES R 0 0 1 $(D_INLINECODE GL_R16) ushort 1 YES R 0 0 1 $(D_INLINECODE GL_R16F) half 1 NO R 0 0 1 $(D_INLINECODE GL_R32F) float 1 NO R 0 0 1 $(D_INLINECODE GL_R8I) byte 1 NO R 0 0 1 $(D_INLINECODE GL_R16I) short 1 NO R 0 0 1 $(D_INLINECODE GL_R32I) int 1 NO R 0 0 1 $(D_INLINECODE GL_R8UI) ubyte 1 NO R 0 0 1 $(D_INLINECODE GL_R16UI) ushort 1 NO R 0 0 1 $(D_INLINECODE GL_R32UI) uint 1 NO R 0 0 1 $(D_INLINECODE GL_RG8) ubyte 2 YES R G 0 1 $(D_INLINECODE GL_RG16) ushort 2 YES R G 0 1 $(D_INLINECODE GL_RG16F) half 2 NO R G 0 1 $(D_INLINECODE GL_RG32F) float 2 NO R G 0 1 $(D_INLINECODE GL_RG8I) byte 2 NO R G 0 1 $(D_INLINECODE GL_RG16I) short 2 NO R G 0 1 $(D_INLINECODE GL_RG32I) int 2 NO R G 0 1 $(D_INLINECODE GL_RG8UI) ubyte 2 NO R G 0 1 $(D_INLINECODE GL_RG16UI) ushort 2 NO R G 0 1 $(D_INLINECODE GL_RG32UI) uint 2 NO R G 0 1 $(D_INLINECODE GL_RGB32F) float 3 NO R G B 1 $(D_INLINECODE GL_RGB32I) int 3 NO R G B 1 $(D_INLINECODE GL_RGB32UI) uint 3 NO R G B 1 $(D_INLINECODE GL_RGBA8) uint 4 YES R G B A $(D_INLINECODE GL_RGBA16) short 4 YES R G B A $(D_INLINECODE GL_RGBA16F) half 4 NO R G B A $(D_INLINECODE GL_RGBA32F) float 4 NO R G B A $(D_INLINECODE GL_RGBA8I) byte 4 NO R G B A $(D_INLINECODE GL_RGBA16I) short 4 NO R G B A $(D_INLINECODE GL_RGBA32I) int 4 NO R G B A $(D_INLINECODE GL_RGBA8UI) ubyte 4 NO R G B A $(D_INLINECODE GL_RGBA16UI) ushort 4 NO R G B A $(D_INLINECODE GL_RGBA32UI) uint 4 NO R G B A When a range of a buffer object is attached to a buffer texture, the specified range of the buffer object's data store is taken as the texture's texel array. The number of texels in the buffer texture's texel array is given by $$ \left\lfloor { size \over { components \times sizeof(base\_type) } } \right\rfloor $$ where $components$ and $base\_type$ are the element count and base data type for elements, as specified in the table above. The number of texels in the texel array is then clamped to the value of the implementation-dependent limit $(D_INLINECODE GL_MAX_TEXTURE_BUFFER_SIZE). When a buffer texture is accessed in a shader, the results of a texel fetch are undefined if the specified texel coordinate is negative, or greater than or equal to the clamped number of texels in the texel array.
16438      + 
16439      + Params:
16440      +     target         = Specifies the target to which the texture object is bound for $(D_INLINECODE glTexBufferRange). Must be $(D_INLINECODE GL_TEXTURE_BUFFER).
16441      +     texture        = Specifies the texture object name for $(D_INLINECODE glTextureBufferRange).
16442      +     internalFormat = Specifies the internal format of the data in the store belonging to $(D_INLINECODE buffer).
16443      +     buffer         = Specifies the name of the buffer object whose storage to attach to the active buffer texture.
16444      +     offset         = Specifies the offset of the start of the range of the buffer's data store to attach.
16445      +     size           = Specifies the size of the range of the buffer's data store to attach.
16446      + 
16447      + Copyright:
16448      +     Copyright&copy; 2012-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16449      + 
16450      + See_Also:
16451      +     $(D_INLINECODE glTexBuffer).
16452      +/
16453     @OpenGL_Version(OGLIntroducedIn.V4P3)
16454     @OpenGL_Extension("GL_ARB_texture_buffer_range")
16455     fn_glTexBufferRange glTexBufferRange;
16456     alias fn_glTextureBufferRange = extern(C) void function(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size) @system @nogc nothrow;
16457     /// Ditto
16458     @OpenGL_Version(OGLIntroducedIn.V4P5)
16459     @OpenGL_Extension("GL_ARB_direct_state_access")
16460     fn_glTextureBufferRange glTextureBufferRange;
16461     alias fn_glTexImage1D = extern(C) void function(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid* data) @system @nogc nothrow;
16462 
16463     /++
16464      + glTexImage1D: man4/glTexImage1D.xml
16465      + 
16466      + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable one-dimensional texturing, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_TEXTURE_1D). Texture images are defined with $(D_INLINECODE glTexImage1D). The arguments describe the parameters of the texture image, such as width, width of the border, level-of-detail number (see $(D_INLINECODE glTexParameter) ), and the internal resolution and format used to store the image. The last three arguments describe how the image is represented in memory. If $(D_INLINECODE target) is $(D_INLINECODE GL_PROXY_TEXTURE_1D), no data is read from $(D_INLINECODE data), but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see $(D_INLINECODE glGetError) ). To query for an entire mipmap array, use an image array level greater than or equal to 1. If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D), data is read from $(D_INLINECODE data) as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on $(D_INLINECODE type). These values are grouped into sets of one, two, three, or four values, depending on $(D_INLINECODE format), to form elements. Each data byte is treated as eight 1-bit elements, with bit ordering determined by $(D_INLINECODE GL_UNPACK_LSB_FIRST) (see $(D_INLINECODE glPixelStore) ). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store. The first element corresponds to the left end of the texture array. Subsequent elements progress left-to-right through the remaining texels in the texture array. The final element corresponds to the right end of the texture array. $(D_INLINECODE format) determines the composition of each element in $(D_INLINECODE data). It can assume one of these symbolic values: If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with $(D_INLINECODE internalFormat). The GL will choose an internal representation that closely approximates that requested by $(D_INLINECODE internalFormat), but it may not match exactly. (The representations specified by $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB) and $(D_INLINECODE GL_RGBA) must match exactly.) $(D_INLINECODE internalFormat) may be one of the base internal formats shown in Table 1, below<h3> Base Internal Formats</h3> $(B Base Internal Format) $(B RGBA, Depth and Stencil Values) $(B Internal Components) $(D_INLINECODE GL_DEPTH_COMPONENT) Depth D $(D_INLINECODE GL_DEPTH_STENCIL) Depth, Stencil D, S $(D_INLINECODE GL_RED) Red R $(D_INLINECODE GL_RG) Red, Green R, G $(D_INLINECODE GL_RGB) Red, Green, Blue R, G, B $(D_INLINECODE GL_RGBA) Red, Green, Blue, Alpha R, G, B, A $(D_INLINECODE internalFormat) may also be one of the sized internal formats shown in Table 2, below<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32 Finally, $(D_INLINECODE internalFormat) may also be one of the generic or compressed compressed texture formats shown in Table 3 below<h3> Compressed Internal Formats</h3> $(B Compressed Internal Format) $(B Base Internal Format) $(B Type) $(D_INLINECODE GL_COMPRESSED_RED) $(D_INLINECODE GL_RED) Generic $(D_INLINECODE GL_COMPRESSED_RG) $(D_INLINECODE GL_RG) Generic $(D_INLINECODE GL_COMPRESSED_RGB) $(D_INLINECODE GL_RGB) Generic $(D_INLINECODE GL_COMPRESSED_RGBA) $(D_INLINECODE GL_RGBA) Generic $(D_INLINECODE GL_COMPRESSED_SRGB) $(D_INLINECODE GL_RGB) Generic $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA) $(D_INLINECODE GL_RGBA) Generic $(D_INLINECODE GL_COMPRESSED_RED_RGTC1) $(D_INLINECODE GL_RED) Specific $(D_INLINECODE GL_COMPRESSED_SIGNED_RED_RGTC1) $(D_INLINECODE GL_RED) Specific $(D_INLINECODE GL_COMPRESSED_RG_RGTC2) $(D_INLINECODE GL_RG) Specific $(D_INLINECODE GL_COMPRESSED_SIGNED_RG_RGTC2) $(D_INLINECODE GL_RG) Specific $(D_INLINECODE GL_COMPRESSED_RGBA_BPTC_UNORM) $(D_INLINECODE GL_RGBA) Specific $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM) $(D_INLINECODE GL_RGBA) Specific $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT) $(D_INLINECODE GL_RGB) Specific $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT) $(D_INLINECODE GL_RGB) Specific If the $(D_INLINECODE internalFormat) parameter is one of the generic compressed formats, $(D_INLINECODE GL_COMPRESSED_RED), $(D_INLINECODE GL_COMPRESSED_RG), $(D_INLINECODE GL_COMPRESSED_RGB), or $(D_INLINECODE GL_COMPRESSED_RGBA), the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage.  If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. If the $(D_INLINECODE internalFormat) parameter is $(D_INLINECODE GL_SRGB), $(D_INLINECODE GL_SRGB8), $(D_INLINECODE GL_SRGB_ALPHA) or $(D_INLINECODE GL_SRGB8_ALPHA8), the texture is treated as if the red, green, or blue components are encoded in the sRGB color space.    Any alpha component is left unchanged.  The conversion from the sRGB encoded component c s to a linear component c l is: c l = { c s 12.92 if c s &le; 0.04045 ( c s + 0.055 1.055 ) 2.4 if c s &gt; 0.04045 Assume c s is the sRGB component in the range [0,1]. Use the $(D_INLINECODE GL_PROXY_TEXTURE_1D) target to try out a resolution and format. The implementation will update and recompute its best match for the requested storage resolution and format. To then query this state, call $(D_INLINECODE glGetTexLevelParameter). If the texture cannot be accommodated, texture state is set to 0. A one-component texture image uses only the red component of the RGBA color from $(D_INLINECODE data). A two-component image uses the R and A values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result.  See $(D_INLINECODE glTexParameter) for details on texture comparison.
16467      + 
16468      + $(D_INLINECODE glPixelStore) modes affect texture images. $(D_INLINECODE data) may be a null pointer. In this case texture memory is allocated to accommodate a texture of width $(D_INLINECODE width). You can then download subtextures to initialize the texture memory. The image is undefined if the program tries to apply an uninitialized portion of the texture image to a primitive. $(D_INLINECODE glTexImage1D) specifies the one-dimensional texture for the current texture unit, specified with $(D_INLINECODE glActiveTexture). $(D_INLINECODE GL_STENCIL_INDEX) may be used for $(D_INLINECODE format) only if the GL version is 4.4 or higher.
16469      + 
16470      + Params:
16471      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_1D) or $(D_INLINECODE GL_PROXY_TEXTURE_1D).
16472      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
16473      +     internalFormat = Specifies the number of color components in the texture. Must be one of base internal formats given in Table 1, one of the sized internal formats given in Table 2, or one of the compressed internal formats given in Table 3, below.
16474      +     width          = Specifies the width of the texture image. All implementations support texture images that are at least 1024 texels wide. The height of the 1D texture image is 1.
16475      +     border         = This value must be 0.
16476      +     format         = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_BGRA), $(D_INLINECODE GL_RED_INTEGER), $(D_INLINECODE GL_RG_INTEGER), $(D_INLINECODE GL_RGB_INTEGER), $(D_INLINECODE GL_BGR_INTEGER), $(D_INLINECODE GL_RGBA_INTEGER), $(D_INLINECODE GL_BGRA_INTEGER), $(D_INLINECODE GL_STENCIL_INDEX), $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_STENCIL).
16477      +     type           = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
16478      +     data           = Specifies a pointer to the image data in memory.
16479      + 
16480      + Copyright:
16481      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16482      + 
16483      + See_Also:
16484      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glGetCompressedTexImage), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
16485      +/
16486     @OpenGL_Version(OGLIntroducedIn.V1P0)
16487     fn_glTexImage1D glTexImage1D;
16488     alias fn_glTexImage2D = extern(C) void function(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* data) @system @nogc nothrow;
16489 
16490     /++
16491      + glTexImage2D: man4/glTexImage2D.xml
16492      + 
16493      + Texturing allows elements of an image array to be read by shaders. To define texture images, call $(D_INLINECODE glTexImage2D). The arguments describe the parameters of the texture image, such as height, width, width of the border, level-of-detail number (see $(D_INLINECODE glTexParameter) ), and number of color components provided. The last three arguments describe how the image is represented in memory. If $(D_INLINECODE target) is $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP), or $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE), no data is read from $(D_INLINECODE data), but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see $(D_INLINECODE glGetError) ). To query for an entire mipmap array, use an image array level greater than or equal to 1. If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_RECTANGLE) or one of the $(D_INLINECODE GL_TEXTURE_CUBE_MAP) targets, data is read from $(D_INLINECODE data) as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on $(D_INLINECODE type).  These values are grouped into sets of one, two, three, or four values, depending on $(D_INLINECODE format), to form elements. Each data byte is treated as eight 1-bit elements, with bit ordering determined by $(D_INLINECODE GL_UNPACK_LSB_FIRST) (see $(D_INLINECODE glPixelStore) ). If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D_ARRAY), data is interpreted as an array of one-dimensional images. If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store. The first element corresponds to the lower left corner of the texture image. Subsequent elements progress left-to-right through the remaining texels in the lowest row of the texture image, and then in successively higher rows of the texture image. The final element corresponds to the upper right corner of the texture image. $(D_INLINECODE format) determines the composition of each element in $(D_INLINECODE data). It can assume one of these symbolic values: If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with $(D_INLINECODE internalFormat). The GL will choose an internal representation that closely approximates that requested by $(D_INLINECODE internalFormat), but it may not match exactly. (The representations specified by $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), and $(D_INLINECODE GL_RGBA) must match exactly.) $(D_INLINECODE internalFormat) may be one of the base internal formats shown in Table 1, below<h3> Base Internal Formats</h3> $(B Base Internal Format) $(B RGBA, Depth and Stencil Values) $(B Internal Components) $(D_INLINECODE GL_DEPTH_COMPONENT) Depth D $(D_INLINECODE GL_DEPTH_STENCIL) Depth, Stencil D, S $(D_INLINECODE GL_RED) Red R $(D_INLINECODE GL_RG) Red, Green R, G $(D_INLINECODE GL_RGB) Red, Green, Blue R, G, B $(D_INLINECODE GL_RGBA) Red, Green, Blue, Alpha R, G, B, A $(D_INLINECODE internalFormat) may also be one of the sized internal formats shown in Table 2, below<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32 Finally, $(D_INLINECODE internalFormat) may also be one of the generic or compressed compressed texture formats shown in Table 3 below<h3> Compressed Internal Formats</h3> $(B Compressed Internal Format) $(B Base Internal Format) $(B Type) $(D_INLINECODE GL_COMPRESSED_RED) $(D_INLINECODE GL_RED) Generic $(D_INLINECODE GL_COMPRESSED_RG) $(D_INLINECODE GL_RG) Generic $(D_INLINECODE GL_COMPRESSED_RGB) $(D_INLINECODE GL_RGB) Generic $(D_INLINECODE GL_COMPRESSED_RGBA) $(D_INLINECODE GL_RGBA) Generic $(D_INLINECODE GL_COMPRESSED_SRGB) $(D_INLINECODE GL_RGB) Generic $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA) $(D_INLINECODE GL_RGBA) Generic $(D_INLINECODE GL_COMPRESSED_RED_RGTC1) $(D_INLINECODE GL_RED) Specific $(D_INLINECODE GL_COMPRESSED_SIGNED_RED_RGTC1) $(D_INLINECODE GL_RED) Specific $(D_INLINECODE GL_COMPRESSED_RG_RGTC2) $(D_INLINECODE GL_RG) Specific $(D_INLINECODE GL_COMPRESSED_SIGNED_RG_RGTC2) $(D_INLINECODE GL_RG) Specific $(D_INLINECODE GL_COMPRESSED_RGBA_BPTC_UNORM) $(D_INLINECODE GL_RGBA) Specific $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM) $(D_INLINECODE GL_RGBA) Specific $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT) $(D_INLINECODE GL_RGB) Specific $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT) $(D_INLINECODE GL_RGB) Specific If the $(D_INLINECODE internalFormat) parameter is one of the generic compressed formats, $(D_INLINECODE GL_COMPRESSED_RED), $(D_INLINECODE GL_COMPRESSED_RG), $(D_INLINECODE GL_COMPRESSED_RGB), or $(D_INLINECODE GL_COMPRESSED_RGBA), the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage.  If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. If the $(D_INLINECODE internalFormat) parameter is $(D_INLINECODE GL_SRGB), $(D_INLINECODE GL_SRGB8), $(D_INLINECODE GL_SRGB_ALPHA), or $(D_INLINECODE GL_SRGB8_ALPHA8), the texture is treated as if the red, green, or blue components are encoded in the sRGB color space.    Any alpha component is left unchanged.  The conversion from the sRGB encoded component c s to a linear component c l is: c l = { c s 12.92 if c s &le; 0.04045 ( c s + 0.055 1.055 ) 2.4 if c s &gt; 0.04045 Assume c s is the sRGB component in the range [0,1]. Use the $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE), or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP) target to try out a resolution and format. The implementation will update and recompute its best match for the requested storage resolution and format. To then query this state, call $(D_INLINECODE glGetTexLevelParameter). If the texture cannot be accommodated, texture state is set to 0. A one-component texture image uses only the red component of the RGBA color extracted from $(D_INLINECODE data). A two-component image uses the R and G values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components. Image-based shadowing can be enabled by comparing texture r coordinates to depth texture values to generate a boolean result. See $(D_INLINECODE glTexParameter) for details on texture comparison.
16494      + 
16495      + The $(D_INLINECODE glPixelStore) mode affects texture images. $(D_INLINECODE data) may be a null pointer. In this case, texture memory is allocated to accommodate a texture of width $(D_INLINECODE width) and height $(D_INLINECODE height). You can then download subtextures to initialize this texture memory. The image is undefined if the user tries to apply an uninitialized portion of the texture image to a primitive. $(D_INLINECODE glTexImage2D) specifies the two-dimensional texture for the current texture unit, specified with $(D_INLINECODE glActiveTexture). $(D_INLINECODE GL_STENCIL_INDEX) may be used for $(D_INLINECODE format) only if the GL version is 4.4 or higher.
16496      + 
16497      + Params:
16498      +     target         = Specifies the target texture. Must be $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP).
16499      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image. If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_RECTANGLE) or $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE), $(D_INLINECODE level) must be 0.
16500      +     internalFormat = Specifies the number of color components in the texture. Must be one of base internal formats given in Table 1, one of the sized internal formats given in Table 2, or one of the compressed internal formats given in Table 3, below.
16501      +     width          = Specifies the width of the texture image. All implementations support texture images that are at least 1024 texels wide.
16502      +     height         = Specifies the height of the texture image, or the number of layers in a texture array, in the case of the $(D_INLINECODE GL_TEXTURE_1D_ARRAY) and $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY) targets. All implementations support 2D texture images that are at least 1024 texels high, and texture arrays that are at least 256 layers deep.
16503      +     border         = This value must be 0.
16504      +     format         = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_BGRA), $(D_INLINECODE GL_RED_INTEGER), $(D_INLINECODE GL_RG_INTEGER), $(D_INLINECODE GL_RGB_INTEGER), $(D_INLINECODE GL_BGR_INTEGER), $(D_INLINECODE GL_RGBA_INTEGER), $(D_INLINECODE GL_BGRA_INTEGER), $(D_INLINECODE GL_STENCIL_INDEX), $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_STENCIL).
16505      +     type           = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
16506      +     data           = Specifies a pointer to the image data in memory.
16507      + 
16508      + Copyright:
16509      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16510      + 
16511      + See_Also:
16512      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
16513      +/
16514     @OpenGL_Version(OGLIntroducedIn.V1P0)
16515     fn_glTexImage2D glTexImage2D;
16516     alias fn_glTexImage2DMultisample = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) @system @nogc nothrow;
16517 
16518     /++
16519      + glTexImage2DMultisample: man4/glTexImage2DMultisample.xml
16520      + 
16521      + $(D_INLINECODE glTexImage2DMultisample) establishes the data storage, format, dimensions and number of samples of a multisample texture's image. $(D_INLINECODE target) must be $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE). $(D_INLINECODE width) and $(D_INLINECODE height) are the dimensions in texels of the texture, and must be in the range zero to the value of $(D_INLINECODE GL_MAX_TEXTURE_SIZE) minus one. $(D_INLINECODE samples) specifies the number of samples in the image and must be in the range zero to the value of $(D_INLINECODE GL_MAX_SAMPLES) minus one. $(D_INLINECODE internalformat) must be a color-renderable, depth-renderable, or stencil-renderable format. If $(D_INLINECODE fixedsamplelocations) is $(D_INLINECODE GL_TRUE), the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image. When a multisample texture is accessed in a shader, the access takes one vector of integers describing which texel to fetch and an integer corresponding to the sample numbers describing which sample within the texel to fetch. No standard sampling instructions are allowed on the multisample texture targets.
16522      + 
16523      + $(D_INLINECODE glTexImage2DMultisample) is available only if the GL version is 3.2 or greater.
16524      + 
16525      + Params:
16526      +     target               = Specifies the target of the operation. $(D_INLINECODE target) must be $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE).
16527      +     samples              = The number of samples in the multisample texture's image.
16528      +     internalformat       = The internal format to be used to store the multisample texture's image. $(D_INLINECODE internalformat) must specify a color-renderable, depth-renderable, or stencil-renderable format.
16529      +     width                = The width of the multisample texture's image, in texels.
16530      +     height               = The height of the multisample texture's image, in texels.
16531      +     fixedsamplelocations = Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
16532      + 
16533      + Copyright:
16534      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16535      + 
16536      + See_Also:
16537      +     $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage2DMultisample)
16538      +/
16539     @OpenGL_Version(OGLIntroducedIn.V3P2)
16540     @OpenGL_Extension("GL_ARB_texture_multisample")
16541     fn_glTexImage2DMultisample glTexImage2DMultisample;
16542     alias fn_glTexImage3D = extern(C) void function(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data) @system @nogc nothrow;
16543 
16544     /++
16545      + glTexImage3D: man4/glTexImage3D.xml
16546      + 
16547      + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable and disable three-dimensional texturing, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_TEXTURE_3D). To define texture images, call $(D_INLINECODE glTexImage3D). The arguments describe the parameters of the texture image, such as height, width, depth, width of the border, level-of-detail number (see $(D_INLINECODE glTexParameter) ), and number of color components provided. The last three arguments describe how the image is represented in memory. If $(D_INLINECODE target) is $(D_INLINECODE GL_PROXY_TEXTURE_3D), no data is read from $(D_INLINECODE data), but all of the texture image state is recalculated, checked for consistency, and checked against the implementation's capabilities. If the implementation cannot handle a texture of the requested texture size, it sets all of the image state to 0, but does not generate an error (see $(D_INLINECODE glGetError) ). To query for an entire mipmap array, use an image array level greater than or equal to 1. If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_3D), data is read from $(D_INLINECODE data) as a sequence of signed or unsigned bytes, shorts, or longs, or single-precision floating-point values, depending on $(D_INLINECODE type). These values are grouped into sets of one, two, three, or four values, depending on $(D_INLINECODE format), to form elements. Each data byte is treated as eight 1-bit elements, with bit ordering determined by $(D_INLINECODE GL_UNPACK_LSB_FIRST) (see $(D_INLINECODE glPixelStore) ). If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE data) is treated as a byte offset into the buffer object's data store. The first element corresponds to the lower left corner of the texture image. Subsequent elements progress left-to-right through the remaining texels in the lowest row of the texture image, and then in successively higher rows of the texture image. The final element corresponds to the upper right corner of the texture image. $(D_INLINECODE format) determines the composition of each element in $(D_INLINECODE data). It can assume one of these symbolic values: If an application wants to store the texture at a certain resolution or in a certain format, it can request the resolution and format with $(D_INLINECODE internalFormat). The GL will choose an internal representation that closely approximates that requested by $(D_INLINECODE internalFormat), but it may not match exactly. (The representations specified by $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), and $(D_INLINECODE GL_RGBA) must match exactly.) $(D_INLINECODE internalFormat) may be one of the base internal formats shown in Table 1, below<h3> Base Internal Formats</h3> $(B Base Internal Format) $(B RGBA, Depth and Stencil Values) $(B Internal Components) $(D_INLINECODE GL_DEPTH_COMPONENT) Depth D $(D_INLINECODE GL_DEPTH_STENCIL) Depth, Stencil D, S $(D_INLINECODE GL_RED) Red R $(D_INLINECODE GL_RG) Red, Green R, G $(D_INLINECODE GL_RGB) Red, Green, Blue R, G, B $(D_INLINECODE GL_RGBA) Red, Green, Blue, Alpha R, G, B, A $(D_INLINECODE internalFormat) may also be one of the sized internal formats shown in Table 2, below<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32 Finally, $(D_INLINECODE internalFormat) may also be one of the generic or compressed compressed texture formats shown in Table 3 below<h3> Compressed Internal Formats</h3> $(B Compressed Internal Format) $(B Base Internal Format) $(B Type) $(D_INLINECODE GL_COMPRESSED_RED) $(D_INLINECODE GL_RED) Generic $(D_INLINECODE GL_COMPRESSED_RG) $(D_INLINECODE GL_RG) Generic $(D_INLINECODE GL_COMPRESSED_RGB) $(D_INLINECODE GL_RGB) Generic $(D_INLINECODE GL_COMPRESSED_RGBA) $(D_INLINECODE GL_RGBA) Generic $(D_INLINECODE GL_COMPRESSED_SRGB) $(D_INLINECODE GL_RGB) Generic $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA) $(D_INLINECODE GL_RGBA) Generic $(D_INLINECODE GL_COMPRESSED_RED_RGTC1) $(D_INLINECODE GL_RED) Specific $(D_INLINECODE GL_COMPRESSED_SIGNED_RED_RGTC1) $(D_INLINECODE GL_RED) Specific $(D_INLINECODE GL_COMPRESSED_RG_RGTC2) $(D_INLINECODE GL_RG) Specific $(D_INLINECODE GL_COMPRESSED_SIGNED_RG_RGTC2) $(D_INLINECODE GL_RG) Specific $(D_INLINECODE GL_COMPRESSED_RGBA_BPTC_UNORM) $(D_INLINECODE GL_RGBA) Specific $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM) $(D_INLINECODE GL_RGBA) Specific $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT) $(D_INLINECODE GL_RGB) Specific $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT) $(D_INLINECODE GL_RGB) Specific If the $(D_INLINECODE internalFormat) parameter is one of the generic compressed formats, $(D_INLINECODE GL_COMPRESSED_RED), $(D_INLINECODE GL_COMPRESSED_RG), $(D_INLINECODE GL_COMPRESSED_RGB), or $(D_INLINECODE GL_COMPRESSED_RGBA), the GL will replace the internal format with the symbolic constant for a specific internal format and compress the texture before storage.  If no corresponding internal format is available, or the GL can not compress that image for any reason, the internal format is instead replaced with a corresponding base internal format. If the $(D_INLINECODE internalFormat) parameter is $(D_INLINECODE GL_SRGB), $(D_INLINECODE GL_SRGB8), $(D_INLINECODE GL_SRGB_ALPHA), or $(D_INLINECODE GL_SRGB8_ALPHA8), the texture is treated as if the red, green, blue, or luminance components are encoded in the sRGB color space.    Any alpha component is left unchanged.  The conversion from the sRGB encoded component c s to a linear component c l is: c l = { c s 12.92 if c s &le; 0.04045 ( c s + 0.055 1.055 ) 2.4 if c s &gt; 0.04045 Assume c s is the sRGB component in the range [0,1]. Use the $(D_INLINECODE GL_PROXY_TEXTURE_3D) target to try out a resolution and format. The implementation will update and recompute its best match for the requested storage resolution and format. To then query this state, call $(D_INLINECODE glGetTexLevelParameter). If the texture cannot be accommodated, texture state is set to 0. A one-component texture image uses only the red component of the RGBA color extracted from $(D_INLINECODE data). A two-component image uses the R and A values. A three-component image uses the R, G, and B values. A four-component image uses all of the RGBA components.
16548      + 
16549      + The $(D_INLINECODE glPixelStore) mode affects texture images. $(D_INLINECODE data) may be a null pointer. In this case texture memory is allocated to accommodate a texture of width $(D_INLINECODE width), height $(D_INLINECODE height), and depth $(D_INLINECODE depth). You can then download subtextures to initialize this texture memory. The image is undefined if the user tries to apply an uninitialized portion of the texture image to a primitive. $(D_INLINECODE glTexImage3D) specifies the three-dimensional texture for the current texture unit, specified with $(D_INLINECODE glActiveTexture). $(D_INLINECODE GL_STENCIL_INDEX) may be used for $(D_INLINECODE format) only if the GL version is 4.4 or higher.
16550      + 
16551      + Params:
16552      +     target         = Specifies the target texture. Must be one of $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_PROXY_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_ARRAY).
16553      +     level          = Specifies the level-of-detail number. Level 0 is the base image level. Level n is the n th mipmap reduction image.
16554      +     internalFormat = Specifies the number of color components in the texture. Must be one of base internal formats given in Table 1, one of the sized internal formats given in Table 2, or one of the compressed internal formats given in Table 3, below.
16555      +     width          = Specifies the width of the texture image. All implementations support 3D texture images that are at least 16 texels wide.
16556      +     height         = Specifies the height of the texture image. All implementations support 3D texture images that are at least 256 texels high.
16557      +     depth          = Specifies the depth of the texture image, or the number of layers in a texture array. All implementations support 3D texture images that are at least 256 texels deep, and texture arrays that are at least 256 layers deep.
16558      +     border         = This value must be 0.
16559      +     format         = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_BGRA), $(D_INLINECODE GL_RED_INTEGER), $(D_INLINECODE GL_RG_INTEGER), $(D_INLINECODE GL_RGB_INTEGER), $(D_INLINECODE GL_BGR_INTEGER), $(D_INLINECODE GL_RGBA_INTEGER), $(D_INLINECODE GL_BGRA_INTEGER), $(D_INLINECODE GL_STENCIL_INDEX), $(D_INLINECODE GL_DEPTH_COMPONENT), $(D_INLINECODE GL_DEPTH_STENCIL).
16560      +     type           = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
16561      +     data           = Specifies a pointer to the image data in memory.
16562      + 
16563      + Copyright:
16564      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16565      + 
16566      + See_Also:
16567      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCompressedTexImage1D), $(D_INLINECODE glCompressedTexImage2D), $(D_INLINECODE glCompressedTexImage3D), $(D_INLINECODE glCompressedTexSubImage1D), $(D_INLINECODE glCompressedTexSubImage2D), $(D_INLINECODE glCompressedTexSubImage3D), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glGetCompressedTexImage), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
16568      +/
16569     @OpenGL_Version(OGLIntroducedIn.V1P2)
16570     fn_glTexImage3D glTexImage3D;
16571     alias fn_glTexImage3DMultisample = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) @system @nogc nothrow;
16572 
16573     /++
16574      + glTexImage3DMultisample: man4/glTexImage3DMultisample.xml
16575      + 
16576      + $(D_INLINECODE glTexImage3DMultisample) establishes the data storage, format, dimensions and number of samples of a multisample texture's image. $(D_INLINECODE target) must be $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY). $(D_INLINECODE width) and $(D_INLINECODE height) are the dimensions in texels of the texture, and must be in the range zero to the value of $(D_INLINECODE GL_MAX_TEXTURE_SIZE) minus one. $(D_INLINECODE depth) is the number of array slices in the array texture's image. $(D_INLINECODE samples) specifies the number of samples in the image and must be in the range zero to the value of $(D_INLINECODE GL_MAX_SAMPLES) minus one. $(D_INLINECODE internalformat) must be a color-renderable, depth-renderable, or stencil-renderable format. If $(D_INLINECODE fixedsamplelocations) is $(D_INLINECODE GL_TRUE), the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image. When a multisample texture is accessed in a shader, the access takes one vector of integers describing which texel to fetch and an integer corresponding to the sample numbers describing which sample within the texel to fetch. No standard sampling instructions are allowed on the multisample texture targets.
16577      + 
16578      + $(D_INLINECODE glTexImage2DMultisample) is available only if the GL version is 3.2 or greater.
16579      + 
16580      + Params:
16581      +     target               = Specifies the target of the operation. $(D_INLINECODE target) must be $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY).
16582      +     samples              = The number of samples in the multisample texture's image.
16583      +     internalformat       = The internal format to be used to store the multisample texture's image. $(D_INLINECODE internalformat) must specify a color-renderable, depth-renderable, or stencil-renderable format.
16584      +     width                = The width of the multisample texture's image, in texels.
16585      +     height               = The height of the multisample texture's image, in texels.
16586      +     fixedsamplelocations = Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
16587      + 
16588      + Copyright:
16589      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16590      + 
16591      + See_Also:
16592      +     $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage2DMultisample)
16593      +/
16594     @OpenGL_Version(OGLIntroducedIn.V3P2)
16595     @OpenGL_Extension("GL_ARB_texture_multisample")
16596     fn_glTexImage3DMultisample glTexImage3DMultisample;
16597     alias fn_glTexParameterf = extern(C) void function(GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
16598 
16599     /++
16600      + glTexParameter: man4/glTexParameter.xml
16601      + 
16602      + $(D_INLINECODE glTexParameter) and $(D_INLINECODE glTextureParameter) assign the value or values in $(D_INLINECODE params) to the texture parameter specified as $(D_INLINECODE pname). For $(D_INLINECODE glTexParameter), $(D_INLINECODE target) defines the target texture, either $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), or $(D_INLINECODE GL_TEXTURE_RECTANGLE). The following symbols are accepted in $(D_INLINECODE pname) :
16603      + 
16604      + Suppose that a program attempts to sample from a texture and has set $(D_INLINECODE GL_TEXTURE_MIN_FILTER) to one of the functions that requires a mipmap. If either the dimensions of the texture images currently defined (with previous calls to $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glCopyTexImage1D), or $(D_INLINECODE glCopyTexImage2D) ) do not follow the proper sequence for mipmaps (described above), or there are fewer texture images defined than are needed, or the set of texture images have differing numbers of texture components, then the texture is considered. Linear filtering accesses the four nearest texture elements only in 2D textures. In 1D textures, linear filtering accesses the two nearest texture elements. In 3D textures, linear filtering accesses the eight nearest texture elements. $(D_INLINECODE glTexParameter) specifies the texture parameters for the active texture unit, specified by calling $(D_INLINECODE glActiveTexture). $(D_INLINECODE glTextureParameter) specifies the texture parameters for the texture object with ID $(D_INLINECODE texture). $(D_INLINECODE GL_DEPTH_STENCIL_TEXTURE_MODE) is available only if the GL version is 4.3 or greater. $(D_INLINECODE GL_MIRROR_CLAMP_TO_EDGE) is available only if the GL version is 4.4 or greater.
16605      + 
16606      + Params:
16607      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glTexParameter) functions. Must be one of $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), or $(D_INLINECODE GL_TEXTURE_RECTANGLE).
16608      +     texture = Specifies the texture object name for $(D_INLINECODE glTextureParameter) functions.
16609      +     pname   = Specifies the symbolic name of a single-valued texture parameter. $(D_INLINECODE pname) can be one of the following: $(D_INLINECODE GL_DEPTH_STENCIL_TEXTURE_MODE), $(D_INLINECODE GL_TEXTURE_BASE_LEVEL), $(D_INLINECODE GL_TEXTURE_COMPARE_FUNC), $(D_INLINECODE GL_TEXTURE_COMPARE_MODE), $(D_INLINECODE GL_TEXTURE_LOD_BIAS), $(D_INLINECODE GL_TEXTURE_MIN_FILTER), $(D_INLINECODE GL_TEXTURE_MAG_FILTER), $(D_INLINECODE GL_TEXTURE_MIN_LOD), $(D_INLINECODE GL_TEXTURE_MAX_LOD), $(D_INLINECODE GL_TEXTURE_MAX_LEVEL), $(D_INLINECODE GL_TEXTURE_SWIZZLE_R), $(D_INLINECODE GL_TEXTURE_SWIZZLE_G), $(D_INLINECODE GL_TEXTURE_SWIZZLE_B), $(D_INLINECODE GL_TEXTURE_SWIZZLE_A), $(D_INLINECODE GL_TEXTURE_WRAP_S), $(D_INLINECODE GL_TEXTURE_WRAP_T), or $(D_INLINECODE GL_TEXTURE_WRAP_R). For the vector commands ( $(D_INLINECODE glTexParameter*v) ), $(D_INLINECODE pname) can also be one of $(D_INLINECODE GL_TEXTURE_BORDER_COLOR) or $(D_INLINECODE GL_TEXTURE_SWIZZLE_RGBA).
16610      +     param   = For the scalar commands, specifies the value of $(D_INLINECODE pname).
16611      +     params  = For the vector commands, specifies a pointer to an array where the value or values of $(D_INLINECODE pname) are stored.
16612      + 
16613      + Copyright:
16614      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2012-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16615      + 
16616      + See_Also:
16617      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glBindTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glSamplerParameter), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
16618      +/
16619     @OpenGL_Version(OGLIntroducedIn.V1P0)
16620     fn_glTexParameterf glTexParameterf;
16621     alias fn_glTexParameteri = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
16622     /// Ditto
16623     @OpenGL_Version(OGLIntroducedIn.V1P0)
16624     fn_glTexParameteri glTexParameteri;
16625     alias fn_glTexStorage1D = extern(C) void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) @system @nogc nothrow;
16626 
16627     /++
16628      + glTexStorage1D: man4/glTexStorage1D.xml
16629      + 
16630      + $(D_INLINECODE glTexStorage1D) and $(D_INLINECODE glTextureStorage1D) specify the storage requirements for all levels of a one-dimensional texture simultaneously. Once a texture is specified with this command, the format and dimensions of all levels become immutable unless it is a proxy texture. The contents of the image may still be modified, however, its storage requirements may not change. Such a texture is referred to as an texture. Calling $(D_INLINECODE glTexStorage1D) is equivalent, assuming no errors are generated, to executing the following pseudo-code:
16631      + 
16632      + ---
16633      + for (i = 0; i &lt; levels; i++) {
16634      +     glTexImage1D(target, i, internalformat, width, 0, format, type, NULL);
16635      +     width = max(1, (width / 2));
16636      + }
16637      + ---
16638      +  Calling $(D_INLINECODE glTextureStorage1D) is equivalent to the above pseudo-code, where $(D_INLINECODE target) is the effective target of $(D_INLINECODE texture) and it is as if $(D_INLINECODE texture) were bound to $(D_INLINECODE target) for the purposes of $(D_INLINECODE glTexImage1D). Since no texture data is actually provided, the values used in the pseudo-code for $(D_INLINECODE format) and $(D_INLINECODE type) are irrelevant and may be considered to be any values that are legal for the chosen $(D_INLINECODE internalformat) enumerant. $(D_INLINECODE internalformat) must be one of the sized internal formats given in Table 1 below, one of the sized depth-component formats $(D_INLINECODE GL_DEPTH_COMPONENT32F), $(D_INLINECODE GL_DEPTH_COMPONENT24), or $(D_INLINECODE GL_DEPTH_COMPONENT16), one of the combined depth-stencil formats, $(D_INLINECODE GL_DEPTH32F_STENCIL8), or $(D_INLINECODE GL_DEPTH24_STENCIL8), or the stencil-only format, $(D_INLINECODE GL_STENCIL_INDEX8). Upon success, the value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) becomes $(D_INLINECODE GL_TRUE). The value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) may be discovered by calling $(D_INLINECODE glGetTexParameter) with $(D_INLINECODE pname) set to $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT). No further changes to the dimensions or format of the texture object may be made. Using any command that might alter the dimensions or format of the texture object (such as $(D_INLINECODE glTexImage1D) or another call to $(D_INLINECODE glTexStorage1D) ) will result in the generation of a $(D_INLINECODE GL_INVALID_OPERATION) error, even if it would not, in fact, alter the dimensions or format of the object.<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32
16639      + 
16640      + $(D_INLINECODE GL_STENCIL_INDEX8) is accepted for $(D_INLINECODE internalformat) only if the GL version is 4.4 or higher.
16641      + 
16642      + Params:
16643      +     target         = Specifies the target to which the texture object is bound for $(D_INLINECODE glTexStorage1D). Must be one of $(D_INLINECODE GL_TEXTURE_1D) or $(D_INLINECODE GL_PROXY_TEXTURE_1D).
16644      +     texture        = Specifies the texture object name for $(D_INLINECODE glTextureStorage1D). The effective target of $(D_INLINECODE texture) must be one of the valid non-proxy $(D_INLINECODE target) values above.
16645      +     levels         = Specify the number of texture levels.
16646      +     internalformat = Specifies the sized internal format to be used to store texture image data.
16647      +     width          = Specifies the width of the texture, in texels.
16648      + 
16649      + Copyright:
16650      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16651      + 
16652      + See_Also:
16653      +     $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage3D).
16654      +/
16655     @OpenGL_Version(OGLIntroducedIn.V4P2)
16656     @OpenGL_Extension("GL_ARB_texture_storage")
16657     fn_glTexStorage1D glTexStorage1D;
16658     alias fn_glTextureStorage1D = extern(C) void function(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) @system @nogc nothrow;
16659     /// Ditto
16660     @OpenGL_Version(OGLIntroducedIn.V4P5)
16661     @OpenGL_Extension("GL_ARB_direct_state_access")
16662     fn_glTextureStorage1D glTextureStorage1D;
16663     alias fn_glTexStorage2D = extern(C) void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
16664 
16665     /++
16666      + glTexStorage2D: man4/glTexStorage2D.xml
16667      + 
16668      + $(D_INLINECODE glTexStorage2D) and $(D_INLINECODE glTextureStorage2D) specify the storage requirements for all levels of a two-dimensional texture or one-dimensional texture array simultaneously. Once a texture is specified with this command, the format and dimensions of all levels become immutable unless it is a proxy texture. The contents of the image may still be modified, however, its storage requirements may not change. Such a texture is referred to as an texture. The behavior of $(D_INLINECODE glTexStorage2D) depends on the $(D_INLINECODE target) parameter. When $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE) or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP), calling $(D_INLINECODE glTexStorage2D) is equivalent, assuming no errors are generated, to executing the following pseudo-code:
16669      + 
16670      + ---
16671      + for (i = 0; i &lt; levels; i++) {
16672      +     glTexImage2D(target, i, internalformat, width, height, 0, format, type, NULL);
16673      +     width = max(1, (width / 2));
16674      +     height = max(1, (height / 2));
16675      + }
16676      + ---
16677      +  When $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE glTexStorage2D) is equivalent to:
16678      + 
16679      + ---
16680      + for (i = 0; i &lt; levels; i++) {
16681      +     for (face in (+X, -X, +Y, -Y, +Z, -Z)) {
16682      +         glTexImage2D(face, i, internalformat, width, height, 0, format, type, NULL);
16683      +     }
16684      +     width = max(1, (width / 2));
16685      +     height = max(1, (height / 2));
16686      + }
16687      + ---
16688      +  When $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D) or $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE glTexStorage2D) is equivalent to:
16689      + 
16690      + ---
16691      + for (i = 0; i &lt; levels; i++) {
16692      +     glTexImage2D(target, i, internalformat, width, height, 0, format, type, NULL);
16693      +     width = max(1, (width / 2));
16694      + }
16695      + ---
16696      +  Calling $(D_INLINECODE glTextureStorage2D) is equivalent to the above pseudo-code, where $(D_INLINECODE target) is the effective target of $(D_INLINECODE texture) and it is as if $(D_INLINECODE texture) were bound to $(D_INLINECODE target) for the purposes of $(D_INLINECODE glTexImage2D). Since no texture data is actually provided, the values used in the pseudo-code for $(D_INLINECODE format) and $(D_INLINECODE type) are irrelevant and may be considered to be any values that are legal for the chosen $(D_INLINECODE internalformat) enumerant. $(D_INLINECODE internalformat) must be one of the sized internal formats given in Table 1 below, one of the sized depth-component formats $(D_INLINECODE GL_DEPTH_COMPONENT32F), $(D_INLINECODE GL_DEPTH_COMPONENT24), or $(D_INLINECODE GL_DEPTH_COMPONENT16), one of the combined depth-stencil formats, $(D_INLINECODE GL_DEPTH32F_STENCIL8), or $(D_INLINECODE GL_DEPTH24_STENCIL8), or the stencil-only format, $(D_INLINECODE GL_STENCIL_INDEX8). Upon success, the value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) becomes $(D_INLINECODE GL_TRUE). The value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) may be discovered by calling $(D_INLINECODE glGetTexParameter) with $(D_INLINECODE pname) set to $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT). No further changes to the dimensions or format of the texture object may be made. Using any command that might alter the dimensions or format of the texture object (such as $(D_INLINECODE glTexImage2D) or another call to $(D_INLINECODE glTexStorage2D) ) will result in the generation of a $(D_INLINECODE GL_INVALID_OPERATION) error, even if it would not, in fact, alter the dimensions or format of the object.<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32
16697      + 
16698      + $(D_INLINECODE GL_STENCIL_INDEX8) is accepted for $(D_INLINECODE internalformat) only if the GL version is 4.4 or higher.
16699      + 
16700      + Params:
16701      +     target         = Specifies the target to which the texture object is bound for $(D_INLINECODE glTexStorage2D). Must be one of $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_TEXTURE_RECTANGLE), $(D_INLINECODE GL_PROXY_TEXTURE_2D), $(D_INLINECODE GL_PROXY_TEXTURE_1D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_RECTANGLE), or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP).
16702      +     texture        = Specifies the texture object name for $(D_INLINECODE glTextureStorage2D). The effective target of $(D_INLINECODE texture) must be one of the valid non-proxy $(D_INLINECODE target) values above.
16703      +     levels         = Specify the number of texture levels.
16704      +     internalformat = Specifies the sized internal format to be used to store texture image data.
16705      +     width          = Specifies the width of the texture, in texels.
16706      +     height         = Specifies the height of the texture, in texels.
16707      + 
16708      + Copyright:
16709      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16710      + 
16711      + See_Also:
16712      +     $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage3D).
16713      +/
16714     @OpenGL_Version(OGLIntroducedIn.V4P2)
16715     @OpenGL_Extension("GL_ARB_texture_storage")
16716     fn_glTexStorage2D glTexStorage2D;
16717     alias fn_glTextureStorage2D = extern(C) void function(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
16718     /// Ditto
16719     @OpenGL_Version(OGLIntroducedIn.V4P5)
16720     @OpenGL_Extension("GL_ARB_direct_state_access")
16721     fn_glTextureStorage2D glTextureStorage2D;
16722     alias fn_glTexStorage2DMultisample = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) @system @nogc nothrow;
16723 
16724     /++
16725      + glTexStorage2DMultisample: man4/glTexStorage2DMultisample.xml
16726      + 
16727      + $(D_INLINECODE glTexStorage2DMultisample) and $(D_INLINECODE glTextureStorage2DMultisample) specify the storage requirements for a two-dimensional multisample texture. Once a texture is specified with this command, its format and dimensions become immutable unless it is a proxy texture. The contents of the image may still be modified, however, its storage requirements may not change. Such a texture is referred to as an texture. $(D_INLINECODE samples) specifies the number of samples to be used for the texture and must be greater than zero and less than or equal to the value of $(D_INLINECODE GL_MAX_SAMPLES). $(D_INLINECODE internalformat) must be a color-renderable, depth-renderable, or stencil-renderable format. $(D_INLINECODE width) and $(D_INLINECODE height) specify the width and height, respectively, of the texture. If $(D_INLINECODE fixedsamplelocations) is $(D_INLINECODE GL_TRUE), the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32
16728      + 
16729      + Params:
16730      +     target               = Specifies the target to which the texture object is bound for $(D_INLINECODE glTexStorage2DMultisample). Must be one of $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE).
16731      +     texture              = Specifies the texture object name for $(D_INLINECODE glTextureStorage2DMultisample). The effective target of $(D_INLINECODE texture) must be one of the valid non-proxy $(D_INLINECODE target) values above.
16732      +     samples              = Specify the number of samples in the texture.
16733      +     internalformat       = Specifies the sized internal format to be used to store texture image data.
16734      +     width                = Specifies the width of the texture, in texels.
16735      +     height               = Specifies the height of the texture, in texels.
16736      +     fixedsamplelocations = Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
16737      + 
16738      + Copyright:
16739      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16740      + 
16741      + See_Also:
16742      +     $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage2DMultisample), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage3D).
16743      +/
16744     @OpenGL_Version(OGLIntroducedIn.V4P3)
16745     @OpenGL_Extension("GL_ARB_texture_storage_multisample")
16746     fn_glTexStorage2DMultisample glTexStorage2DMultisample;
16747     alias fn_glTextureStorage2DMultisample = extern(C) void function(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) @system @nogc nothrow;
16748     /// Ditto
16749     @OpenGL_Version(OGLIntroducedIn.V4P5)
16750     @OpenGL_Extension("GL_ARB_direct_state_access")
16751     fn_glTextureStorage2DMultisample glTextureStorage2DMultisample;
16752     alias fn_glTexStorage3D = extern(C) void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) @system @nogc nothrow;
16753 
16754     /++
16755      + glTexStorage3D: man4/glTexStorage3D.xml
16756      + 
16757      + $(D_INLINECODE glTexStorage3D) and $(D_INLINECODE glTextureStorage3D) specify specify the storage requirements for all levels of a three-dimensional, two-dimensional array or cube-map array texture simultaneously. Once a texture is specified with this command, the format and dimensions of all levels become immutable unless it is a proxy texture. The contents of the image may still be modified, however, its storage requirements may not change. Such a texture is referred to as an texture. The behavior of $(D_INLINECODE glTexStorage3D) depends on the $(D_INLINECODE target) parameter. When $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_3D), or $(D_INLINECODE GL_PROXY_TEXTURE_3D), calling $(D_INLINECODE glTexStorage3D) is equivalent, assuming no errors are generated, to executing the following pseudo-code:
16758      + 
16759      + ---
16760      + for (i = 0; i &lt; levels; i++) {
16761      +     glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL);
16762      +     width = max(1, (width / 2));
16763      +     height = max(1, (height / 2));
16764      +     depth = max(1, (depth / 2));
16765      + }
16766      + ---
16767      +  When $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_MAP_ARRAY), $(D_INLINECODE glTexStorage3D) is equivalent to:
16768      + 
16769      + ---
16770      + for (i = 0; i &lt; levels; i++) {
16771      +     glTexImage3D(target, i, internalformat, width, height, depth, 0, format, type, NULL);
16772      +     width = max(1, (width / 2));
16773      +     height = max(1, (height / 2));
16774      + }
16775      + ---
16776      +  Calling $(D_INLINECODE glTextureStorage3D) is equivalent to the above pseudo-code, where $(D_INLINECODE target) is the effective target of $(D_INLINECODE texture) and it is as if $(D_INLINECODE texture) were bound to $(D_INLINECODE target) for the purposes of $(D_INLINECODE glTexImage3D). Since no texture data is actually provided, the values used in the pseudo-code for $(D_INLINECODE format) and $(D_INLINECODE type) are irrelevant and may be considered to be any values that are legal for the chosen $(D_INLINECODE internalformat) enumerant. $(D_INLINECODE internalformat) must be one of the sized internal formats given in Table 1 below, one of the sized depth-component formats $(D_INLINECODE GL_DEPTH_COMPONENT32F), $(D_INLINECODE GL_DEPTH_COMPONENT24), or $(D_INLINECODE GL_DEPTH_COMPONENT16), one of the combined depth-stencil formats, $(D_INLINECODE GL_DEPTH32F_STENCIL8), or $(D_INLINECODE GL_DEPTH24_STENCIL8), or the stencil-only format, $(D_INLINECODE GL_STENCIL_INDEX8). Upon success, the value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) becomes $(D_INLINECODE GL_TRUE). The value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) may be discovered by calling $(D_INLINECODE glGetTexParameter) with $(D_INLINECODE pname) set to $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT). No further changes to the dimensions or format of the texture object may be made. Using any command that might alter the dimensions or format of the texture object (such as $(D_INLINECODE glTexImage3D) or another call to $(D_INLINECODE glTexStorage3D) ) will result in the generation of a $(D_INLINECODE GL_INVALID_OPERATION) error, even if it would not, in fact, alter the dimensions or format of the object.<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32
16777      + 
16778      + $(D_INLINECODE GL_STENCIL_INDEX8) is accepted for $(D_INLINECODE internalformat) only if the GL version is 4.4 or higher.
16779      + 
16780      + Params:
16781      +     target         = Specifies the target to which the texture object is bound for $(D_INLINECODE glTexStorage3D). Must be one of $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTURE_CUBE_ARRAY), $(D_INLINECODE GL_PROXY_TEXTURE_3D), $(D_INLINECODE GL_PROXY_TEXTURE_2D_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_CUBE_ARRAY).
16782      +     texture        = Specifies the texture object name for $(D_INLINECODE glTextureStorage3D). The effective target of $(D_INLINECODE texture) must be one of the valid non-proxy $(D_INLINECODE target) values above.
16783      +     levels         = Specify the number of texture levels.
16784      +     internalformat = Specifies the sized internal format to be used to store texture image data.
16785      +     width          = Specifies the width of the texture, in texels.
16786      +     height         = Specifies the height of the texture, in texels.
16787      +     depth          = Specifies the depth of the texture, in texels.
16788      + 
16789      + Copyright:
16790      +     Copyright&copy; 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16791      + 
16792      + See_Also:
16793      +     $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D).
16794      +/
16795     @OpenGL_Version(OGLIntroducedIn.V4P2)
16796     @OpenGL_Extension("GL_ARB_texture_storage")
16797     fn_glTexStorage3D glTexStorage3D;
16798     alias fn_glTextureStorage3D = extern(C) void function(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) @system @nogc nothrow;
16799     /// Ditto
16800     @OpenGL_Version(OGLIntroducedIn.V4P5)
16801     @OpenGL_Extension("GL_ARB_direct_state_access")
16802     fn_glTextureStorage3D glTextureStorage3D;
16803     alias fn_glTexStorage3DMultisample = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) @system @nogc nothrow;
16804 
16805     /++
16806      + glTexStorage3DMultisample: man4/glTexStorage3DMultisample.xml
16807      + 
16808      + $(D_INLINECODE glTexStorage3DMultisample) and $(D_INLINECODE glTextureStorage3DMultisample) specify the storage requirements for a two-dimensional multisample array texture. Once a texture is specified with this command, its format and dimensions become immutable unless it is a proxy texture. The contents of the image may still be modified, however, its storage requirements may not change. Such a texture is referred to as an texture. $(D_INLINECODE samples) specifies the number of samples to be used for the texture and must be greater than zero and less than or equal to the value of $(D_INLINECODE GL_MAX_SAMPLES). $(D_INLINECODE internalformat) must be a color-renderable, depth-renderable, or stencil-renderable format. $(D_INLINECODE width) and $(D_INLINECODE height) specify the width and height, respectively, of the texture and $(D_INLINECODE depth) specifies the depth (or the number of layers) of the texture. If $(D_INLINECODE fixedsamplelocations) is $(D_INLINECODE GL_TRUE), the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.<h3> Sized Internal Formats</h3> $(B Sized Internal Format) $(B Base Internal Format) $(B Red Bits) $(B Green Bits) $(B Blue Bits) $(B Alpha Bits) $(B Shared Bits) $(D_INLINECODE GL_R8) $(D_INLINECODE GL_RED) 8 $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RED) s8 $(D_INLINECODE GL_R16) $(D_INLINECODE GL_RED) 16 $(D_INLINECODE GL_R16_SNORM) $(D_INLINECODE GL_RED) s16 $(D_INLINECODE GL_RG8) $(D_INLINECODE GL_RG) 8 8 $(D_INLINECODE GL_RG8_SNORM) $(D_INLINECODE GL_RG) s8 s8 $(D_INLINECODE GL_RG16) $(D_INLINECODE GL_RG) 16 16 $(D_INLINECODE GL_RG16_SNORM) $(D_INLINECODE GL_RG) s16 s16 $(D_INLINECODE GL_R3_G3_B2) $(D_INLINECODE GL_RGB) 3 3 2 $(D_INLINECODE GL_RGB4) $(D_INLINECODE GL_RGB) 4 4 4 $(D_INLINECODE GL_RGB5) $(D_INLINECODE GL_RGB) 5 5 5 $(D_INLINECODE GL_RGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_RGB8_SNORM) $(D_INLINECODE GL_RGB) s8 s8 s8 $(D_INLINECODE GL_RGB10) $(D_INLINECODE GL_RGB) 10 10 10 $(D_INLINECODE GL_RGB12) $(D_INLINECODE GL_RGB) 12 12 12 $(D_INLINECODE GL_RGB16_SNORM) $(D_INLINECODE GL_RGB) 16 16 16 $(D_INLINECODE GL_RGBA2) $(D_INLINECODE GL_RGB) 2 2 2 2 $(D_INLINECODE GL_RGBA4) $(D_INLINECODE GL_RGB) 4 4 4 4 $(D_INLINECODE GL_RGB5_A1) $(D_INLINECODE GL_RGBA) 5 5 5 1 $(D_INLINECODE GL_RGBA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_RGBA8_SNORM) $(D_INLINECODE GL_RGBA) s8 s8 s8 s8 $(D_INLINECODE GL_RGB10_A2) $(D_INLINECODE GL_RGBA) 10 10 10 2 $(D_INLINECODE GL_RGB10_A2UI) $(D_INLINECODE GL_RGBA) ui10 ui10 ui10 ui2 $(D_INLINECODE GL_RGBA12) $(D_INLINECODE GL_RGBA) 12 12 12 12 $(D_INLINECODE GL_RGBA16) $(D_INLINECODE GL_RGBA) 16 16 16 16 $(D_INLINECODE GL_SRGB8) $(D_INLINECODE GL_RGB) 8 8 8 $(D_INLINECODE GL_SRGB8_ALPHA8) $(D_INLINECODE GL_RGBA) 8 8 8 8 $(D_INLINECODE GL_R16F) $(D_INLINECODE GL_RED) f16 $(D_INLINECODE GL_RG16F) $(D_INLINECODE GL_RG) f16 f16 $(D_INLINECODE GL_RGB16F) $(D_INLINECODE GL_RGB) f16 f16 f16 $(D_INLINECODE GL_RGBA16F) $(D_INLINECODE GL_RGBA) f16 f16 f16 f16 $(D_INLINECODE GL_R32F) $(D_INLINECODE GL_RED) f32 $(D_INLINECODE GL_RG32F) $(D_INLINECODE GL_RG) f32 f32 $(D_INLINECODE GL_RGB32F) $(D_INLINECODE GL_RGB) f32 f32 f32 $(D_INLINECODE GL_RGBA32F) $(D_INLINECODE GL_RGBA) f32 f32 f32 f32 $(D_INLINECODE GL_R11F_G11F_B10F) $(D_INLINECODE GL_RGB) f11 f11 f10 $(D_INLINECODE GL_RGB9_E5) $(D_INLINECODE GL_RGB) 9 9 9 5 $(D_INLINECODE GL_R8I) $(D_INLINECODE GL_RED) i8 $(D_INLINECODE GL_R8UI) $(D_INLINECODE GL_RED) ui8 $(D_INLINECODE GL_R16I) $(D_INLINECODE GL_RED) i16 $(D_INLINECODE GL_R16UI) $(D_INLINECODE GL_RED) ui16 $(D_INLINECODE GL_R32I) $(D_INLINECODE GL_RED) i32 $(D_INLINECODE GL_R32UI) $(D_INLINECODE GL_RED) ui32 $(D_INLINECODE GL_RG8I) $(D_INLINECODE GL_RG) i8 i8 $(D_INLINECODE GL_RG8UI) $(D_INLINECODE GL_RG) ui8 ui8 $(D_INLINECODE GL_RG16I) $(D_INLINECODE GL_RG) i16 i16 $(D_INLINECODE GL_RG16UI) $(D_INLINECODE GL_RG) ui16 ui16 $(D_INLINECODE GL_RG32I) $(D_INLINECODE GL_RG) i32 i32 $(D_INLINECODE GL_RG32UI) $(D_INLINECODE GL_RG) ui32 ui32 $(D_INLINECODE GL_RGB8I) $(D_INLINECODE GL_RGB) i8 i8 i8 $(D_INLINECODE GL_RGB8UI) $(D_INLINECODE GL_RGB) ui8 ui8 ui8 $(D_INLINECODE GL_RGB16I) $(D_INLINECODE GL_RGB) i16 i16 i16 $(D_INLINECODE GL_RGB16UI) $(D_INLINECODE GL_RGB) ui16 ui16 ui16 $(D_INLINECODE GL_RGB32I) $(D_INLINECODE GL_RGB) i32 i32 i32 $(D_INLINECODE GL_RGB32UI) $(D_INLINECODE GL_RGB) ui32 ui32 ui32 $(D_INLINECODE GL_RGBA8I) $(D_INLINECODE GL_RGBA) i8 i8 i8 i8 $(D_INLINECODE GL_RGBA8UI) $(D_INLINECODE GL_RGBA) ui8 ui8 ui8 ui8 $(D_INLINECODE GL_RGBA16I) $(D_INLINECODE GL_RGBA) i16 i16 i16 i16 $(D_INLINECODE GL_RGBA16UI) $(D_INLINECODE GL_RGBA) ui16 ui16 ui16 ui16 $(D_INLINECODE GL_RGBA32I) $(D_INLINECODE GL_RGBA) i32 i32 i32 i32 $(D_INLINECODE GL_RGBA32UI) $(D_INLINECODE GL_RGBA) ui32 ui32 ui32 ui32
16809      + 
16810      + Params:
16811      +     target               = Specifies the target to which the texture object is bound for $(D_INLINECODE glTexStorage3DMultisample). Must be one of $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) or $(D_INLINECODE GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY).
16812      +     texture              = Specifies the texture object name for $(D_INLINECODE glTextureStorage3DMultisample). The effective target of $(D_INLINECODE texture) must be one of the valid non-proxy $(D_INLINECODE target) values above.
16813      +     samples              = Specify the number of samples in the texture.
16814      +     internalformat       = Specifies the sized internal format to be used to store texture image data.
16815      +     width                = Specifies the width of the texture, in texels.
16816      +     height               = Specifies the height of the texture, in texels.
16817      +     depth                = Specifies the depth of the texture, in layers.
16818      +     fixedsamplelocations = Specifies whether the image will use identical sample locations and the same number of samples for all texels in the image, and the sample locations will not depend on the internal format or size of the image.
16819      + 
16820      + Copyright:
16821      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16822      + 
16823      + See_Also:
16824      +     $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexImage3DMultisample), $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2DMultisample), $(D_INLINECODE glTexStorage3D).
16825      +/
16826     @OpenGL_Version(OGLIntroducedIn.V4P3)
16827     @OpenGL_Extension("GL_ARB_texture_storage_multisample")
16828     fn_glTexStorage3DMultisample glTexStorage3DMultisample;
16829     alias fn_glTextureStorage3DMultisample = extern(C) void function(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) @system @nogc nothrow;
16830     /// Ditto
16831     @OpenGL_Version(OGLIntroducedIn.V4P5)
16832     @OpenGL_Extension("GL_ARB_direct_state_access")
16833     fn_glTextureStorage3DMultisample glTextureStorage3DMultisample;
16834     alias fn_glTexSubImage1D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid* pixels) @system @nogc nothrow;
16835 
16836     /++
16837      + glTexSubImage1D: man4/glTexSubImage1D.xml
16838      + 
16839      + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. To enable or disable one-dimensional texturing, call $(D_INLINECODE glEnable) and $(D_INLINECODE glDisable) with argument $(D_INLINECODE GL_TEXTURE_1D). $(D_INLINECODE glTexSubImage1D) and $(D_INLINECODE glTextureSubImage1D) redefine a contiguous subregion of an existing one-dimensional texture image. The texels referenced by $(D_INLINECODE pixels) replace the portion of the existing texture array with x indices $(D_INLINECODE xoffset) and xoffset + width - 1, inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect. If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE pixels) is treated as a byte offset into the buffer object's data store.
16840      + 
16841      + $(D_INLINECODE glPixelStore) modes affect texture images. $(D_INLINECODE glTexSubImage1D) and $(D_INLINECODE glTextureSubImage1D) specify a one-dimensional subtexture for the current texture unit, specified with $(D_INLINECODE glActiveTexture). $(D_INLINECODE GL_STENCIL_INDEX) is accepted for $(D_INLINECODE format) only if the GL version is 4.4 or higher.
16842      + 
16843      + Params:
16844      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glTexSubImage1D). Must be $(D_INLINECODE GL_TEXTURE_1D).
16845      +     texture = Specifies the texture object name for $(D_INLINECODE glTextureSubImage1D). The effective target of $(D_INLINECODE texture) must be one of the valid $(D_INLINECODE target) values above.
16846      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
16847      +     xoffset = Specifies a texel offset in the x direction within the texture array.
16848      +     width   = Specifies the width of the texture subimage.
16849      +     format  = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_DEPTH_COMPONENT), and $(D_INLINECODE GL_STENCIL_INDEX).
16850      +     type    = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
16851      +     pixels  = Specifies a pointer to the image data in memory.
16852      + 
16853      + Copyright:
16854      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16855      + 
16856      + See_Also:
16857      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexParameter), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexSubImage3D)
16858      +/
16859     @OpenGL_Version(OGLIntroducedIn.V1P1)
16860     fn_glTexSubImage1D glTexSubImage1D;
16861     alias fn_glTextureSubImage1D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
16862     /// Ditto
16863     @OpenGL_Version(OGLIntroducedIn.V4P5)
16864     @OpenGL_Extension("GL_ARB_direct_state_access")
16865     fn_glTextureSubImage1D glTextureSubImage1D;
16866     alias fn_glTexSubImage2D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) @system @nogc nothrow;
16867 
16868     /++
16869      + glTexSubImage2D: man4/glTexSubImage2D.xml
16870      + 
16871      + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. $(D_INLINECODE glTexSubImage2D) and $(D_INLINECODE glTextureSubImage2D) redefine a contiguous subregion of an existing two-dimensional or one-dimensional array texture image. The texels referenced by $(D_INLINECODE pixels) replace the portion of the existing texture array with x indices $(D_INLINECODE xoffset) and xoffset + width - 1, inclusive, and y indices $(D_INLINECODE yoffset) and yoffset + height - 1, inclusive. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect. If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE pixels) is treated as a byte offset into the buffer object's data store.
16872      + 
16873      + $(D_INLINECODE glPixelStore) modes affect texture images. $(D_INLINECODE glTexSubImage2D) and $(D_INLINECODE glTextureSubImage3D) specify a two-dimensional subtexture for the current texture unit, specified with $(D_INLINECODE glActiveTexture). $(D_INLINECODE GL_STENCIL_INDEX) is accepted for $(D_INLINECODE format) only if the GL version is 4.4 or higher.
16874      + 
16875      + Params:
16876      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glTexSubImage2D). Must be $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_X), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Y), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_POSITIVE_Z), $(D_INLINECODE GL_TEXTURE_CUBE_MAP_NEGATIVE_Z), or $(D_INLINECODE GL_TEXTURE_1D_ARRAY).
16877      +     texture = Specifies the texture object name for $(D_INLINECODE glTextureSubImage2D). The effective target of $(D_INLINECODE texture) must be one of the valid $(D_INLINECODE target) values above.
16878      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
16879      +     xoffset = Specifies a texel offset in the x direction within the texture array.
16880      +     yoffset = Specifies a texel offset in the y direction within the texture array.
16881      +     width   = Specifies the width of the texture subimage.
16882      +     height  = Specifies the height of the texture subimage.
16883      +     format  = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_BGRA), $(D_INLINECODE GL_DEPTH_COMPONENT), and $(D_INLINECODE GL_STENCIL_INDEX).
16884      +     type    = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
16885      +     pixels  = Specifies a pointer to the image data in memory.
16886      + 
16887      + Copyright:
16888      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16889      + 
16890      + See_Also:
16891      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage3D), $(D_INLINECODE glTexParameter)
16892      +/
16893     @OpenGL_Version(OGLIntroducedIn.V1P1)
16894     fn_glTexSubImage2D glTexSubImage2D;
16895     alias fn_glTextureSubImage2D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
16896     /// Ditto
16897     @OpenGL_Version(OGLIntroducedIn.V4P5)
16898     @OpenGL_Extension("GL_ARB_direct_state_access")
16899     fn_glTextureSubImage2D glTextureSubImage2D;
16900     alias fn_glTexSubImage3D = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) @system @nogc nothrow;
16901 
16902     /++
16903      + glTexSubImage3D: man4/glTexSubImage3D.xml
16904      + 
16905      + Texturing maps a portion of a specified texture image onto each graphical primitive for which texturing is enabled. $(D_INLINECODE glTexSubImage3D) and $(D_INLINECODE glTextureSubImage3D) redefine a contiguous subregion of an existing three-dimensional or two-dimensioanl array texture image. The texels referenced by $(D_INLINECODE pixels) replace the portion of the existing texture array with x indices $(D_INLINECODE xoffset) and xoffset + width - 1, inclusive, y indices $(D_INLINECODE yoffset) and yoffset + height - 1, inclusive, and z indices $(D_INLINECODE zoffset) and zoffset + depth - 1, inclusive. For three-dimensional textures, the z index refers to the third dimension. For two-dimensional array textures, the z index refers to the slice index. This region may not include any texels outside the range of the texture array as it was originally specified. It is not an error to specify a subtexture with zero width, height, or depth but such a specification has no effect. If a non-zero named buffer object is bound to the $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) target (see $(D_INLINECODE glBindBuffer) ) while a texture image is specified, $(D_INLINECODE pixels) is treated as a byte offset into the buffer object's data store.
16906      + 
16907      + The $(D_INLINECODE glPixelStore) modes affect texture images. $(D_INLINECODE glTexSubImage3D) and $(D_INLINECODE glTextureSubImage3D) specify a three-dimensional or two-dimensional array subtexture for the current texture unit, specified with $(D_INLINECODE glActiveTexture). $(D_INLINECODE GL_STENCIL_INDEX) is accepted for $(D_INLINECODE format) only if the GL version is 4.4 or higher.
16908      + 
16909      + Params:
16910      +     target  = Specifies the target to which the texture is bound for $(D_INLINECODE glTexSubImage3D). Must be $(D_INLINECODE GL_TEXTURE_3D) or $(D_INLINECODE GL_TEXTURE_2D_ARRAY).
16911      +     texture = Specifies the texture object name for $(D_INLINECODE glTextureSubImage3D). The effective target of $(D_INLINECODE texture) must be one of the valid $(D_INLINECODE target) values above.
16912      +     level   = Specifies the level-of-detail number. Level 0 is the base image level. Level is the th mipmap reduction image.
16913      +     xoffset = Specifies a texel offset in the x direction within the texture array.
16914      +     yoffset = Specifies a texel offset in the y direction within the texture array.
16915      +     zoffset = Specifies a texel offset in the z direction within the texture array.
16916      +     width   = Specifies the width of the texture subimage.
16917      +     height  = Specifies the height of the texture subimage.
16918      +     depth   = Specifies the depth of the texture subimage.
16919      +     format  = Specifies the format of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_RED), $(D_INLINECODE GL_RG), $(D_INLINECODE GL_RGB), $(D_INLINECODE GL_BGR), $(D_INLINECODE GL_RGBA), $(D_INLINECODE GL_DEPTH_COMPONENT), and $(D_INLINECODE GL_STENCIL_INDEX).
16920      +     type    = Specifies the data type of the pixel data. The following symbolic values are accepted: $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_INT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_UNSIGNED_BYTE_3_3_2), $(D_INLINECODE GL_UNSIGNED_BYTE_2_3_3_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5), $(D_INLINECODE GL_UNSIGNED_SHORT_5_6_5_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4), $(D_INLINECODE GL_UNSIGNED_SHORT_4_4_4_4_REV), $(D_INLINECODE GL_UNSIGNED_SHORT_5_5_5_1), $(D_INLINECODE GL_UNSIGNED_SHORT_1_5_5_5_REV), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8), $(D_INLINECODE GL_UNSIGNED_INT_8_8_8_8_REV), $(D_INLINECODE GL_UNSIGNED_INT_10_10_10_2), and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV).
16921      +     pixels  = Specifies a pointer to the image data in memory.
16922      + 
16923      + Copyright:
16924      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
16925      + 
16926      + See_Also:
16927      +     $(D_INLINECODE glActiveTexture), $(D_INLINECODE glCopyTexImage1D), $(D_INLINECODE glCopyTexImage2D), $(D_INLINECODE glCopyTexSubImage1D), $(D_INLINECODE glCopyTexSubImage2D), $(D_INLINECODE glCopyTexSubImage3D), $(D_INLINECODE glPixelStore), $(D_INLINECODE glTexImage1D), $(D_INLINECODE glTexImage2D), $(D_INLINECODE glTexImage3D), $(D_INLINECODE glTexSubImage1D), $(D_INLINECODE glTexSubImage2D), $(D_INLINECODE glTexParameter)
16928      +/
16929     @OpenGL_Version(OGLIntroducedIn.V1P2)
16930     fn_glTexSubImage3D glTexSubImage3D;
16931     alias fn_glTextureSubImage3D = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
16932     /// Ditto
16933     @OpenGL_Version(OGLIntroducedIn.V4P5)
16934     @OpenGL_Extension("GL_ARB_direct_state_access")
16935     fn_glTextureSubImage3D glTextureSubImage3D;
16936     alias fn_glTextureBarrier = extern(C) void function() @system @nogc nothrow;
16937 
16938     /++
16939      + glTextureBarrier: man4/glTextureBarrier.xml
16940      + 
16941      + The values of rendered fragments are undefined when a shader stage fetches texels and the same texels are written via fragment shader outputs, even if the reads and writes are not in the same drawing command. To safely read the result of a written texel via a texel fetch in a subsequent drawing command, call $(D_INLINECODE glTextureBarrier) between the two drawing commands to guarantee that writes have completed and caches have been invalidated before subsequent drawing commands are executed.
16942      + 
16943      + The situation described above is referred to as a and is discussed in more detail in section 9.3 of the OpenGL 4.5 Specification.
16944      + 
16945      + Params:
16946      + 
16947      + Copyright:
16948      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16949      + 
16950      + See_Also:
16951      +     $(D_INLINECODE glMemoryBarrier)
16952      +/
16953     @OpenGL_Version(OGLIntroducedIn.V4P5)
16954     @OpenGL_Extension("GL_ARB_texture_barrier")
16955     fn_glTextureBarrier glTextureBarrier;
16956     alias fn_glTextureView = extern(C) void function(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) @system @nogc nothrow;
16957 
16958     /++
16959      + glTextureView: man4/glTextureView.xml
16960      + 
16961      + $(D_INLINECODE glTextureView) initializes a texture object as an alias, or view of another texture object, sharing some or all of the parent texture's data store with the initialized texture. $(D_INLINECODE texture) specifies a name previously reserved by a successful call to $(D_INLINECODE glGenTextures) but that has not yet been bound or given a target. $(D_INLINECODE target) specifies the target for the newly initialized texture and must be compatible with the target of the parent texture, given in $(D_INLINECODE origtexture) as specified in the following table: Original Target Compatible New Targets $(D_INLINECODE GL_TEXTURE_1D) $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY) $(D_INLINECODE GL_TEXTURE_2D) $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY) $(D_INLINECODE GL_TEXTURE_3D) $(D_INLINECODE GL_TEXTURE_3D) $(D_INLINECODE GL_TEXTURE_CUBE_MAP) $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTUER_CUBE_MAP_ARRAY) $(D_INLINECODE GL_TEXTURE_RECTANGLE) $(D_INLINECODE GL_TEXTURE_RECTANGLE) $(D_INLINECODE GL_TEXTURE_BUFFER) $(D_INLINECODE GL_TEXTURE_1D_ARRAY) $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_1D_ARRAY) $(D_INLINECODE GL_TEXTURE_2D_ARRAY) $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY) $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) $(D_INLINECODE GL_TEXTURE_CUBE_MAP), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_2D_ARRAY), $(D_INLINECODE GL_TEXTUER_CUBE_MAP_ARRAY) $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE) $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_MULTISAMPLE_ARRAY) $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE_ARRAY) $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE GL_TEXTURE_MULTISAMPLE_ARRAY) The value of $(D_INLINECODE GL_TEXTURE_IMMUTABLE_FORMAT) for $(D_INLINECODE origtexture) must be $(D_INLINECODE GL_TRUE). After initialization, $(D_INLINECODE texture) inherits the data store of the parent texture, $(D_INLINECODE origtexture) and is usable as a normal texture object with target $(D_INLINECODE target). Data in the shared store is reinterpreted with the new internal format specified by $(D_INLINECODE internalformat). $(D_INLINECODE internalformat) must be compatible with the internal format of the parent texture as specified in the following table: Class Internal Formats 128-bit $(D_INLINECODE GL_RGBA32F), $(D_INLINECODE GL_RGBA32UI), $(D_INLINECODE GL_RGBA32I) 96-bit $(D_INLINECODE GL_RGB32F), $(D_INLINECODE GL_RGB32UI), $(D_INLINECODE GL_RGB32I) 64-bit $(D_INLINECODE GL_RGBA16F), $(D_INLINECODE GL_RG32F), $(D_INLINECODE GL_RGBA16UI), $(D_INLINECODE GL_RG32UI), $(D_INLINECODE GL_RGBA16I), $(D_INLINECODE GL_RG32I), $(D_INLINECODE GL_RGBA16), $(D_INLINECODE GL_RGBA16_SNORM) 48-bit $(D_INLINECODE GL_RGB16), $(D_INLINECODE GL_RGB16_SNORM), $(D_INLINECODE GL_RGB16F), $(D_INLINECODE GL_RGB16UI), $(D_INLINECODE GL_RGB16I) 32-bit $(D_INLINECODE GL_RG16F), $(D_INLINECODE GL_R11F_G11F_B10F), $(D_INLINECODE GL_R32F), $(D_INLINECODE GL_RGB10_A2UI), $(D_INLINECODE GL_RGBA8UI), $(D_INLINECODE GL_RG16UI), $(D_INLINECODE GL_R32UI), $(D_INLINECODE GL_RGBA8I), $(D_INLINECODE GL_RG16I), $(D_INLINECODE GL_R32I), $(D_INLINECODE GL_RGB10_A2), $(D_INLINECODE GL_RGBA8), $(D_INLINECODE GL_RG16), $(D_INLINECODE GL_RGBA8_SNORM), $(D_INLINECODE GL_RG16_SNORM), $(D_INLINECODE GL_SRGB8_ALPHA8), $(D_INLINECODE GL_RGB9_E5) 24-bit $(D_INLINECODE GL_RGB8), $(D_INLINECODE GL_RGB8_SNORM), $(D_INLINECODE GL_SRGB8), $(D_INLINECODE GL_RGB8UI), $(D_INLINECODE GL_RGB8I) 16-bit $(D_INLINECODE GL_R16F), $(D_INLINECODE GL_RG8UI), $(D_INLINECODE GL_R16UI), $(D_INLINECODE GL_RG8I), $(D_INLINECODE GL_R16I), $(D_INLINECODE GL_RG8), $(D_INLINECODE GL_R16), $(D_INLINECODE GL_RG8_SNORM), $(D_INLINECODE GL_R16_SNORM) 8-bit $(D_INLINECODE GL_R8UI), $(D_INLINECODE GL_R8I), $(D_INLINECODE GL_R8), $(D_INLINECODE GL_R8_SNORM) $(D_INLINECODE GL_RGTC1_RED) $(D_INLINECODE GL_COMPRESSED_RED_RGTC1), $(D_INLINECODE GL_COMPRESSED_SIGNED_RED_RGTC1) $(D_INLINECODE GL_RGTC2_RG) $(D_INLINECODE GL_COMPRESSED_RG_RGTC2), $(D_INLINECODE GL_COMPRESSED_SIGNED_RG_RGTC2) $(D_INLINECODE GL_BPTC_UNORM) $(D_INLINECODE GL_COMPRESSED_RGBA_BPTC_UNORM), $(D_INLINECODE GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM) $(D_INLINECODE GL_BPTC_FLOAT) $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT), $(D_INLINECODE GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT) If the original texture is an array or has multiple mipmap levels, the parameters $(D_INLINECODE minlayer), $(D_INLINECODE numlayers), $(D_INLINECODE minlevel), and $(D_INLINECODE numlevels) control which of those slices and levels are considered part of the texture. The $(D_INLINECODE minlevel) and $(D_INLINECODE minlayer) parameters are relative to the view of the original texture. If $(D_INLINECODE numlayers) or $(D_INLINECODE numlevels) extend beyond the original texture, they are clamped to the max extent of the original texture. If the new texture's target is $(D_INLINECODE GL_TEXTURE_CUBE_MAP), the clamped $(D_INLINECODE numlayers) must be equal to 6. If the new texture's target is $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), then $(D_INLINECODE numlayers) counts layer-faces rather than layers, and the clamped $(D_INLINECODE numlayers) must be a multiple of 6. If the new texture's target is $(D_INLINECODE GL_TEXTURE_CUBE_MAP) or $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY), the width and height of the original texture's levels must be equal. When the original texture's target is $(D_INLINECODE GL_TEXTURE_CUBE_MAP), the layer parameters are interpreted in the same order as if it were a $(D_INLINECODE GL_TEXTURE_CUBE_MAP_ARRAY) with 6 layer-faces. If $(D_INLINECODE target) is $(D_INLINECODE GL_TEXTURE_1D), $(D_INLINECODE GL_TEXTURE_2D), $(D_INLINECODE GL_TEXTURE_3D), $(D_INLINECODE GL_TEXTURE_RECTANGLE), or $(D_INLINECODE GL_TEXTURE_2D_MULTISAMPLE), $(D_INLINECODE numlayers) must equal 1. The dimensions of the original texture must be less than or equal to the maximum supported dimensions of the new target. For example, if the original texture has a $(D_INLINECODE GL_TEXTURE_2D_ARRAY) target and its width is greater than $(D_INLINECODE GL_MAX_CUBE_MAP_TEXTURE_SIZE), an error will be generated if $(D_INLINECODE glTextureView) is called to create a $(D_INLINECODE GL_TEXTURE_CUBE_MAP) view. Texture commands that take a $(D_INLINECODE level) or $(D_INLINECODE layer) parameter, such as $(D_INLINECODE glTexSubImage2D), interpret that parameter to be relative to the view of the texture. i.e. the mipmap level of the data store that would be updated via $(D_INLINECODE glTexSubImage2D) would be the sum of $(D_INLINECODE level) and the value of $(D_INLINECODE GL_TEXTURE_VIEW_MIN_LEVEL).
16962      + 
16963      + Params:
16964      +     texture        = Specifies the texture object to be initialized as a view.
16965      +     target         = Specifies the target to be used for the newly initialized texture.
16966      +     origtexture    = Specifies the name of a texture object of which to make a view.
16967      +     internalFormat = Specifies the internal format for the newly created view.
16968      +     minlevel       = Specifies lowest level of detail of the view.
16969      +     numlevels      = Specifies the number of levels of detail to include in the view.
16970      +     minlayer       = Specifies the index of the first layer to include in the view.
16971      +     numlayers      = Specifies the number of layers to include in the view.
16972      + 
16973      + Copyright:
16974      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16975      + 
16976      + See_Also:
16977      +     $(D_INLINECODE glTexStorage1D), $(D_INLINECODE glTexStorage2D), $(D_INLINECODE glTexStorage3D), $(D_INLINECODE glGetTexParameter).
16978      +/
16979     @OpenGL_Version(OGLIntroducedIn.V4P3)
16980     @OpenGL_Extension("GL_ARB_texture_view")
16981     fn_glTextureView glTextureView;
16982     alias fn_glTransformFeedbackBufferBase = extern(C) void function(GLuint xfb, GLuint index, GLuint buffer) @system @nogc nothrow;
16983 
16984     /++
16985      + glTransformFeedbackBufferBase: man4/glTransformFeedbackBufferBase.xml
16986      + 
16987      + $(D_INLINECODE glTransformFeedbackBufferBase) binds the buffer object $(D_INLINECODE buffer) to the binding point at index $(D_INLINECODE index) of the transform feedback object $(D_INLINECODE xfb).
16988      + 
16989      + Calling $(D_INLINECODE glTransformFeedbackBufferBase) is equivalent to calling $(D_INLINECODE glTransformFeedbackBufferRange) with $(D_INLINECODE offset) zero and $(D_INLINECODE size) equal to the size of $(D_INLINECODE buffer).
16990      + 
16991      + Params:
16992      +     xfb    = Name of the transform feedback buffer object.
16993      +     index  = Index of the binding point within $(D_INLINECODE xfb).
16994      +     buffer = Name of the buffer object to bind to the specified binding point.
16995      + 
16996      + Copyright:
16997      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
16998      + 
16999      + See_Also:
17000      +     $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glTransformFeedbackBufferRange).
17001      +/
17002     @OpenGL_Version(OGLIntroducedIn.V4P5)
17003     @OpenGL_Extension("GL_ARB_direct_state_access")
17004     fn_glTransformFeedbackBufferBase glTransformFeedbackBufferBase;
17005     alias fn_glTransformFeedbackBufferRange = extern(C) void function(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) @system @nogc nothrow;
17006 
17007     /++
17008      + glTransformFeedbackBufferRange: man4/glTransformFeedbackBufferRange.xml
17009      + 
17010      + $(D_INLINECODE glTransformFeedbackBufferRange) binds a range of the buffer object $(D_INLINECODE buffer) represented by $(D_INLINECODE offset) and $(D_INLINECODE size) to the binding point at index $(D_INLINECODE index) of the transform feedback object $(D_INLINECODE xfb). $(D_INLINECODE offset) specifies the offset in basic machine units into the buffer object $(D_INLINECODE buffer) and $(D_INLINECODE size) specifies the amount of data that can be read from the buffer object while used as an indexed target.
17011      + 
17012      + Params:
17013      +     xfb    = Name of the transform feedback buffer object.
17014      +     index  = Index of the binding point within $(D_INLINECODE xfb).
17015      +     buffer = Name of the buffer object to bind to the specified binding point.
17016      +     offset = The starting offset in basic machine units into the buffer object.
17017      +     size   = The amount of data in basic machine units that can be read from or written to the buffer object while used as an indexed target.
17018      + 
17019      + Copyright:
17020      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17021      + 
17022      + See_Also:
17023      +     $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glTransformFeedbackBufferBase).
17024      +/
17025     @OpenGL_Version(OGLIntroducedIn.V4P5)
17026     @OpenGL_Extension("GL_ARB_direct_state_access")
17027     fn_glTransformFeedbackBufferRange glTransformFeedbackBufferRange;
17028     alias fn_glTransformFeedbackVaryings = extern(C) void function(GLuint program, GLsizei count, const char** varyings, GLenum bufferMode) @system @nogc nothrow;
17029 
17030     /++
17031      + glTransformFeedbackVaryings: man4/glTransformFeedbackVaryings.xml
17032      + 
17033      + The names of the vertex or geometry shader outputs to be recorded in transform feedback mode are specified using $(D_INLINECODE glTransformFeedbackVaryings). When a geometry shader is active, transform feedback records the values of selected geometry shader output variables from the emitted vertices. Otherwise, the values of the selected vertex shader outputs are recorded. The state set by $(D_INLINECODE glTranformFeedbackVaryings) is stored and takes effect next time $(D_INLINECODE glLinkProgram) is called on $(D_INLINECODE program). When $(D_INLINECODE glLinkProgram) is called, $(D_INLINECODE program) is linked so that the values of the specified varying variables for the vertices of each primitive generated by the GL are written to a single buffer object if $(D_INLINECODE bufferMode) is $(D_INLINECODE GL_INTERLEAVED_ATTRIBS) or multiple buffer objects if $(D_INLINECODE bufferMode) is $(D_INLINECODE GL_SEPARATE_ATTRIBS). In addition to the errors generated by $(D_INLINECODE glTransformFeedbackVaryings), the program $(D_INLINECODE program) will fail to link if: $(OL $(LI The count specified by $(D_INLINECODE glTransformFeedbackVaryings) is non-zero, but the program object has no vertex or geometry shader.) $(LI Any variable name specified in the $(D_INLINECODE varyings) array is not declared as an output in the vertex shader (or the geometry shader, if active).) $(LI Any two entries in the $(D_INLINECODE varyings) array specify the same varying variable.) $(LI The total number of components to capture in any varying variable in $(D_INLINECODE varyings) is greater than the constant $(D_INLINECODE GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) and the buffer mode is $(D_INLINECODE GL_SEPARATE_ATTRIBS).) $(LI The total number of components to capture is greater than the constant $(D_INLINECODE GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS) and the buffer mode is $(D_INLINECODE GL_INTERLEAVED_ATTRIBS).))
17034      + 
17035      + $(D_INLINECODE glGetTransformFeedbackVarying) is available only if the GL version is 3.0 or greater.
17036      + 
17037      + Params:
17038      +     program    = The name of the target program object.
17039      +     count      = The number of varying variables used for transform feedback.
17040      +     varyings   = An array of $(D_INLINECODE count) zero-terminated strings specifying the names of the varying variables to use for transform feedback.
17041      +     bufferMode = Identifies the mode used to capture the varying variables when transform feedback is active. $(D_INLINECODE bufferMode) must be $(D_INLINECODE GL_INTERLEAVED_ATTRIBS) or $(D_INLINECODE GL_SEPARATE_ATTRIBS).
17042      + 
17043      + Copyright:
17044      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17045      + 
17046      + See_Also:
17047      +     $(D_INLINECODE glBeginTransformFeedback), $(D_INLINECODE glEndTransformFeedback), $(D_INLINECODE glGetTransformFeedbackVarying)
17048      +/
17049     @OpenGL_Version(OGLIntroducedIn.V3P0)
17050     fn_glTransformFeedbackVaryings glTransformFeedbackVaryings;
17051     alias fn_glUniform1f = extern(C) void function(GLint location, GLfloat v0) @system @nogc nothrow;
17052 
17053     /++
17054      + glUniform: man4/glUniform.xml
17055      + 
17056      + $(D_INLINECODE glUniform) modifies the value of a uniform variable or a uniform variable array. The location of the uniform variable to be modified is specified by $(D_INLINECODE location), which should be a value returned by $(D_INLINECODE glGetUniformLocation). $(D_INLINECODE glUniform) operates on the program object that was made part of current state by calling $(D_INLINECODE glUseProgram). The commands $(D_INLINECODE glUniform{1|2|3|4}{f|i|ui}) are used to change the value of the uniform variable specified by $(D_INLINECODE location) using the values passed as arguments. The number specified in the command should match the number of components in the data type of the specified uniform variable (e.g., $(D_INLINECODE 1) for $(D_INLINECODE float), $(D_INLINECODE int), $(D_INLINECODE unsigned int), $(D_INLINECODE bool); $(D_INLINECODE 2) for $(D_INLINECODE vec2), $(D_INLINECODE ivec2), $(D_INLINECODE uvec2), $(D_INLINECODE bvec2), etc.). The suffix $(D_INLINECODE f) indicates that floating-point values are being passed; the suffix $(D_INLINECODE i) indicates that integer values are being passed; the suffix $(D_INLINECODE ui) indicates that unsigned integer values are being passed, and this type should also match the data type of the specified uniform variable. The $(D_INLINECODE i) variants of this function should be used to provide values for uniform variables defined as $(D_INLINECODE int), $(D_INLINECODE ivec2), $(D_INLINECODE ivec3), $(D_INLINECODE ivec4), or arrays of these. The $(D_INLINECODE ui) variants of this function should be used to provide values for uniform variables defined as $(D_INLINECODE unsigned int), $(D_INLINECODE uvec2), $(D_INLINECODE uvec3), $(D_INLINECODE uvec4), or arrays of these. The $(D_INLINECODE f) variants should be used to provide values for uniform variables of type $(D_INLINECODE float), $(D_INLINECODE vec2), $(D_INLINECODE vec3), $(D_INLINECODE vec4), or arrays of these. Either the $(D_INLINECODE i), $(D_INLINECODE ui) or $(D_INLINECODE f) variants may be used to provide values for uniform variables of type $(D_INLINECODE bool), $(D_INLINECODE bvec2), $(D_INLINECODE bvec3), $(D_INLINECODE bvec4), or arrays of these. The uniform variable will be set to $(D_INLINECODE false) if the input value is 0 or 0.0f, and it will be set to $(D_INLINECODE true) otherwise. All active uniform variables defined in a program object are initialized to 0 when the program object is linked successfully. They retain the values assigned to them by a call to $(D_INLINECODE glUniform) until the next successful link operation occurs on the program object, when they are once again initialized to 0. The commands $(D_INLINECODE glUniform{1|2|3|4}{f|i|ui}v) can be used to modify a single uniform variable or a uniform variable array. These commands pass a count and a pointer to the values to be loaded into a uniform variable or a uniform variable array. A count of 1 should be used if modifying the value of a single uniform variable, and a count of 1 or greater can be used to modify an entire array or part of an array. When loading elements starting at an arbitrary position in a uniform variable array, elements + - 1 in the array will be replaced with the new values. If $(D_INLINECODE m) + $(D_INLINECODE n) - 1 is larger than the size of the uniform variable array, values for all array elements beyond the end of the array will be ignored. The number specified in the name of the command indicates the number of components for each element in $(D_INLINECODE value), and it should match the number of components in the data type of the specified uniform variable (e.g., $(D_INLINECODE 1) for float, int, bool; $(D_INLINECODE 2) for vec2, ivec2, bvec2, etc.). The data type specified in the name of the command must match the data type for the specified uniform variable as described previously for $(D_INLINECODE glUniform{1|2|3|4}{f|i|ui}). For uniform variable arrays, each element of the array is considered to be of the type indicated in the name of the command (e.g., $(D_INLINECODE glUniform3f) or $(D_INLINECODE glUniform3fv) can be used to load a uniform variable array of type vec3). The number of elements of the uniform variable array to be modified is specified by $(D_INLINECODE count) The commands $(D_INLINECODE glUniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv) are used to modify a matrix or an array of matrices. The numbers in the command name are interpreted as the dimensionality of the matrix. The number $(D_INLINECODE 2) indicates a 2 &#215; 2 matrix (i.e., 4 values), the number $(D_INLINECODE 3) indicates a 3 &#215; 3 matrix (i.e., 9 values), and the number $(D_INLINECODE 4) indicates a 4 &#215; 4 matrix (i.e., 16 values). Non-square matrix dimensionality is explicit, with the first number representing the number of columns and the second number representing the number of rows.  For example, $(D_INLINECODE 2x4) indicates a 2 &#215; 4 matrix with 2 columns and 4 rows (i.e., 8 values). If $(D_INLINECODE transpose) is $(D_INLINECODE GL_FALSE), each matrix is assumed to be supplied in column major order. If $(D_INLINECODE transpose) is $(D_INLINECODE GL_TRUE), each matrix is assumed to be supplied in row major order. The $(D_INLINECODE count) argument indicates the number of matrices to be passed. A count of 1 should be used if modifying the value of a single matrix, and a count greater than 1 can be used to modify an array of matrices.
17057      + 
17058      + $(D_INLINECODE glUniform1i) and $(D_INLINECODE glUniform1iv) are the only two functions that may be used to load uniform variables defined as sampler types. Loading samplers with any other function will result in a $(D_INLINECODE GL_INVALID_OPERATION) error. If $(D_INLINECODE count) is greater than 1 and the indicated uniform variable is not an array, a $(D_INLINECODE GL_INVALID_OPERATION) error is generated and the specified uniform variable will remain unchanged. Other than the preceding exceptions, if the type and size of the uniform variable as defined in the shader do not match the type and size specified in the name of the command used to load its value, a $(D_INLINECODE GL_INVALID_OPERATION) error will be generated and the specified uniform variable will remain unchanged. If $(D_INLINECODE location) is a value other than -1 and it does not represent a valid uniform variable location in the current program object, an error will be generated, and no changes will be made to the uniform variable storage of the current program object. If $(D_INLINECODE location) is equal to -1, the data passed in will be silently ignored and the specified uniform variable will not be changed.
17059      + 
17060      + Params:
17061      +     location       = Specifies the location of the uniform variable to be modified.
17062      +     count          = For the vector ( $(D_INLINECODE glUniform*v) ) commands, specifies the number of elements that are to be modified. This should be 1 if the targeted uniform variable is not an array, and 1 or more if it is an array. For the matrix ( $(D_INLINECODE glUniformMatrix*) ) commands, specifies the number of matrices that are to be modified. This should be 1 if the targeted uniform variable is not an array of matrices, and 1 or more if it is an array of matrices.
17063      +     transpose      = For the matrix commands, specifies whether to transpose the matrix as the values are loaded into the uniform variable.
17064      +     v0, v1, v2, v3 = For the scalar commands, specifies the new values to be used for the specified uniform variable.
17065      +     value          = For the vector and matrix commands, specifies a pointer to an array of $(D_INLINECODE count) values that will be used to update the specified uniform variable.
17066      + 
17067      + Copyright:
17068      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17069      + 
17070      + See_Also:
17071      +     $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUseProgram)
17072      +/
17073     @OpenGL_Version(OGLIntroducedIn.V2P0)
17074     fn_glUniform1f glUniform1f;
17075     alias fn_glUniform2f = extern(C) void function(GLint location, GLfloat v0, GLfloat v1) @system @nogc nothrow;
17076     /// Ditto
17077     @OpenGL_Version(OGLIntroducedIn.V2P0)
17078     fn_glUniform2f glUniform2f;
17079     alias fn_glUniform3f = extern(C) void function(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) @system @nogc nothrow;
17080     /// Ditto
17081     @OpenGL_Version(OGLIntroducedIn.V2P0)
17082     fn_glUniform3f glUniform3f;
17083     alias fn_glUniform4f = extern(C) void function(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) @system @nogc nothrow;
17084     /// Ditto
17085     @OpenGL_Version(OGLIntroducedIn.V2P0)
17086     fn_glUniform4f glUniform4f;
17087     alias fn_glUniform1i = extern(C) void function(GLint location, GLint v0) @system @nogc nothrow;
17088     /// Ditto
17089     @OpenGL_Version(OGLIntroducedIn.V2P0)
17090     fn_glUniform1i glUniform1i;
17091     alias fn_glUniform2i = extern(C) void function(GLint location, GLint v0, GLint v1) @system @nogc nothrow;
17092     /// Ditto
17093     @OpenGL_Version(OGLIntroducedIn.V2P0)
17094     fn_glUniform2i glUniform2i;
17095     alias fn_glUniform3i = extern(C) void function(GLint location, GLint v0, GLint v1, GLint v2) @system @nogc nothrow;
17096     /// Ditto
17097     @OpenGL_Version(OGLIntroducedIn.V2P0)
17098     fn_glUniform3i glUniform3i;
17099     alias fn_glUniform4i = extern(C) void function(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) @system @nogc nothrow;
17100     /// Ditto
17101     @OpenGL_Version(OGLIntroducedIn.V2P0)
17102     fn_glUniform4i glUniform4i;
17103     alias fn_glUniform1ui = extern(C) void function(GLint location, GLuint v0) @system @nogc nothrow;
17104     /// Ditto
17105     @OpenGL_Version(OGLIntroducedIn.V3P0)
17106     fn_glUniform1ui glUniform1ui;
17107     alias fn_glUniform2ui = extern(C) void function(GLint location, GLuint v0, GLuint v1) @system @nogc nothrow;
17108     /// Ditto
17109     @OpenGL_Version(OGLIntroducedIn.V3P0)
17110     fn_glUniform2ui glUniform2ui;
17111     alias fn_glUniform3ui = extern(C) void function(GLint location, GLuint v0, GLuint v1, GLuint v2) @system @nogc nothrow;
17112     /// Ditto
17113     @OpenGL_Version(OGLIntroducedIn.V3P0)
17114     fn_glUniform3ui glUniform3ui;
17115     alias fn_glUniform4ui = extern(C) void function(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) @system @nogc nothrow;
17116     /// Ditto
17117     @OpenGL_Version(OGLIntroducedIn.V3P0)
17118     fn_glUniform4ui glUniform4ui;
17119     alias fn_glUniform1fv = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
17120     /// Ditto
17121     @OpenGL_Version(OGLIntroducedIn.V2P0)
17122     fn_glUniform1fv glUniform1fv;
17123     alias fn_glUniform2fv = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
17124     /// Ditto
17125     @OpenGL_Version(OGLIntroducedIn.V2P0)
17126     fn_glUniform2fv glUniform2fv;
17127     alias fn_glUniform3fv = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
17128     /// Ditto
17129     @OpenGL_Version(OGLIntroducedIn.V2P0)
17130     fn_glUniform3fv glUniform3fv;
17131     alias fn_glUniform4fv = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
17132     /// Ditto
17133     @OpenGL_Version(OGLIntroducedIn.V2P0)
17134     fn_glUniform4fv glUniform4fv;
17135     alias fn_glUniform1iv = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
17136     /// Ditto
17137     @OpenGL_Version(OGLIntroducedIn.V2P0)
17138     fn_glUniform1iv glUniform1iv;
17139     alias fn_glUniform2iv = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
17140     /// Ditto
17141     @OpenGL_Version(OGLIntroducedIn.V2P0)
17142     fn_glUniform2iv glUniform2iv;
17143     alias fn_glUniform3iv = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
17144     /// Ditto
17145     @OpenGL_Version(OGLIntroducedIn.V2P0)
17146     fn_glUniform3iv glUniform3iv;
17147     alias fn_glUniform4iv = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
17148     /// Ditto
17149     @OpenGL_Version(OGLIntroducedIn.V2P0)
17150     fn_glUniform4iv glUniform4iv;
17151     alias fn_glUniform1uiv = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
17152     /// Ditto
17153     @OpenGL_Version(OGLIntroducedIn.V3P0)
17154     fn_glUniform1uiv glUniform1uiv;
17155     alias fn_glUniform2uiv = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
17156     /// Ditto
17157     @OpenGL_Version(OGLIntroducedIn.V3P0)
17158     fn_glUniform2uiv glUniform2uiv;
17159     alias fn_glUniform3uiv = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
17160     /// Ditto
17161     @OpenGL_Version(OGLIntroducedIn.V3P0)
17162     fn_glUniform3uiv glUniform3uiv;
17163     alias fn_glUniform4uiv = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
17164     /// Ditto
17165     @OpenGL_Version(OGLIntroducedIn.V3P0)
17166     fn_glUniform4uiv glUniform4uiv;
17167     alias fn_glUniformMatrix2fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17168     /// Ditto
17169     @OpenGL_Version(OGLIntroducedIn.V2P0)
17170     fn_glUniformMatrix2fv glUniformMatrix2fv;
17171     alias fn_glUniformMatrix3fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17172     /// Ditto
17173     @OpenGL_Version(OGLIntroducedIn.V2P0)
17174     fn_glUniformMatrix3fv glUniformMatrix3fv;
17175     alias fn_glUniformMatrix4fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17176     /// Ditto
17177     @OpenGL_Version(OGLIntroducedIn.V2P0)
17178     fn_glUniformMatrix4fv glUniformMatrix4fv;
17179     alias fn_glUniformMatrix2x3fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17180     /// Ditto
17181     @OpenGL_Version(OGLIntroducedIn.V2P1)
17182     fn_glUniformMatrix2x3fv glUniformMatrix2x3fv;
17183     alias fn_glUniformMatrix3x2fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17184     /// Ditto
17185     @OpenGL_Version(OGLIntroducedIn.V2P1)
17186     fn_glUniformMatrix3x2fv glUniformMatrix3x2fv;
17187     alias fn_glUniformMatrix2x4fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17188     /// Ditto
17189     @OpenGL_Version(OGLIntroducedIn.V2P1)
17190     fn_glUniformMatrix2x4fv glUniformMatrix2x4fv;
17191     alias fn_glUniformMatrix4x2fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17192     /// Ditto
17193     @OpenGL_Version(OGLIntroducedIn.V2P1)
17194     fn_glUniformMatrix4x2fv glUniformMatrix4x2fv;
17195     alias fn_glUniformMatrix3x4fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17196     /// Ditto
17197     @OpenGL_Version(OGLIntroducedIn.V2P1)
17198     fn_glUniformMatrix3x4fv glUniformMatrix3x4fv;
17199     alias fn_glUniformMatrix4x3fv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
17200     /// Ditto
17201     @OpenGL_Version(OGLIntroducedIn.V2P1)
17202     fn_glUniformMatrix4x3fv glUniformMatrix4x3fv;
17203     alias fn_glUniformBlockBinding = extern(C) void function(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) @system @nogc nothrow;
17204 
17205     /++
17206      + glUniformBlockBinding: man4/glUniformBlockBinding.xml
17207      + 
17208      + Binding points for active uniform blocks are assigned using $(D_INLINECODE glUniformBlockBinding). Each of a program's active uniform blocks has a corresponding uniform buffer binding point. $(D_INLINECODE program) is the name of a program object for which the command $(D_INLINECODE glLinkProgram) has been issued in the past. If successful, $(D_INLINECODE glUniformBlockBinding) specifies that $(D_INLINECODE program) will use the data store of the buffer object bound to the binding point $(D_INLINECODE uniformBlockBinding) to extract the values of the uniforms in the uniform block identified by $(D_INLINECODE uniformBlockIndex). When a program object is linked or re-linked, the uniform buffer object binding point assigned to each of its active uniform blocks is reset to zero.
17209      + 
17210      + $(D_INLINECODE glUniformBlockBinding) is available only if the GL version is 3.1 or greater.
17211      + 
17212      + Params:
17213      +     program             = The name of a program object containing the active uniform block whose binding to assign.
17214      +     uniformBlockIndex   = The index of the active uniform block within $(D_INLINECODE program) whose binding to assign.
17215      +     uniformBlockBinding = Specifies the binding point to which to bind the uniform block with index $(D_INLINECODE uniformBlockIndex) within $(D_INLINECODE program).
17216      + 
17217      + Copyright:
17218      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17219      + 
17220      + See_Also:
17221      +     $(D_INLINECODE glLinkProgram), $(D_INLINECODE glBindBufferBase), $(D_INLINECODE glBindBufferRange), $(D_INLINECODE glGetActiveUniformBlock)
17222      +/
17223     @OpenGL_Version(OGLIntroducedIn.V3P1)
17224     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
17225     fn_glUniformBlockBinding glUniformBlockBinding;
17226     alias fn_glUniformSubroutinesuiv = extern(C) void function(GLenum shadertype, GLsizei count, const GLuint* indices) @system @nogc nothrow;
17227 
17228     /++
17229      + glUniformSubroutines: man4/glUniformSubroutines.xml
17230      + 
17231      + $(D_INLINECODE glUniformSubroutines) loads all active subroutine uniforms for shader stage $(D_INLINECODE shadertype) of the current program with subroutine indices from $(D_INLINECODE indices), storing $(D_INLINECODE indices[i]) into the uniform at location $(D_INLINECODE i). $(D_INLINECODE count) must be equal to the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS) for the program currently in use at shader stage $(D_INLINECODE shadertype). Furthermore, all values in $(D_INLINECODE indices) must be less than the value of $(D_INLINECODE GL_ACTIVE_SUBROUTINES) for the shader stage.
17232      + 
17233      + Params:
17234      +     shadertype = Specifies the shader stage from which to query for subroutine uniform index. $(D_INLINECODE shadertype) must be one of $(D_INLINECODE GL_VERTEX_SHADER), $(D_INLINECODE GL_TESS_CONTROL_SHADER), $(D_INLINECODE GL_TESS_EVALUATION_SHADER), $(D_INLINECODE GL_GEOMETRY_SHADER) or $(D_INLINECODE GL_FRAGMENT_SHADER).
17235      +     count      = Specifies the number of uniform indices stored in $(D_INLINECODE indices).
17236      +     indices    = Specifies the address of an array holding the indices to load into the shader subroutine variables.
17237      + 
17238      + Copyright:
17239      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17240      + 
17241      + See_Also:
17242      +     $(D_INLINECODE glGetProgram), $(D_INLINECODE glGetActiveSubroutineUniform), $(D_INLINECODE glGetActiveSubroutineUniformName), $(D_INLINECODE glGetProgramStage)
17243      +/
17244     @OpenGL_Version(OGLIntroducedIn.V4P0)
17245     @OpenGL_Extension("GL_ARB_shader_subroutine")
17246     fn_glUniformSubroutinesuiv glUniformSubroutinesuiv;
17247     alias fn_glUnmapBuffer = extern(C) GLboolean function(GLenum target) @system @nogc nothrow;
17248 
17249     /++
17250      + glUnmapBuffer: man4/glUnmapBuffer.xml
17251      + 
17252      + $(D_INLINECODE glUnmapBuffer) and $(D_INLINECODE glUnmapNamedBuffer) unmap (release) any mapping of a specified buffer object into the client's address space (see $(D_INLINECODE glMapBufferRange) and $(D_INLINECODE glMapBuffer) ). If a mapping is not unmapped before the corresponding buffer object's data store is used by the GL, an error will be generated by any GL command that attempts to dereference the buffer object's data store, unless the buffer was successfully mapped with $(D_INLINECODE GL_MAP_PERSISTENT_BIT) (see $(D_INLINECODE glMapBufferRange) ). When a data store is unmapped, the mapped pointer becomes invalid. $(D_INLINECODE glUnmapBuffer) returns $(D_INLINECODE GL_TRUE) unless the data store contents have become corrupt during the time the data store was mapped. This can occur for system-specific reasons that affect the availability of graphics memory, such as screen mode changes. In such situations, $(D_INLINECODE GL_FALSE) is returned and the data store contents are undefined. An application must detect this rare condition and reinitialize the data store. A buffer object's mapped data store is automatically unmapped when the buffer object is deleted or its data store is recreated with $(D_INLINECODE glBufferData) ).
17253      + 
17254      + If an error is generated, $(D_INLINECODE glUnmapBuffer) returns $(D_INLINECODE GL_FALSE). The $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) target is accepted only if the GL version is 4.2 or greater. The $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) and $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) targets are available only if the GL version is 4.3 or greater. The $(D_INLINECODE GL_QUERY_BUFFER) target is available only if the GL version is 4.4 or greater.
17255      + 
17256      + Params:
17257      +     target = Specifies the target to which the buffer object is bound for $(D_INLINECODE glUnmapBuffer), which must be one of the buffer binding targets in the following table: $(B Buffer Binding Target) $(B Purpose) $(D_INLINECODE GL_ARRAY_BUFFER) Vertex attributes $(D_INLINECODE GL_ATOMIC_COUNTER_BUFFER) Atomic counter storage $(D_INLINECODE GL_COPY_READ_BUFFER) Buffer copy source $(D_INLINECODE GL_COPY_WRITE_BUFFER) Buffer copy destination $(D_INLINECODE GL_DISPATCH_INDIRECT_BUFFER) Indirect compute dispatch commands $(D_INLINECODE GL_DRAW_INDIRECT_BUFFER) Indirect command arguments $(D_INLINECODE GL_ELEMENT_ARRAY_BUFFER) Vertex array indices $(D_INLINECODE GL_PIXEL_PACK_BUFFER) Pixel read target $(D_INLINECODE GL_PIXEL_UNPACK_BUFFER) Texture data source $(D_INLINECODE GL_QUERY_BUFFER) Query result buffer $(D_INLINECODE GL_SHADER_STORAGE_BUFFER) Read-write storage for shaders $(D_INLINECODE GL_TEXTURE_BUFFER) Texture data buffer $(D_INLINECODE GL_TRANSFORM_FEEDBACK_BUFFER) Transform feedback buffer $(D_INLINECODE GL_UNIFORM_BUFFER) Uniform block storage
17258      +     buffer = Specifies the name of the buffer object for $(D_INLINECODE glUnmapNamedBuffer).
17259      + 
17260      + Copyright:
17261      +     Copyright&copy; 2005 Addison-Wesley. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17262      + 
17263      + See_Also:
17264      +     $(D_INLINECODE glBufferData), $(D_INLINECODE glDeleteBuffers), $(D_INLINECODE glMapBuffer), $(D_INLINECODE glMapBufferRange)
17265      +/
17266     @OpenGL_Version(OGLIntroducedIn.V1P5)
17267     fn_glUnmapBuffer glUnmapBuffer;
17268     alias fn_glUnmapNamedBuffer = extern(C) GLboolean function(GLuint buffer) @system @nogc nothrow;
17269     /// Ditto
17270     @OpenGL_Version(OGLIntroducedIn.V4P5)
17271     @OpenGL_Extension("GL_ARB_direct_state_access")
17272     fn_glUnmapNamedBuffer glUnmapNamedBuffer;
17273     alias fn_glUseProgram = extern(C) void function(GLuint program) @system @nogc nothrow;
17274 
17275     /++
17276      + glUseProgram: man4/glUseProgram.xml
17277      + 
17278      + $(D_INLINECODE glUseProgram) installs the program object specified by $(D_INLINECODE program) as part of current rendering state. One or more executables are created in a program object by successfully attaching shader objects to it with $(D_INLINECODE glAttachShader), successfully compiling the shader objects with $(D_INLINECODE glCompileShader), and successfully linking the program object with $(D_INLINECODE glLinkProgram). A program object will contain an executable that will run on the vertex processor if it contains one or more shader objects of type $(D_INLINECODE GL_VERTEX_SHADER) that have been successfully compiled and linked. A program object will contain an executable that will run on the geometry processor if it contains one or more shader objects of type $(D_INLINECODE GL_GEOMETRY_SHADER) that have been successfully compiled and linked. Similarly, a program object will contain an executable that will run on the fragment processor if it contains one or more shader objects of type $(D_INLINECODE GL_FRAGMENT_SHADER) that have been successfully compiled and linked. While a program object is in use, applications are free to modify attached shader objects, compile attached shader objects, attach additional shader objects, and detach or delete shader objects. None of these operations will affect the executables that are part of the current state. However, relinking the program object that is currently in use will install the program object as part of the current rendering state if the link operation was successful (see $(D_INLINECODE glLinkProgram) ). If the program object currently in use is relinked unsuccessfully, its link status will be set to $(D_INLINECODE GL_FALSE), but the executables and associated state will remain part of the current state until a subsequent call to $(D_INLINECODE glUseProgram) removes it from use. After it is removed from use, it cannot be made part of current state until it has been successfully relinked. If $(D_INLINECODE program) is zero, then the current rendering state refers to an program object and the results of shader execution are undefined. However, this is not an error. If $(D_INLINECODE program) does not contain shader objects of type $(D_INLINECODE GL_FRAGMENT_SHADER), an executable will be installed on the vertex, and possibly geometry processors, but the results of fragment shader execution will be undefined.
17279      + 
17280      + Like buffer and texture objects, the name space for program objects may be shared across a set of contexts, as long as the server sides of the contexts share the same address space. If the name space is shared across contexts, any attached objects and the data associated with those attached objects are shared as well. Applications are responsible for providing the synchronization across API calls when objects are accessed from different execution threads.
17281      + 
17282      + Params:
17283      +     program = Specifies the handle of the program object whose executables are to be used as part of current rendering state.
17284      + 
17285      + Copyright:
17286      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17287      + 
17288      + See_Also:
17289      +     $(D_INLINECODE glAttachShader), $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glCompileShader), $(D_INLINECODE glCreateProgram), $(D_INLINECODE glDeleteProgram), $(D_INLINECODE glDetachShader), $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUniform), $(D_INLINECODE glValidateProgram), $(D_INLINECODE glVertexAttrib)
17290      +/
17291     @OpenGL_Version(OGLIntroducedIn.V2P0)
17292     fn_glUseProgram glUseProgram;
17293     alias fn_glUseProgramStages = extern(C) void function(GLuint pipeline, GLbitfield stages, GLuint program) @system @nogc nothrow;
17294 
17295     /++
17296      + glUseProgramStages: man4/glUseProgramStages.xml
17297      + 
17298      + $(D_INLINECODE glUseProgramStages) binds executables from a program object associated with a specified set of shader stages to the program pipeline object given by $(D_INLINECODE pipeline). $(D_INLINECODE pipeline) specifies the program pipeline object to which to bind the executables. $(D_INLINECODE stages) contains a logical combination of bits indicating the shader stages to use within $(D_INLINECODE program) with the program pipeline object $(D_INLINECODE pipeline). $(D_INLINECODE stages) must be a logical combination of $(D_INLINECODE GL_VERTEX_SHADER_BIT), $(D_INLINECODE GL_TESS_CONTROL_SHADER_BIT), $(D_INLINECODE GL_TESS_EVALUATION_SHADER_BIT), $(D_INLINECODE GL_GEOMETRY_SHADER_BIT), $(D_INLINECODE GL_FRAGMENT_SHADER_BIT) and $(D_INLINECODE GL_COMPUTE_SHADER_BIT). Additionally, the special value $(D_INLINECODE GL_ALL_SHADER_BITS) may be specified to indicate that all executables contained in $(D_INLINECODE program) should be installed in $(D_INLINECODE pipeline). If $(D_INLINECODE program) refers to a program object with a valid shader attached for an indicated shader stage, $(D_INLINECODE glUseProgramStages) installs the executable code for that stage in the indicated program pipeline object $(D_INLINECODE pipeline). If $(D_INLINECODE program) is zero, or refers to a program object with no valid shader executable for a given stage, it is as if the pipeline object has no programmable stage configured for the indicated shader stages. If $(D_INLINECODE stages) contains bits other than those listed above, and is not equal to $(D_INLINECODE GL_ALL_SHADER_BITS), an error is generated.
17299      + 
17300      + The $(D_INLINECODE GL_COMPUTE_SHADER_BIT) bit is available only if the GL version is 4.3 or greater.
17301      + 
17302      + Params:
17303      +     pipeline = Specifies the program pipeline object to which to bind stages from $(D_INLINECODE program).
17304      +     stages   = Specifies a set of program stages to bind to the program pipeline object.
17305      +     program  = Specifies the program object containing the shader executables to use in $(D_INLINECODE pipeline).
17306      + 
17307      + Copyright:
17308      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17309      + 
17310      + See_Also:
17311      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glDeleteProgramPipelines), $(D_INLINECODE glIsProgramPipeline)
17312      +/
17313     @OpenGL_Version(OGLIntroducedIn.V4P1)
17314     @OpenGL_Extension("GL_ARB_separate_shader_objects")
17315     fn_glUseProgramStages glUseProgramStages;
17316     alias fn_glValidateProgram = extern(C) void function(GLuint program) @system @nogc nothrow;
17317 
17318     /++
17319      + glValidateProgram: man4/glValidateProgram.xml
17320      + 
17321      + $(D_INLINECODE glValidateProgram) checks to see whether the executables contained in $(D_INLINECODE program) can execute given the current OpenGL state. The information generated by the validation process will be stored in $(D_INLINECODE program) 's information log. The validation information may consist of an empty string, or it may be a string containing information about how the current program object interacts with the rest of current OpenGL state. This provides a way for OpenGL implementers to convey more information about why the current program is inefficient, suboptimal, failing to execute, and so on. The status of the validation operation will be stored as part of the program object's state. This value will be set to $(D_INLINECODE GL_TRUE) if the validation succeeded, and $(D_INLINECODE GL_FALSE) otherwise. It can be queried by calling $(D_INLINECODE glGetProgram) with arguments $(D_INLINECODE program) and $(D_INLINECODE GL_VALIDATE_STATUS). If validation is successful, $(D_INLINECODE program) is guaranteed to execute given the current state. Otherwise, $(D_INLINECODE program) is guaranteed to not execute. This function is typically useful only during application development. The informational string stored in the information log is completely implementation dependent; therefore, an application should not expect different OpenGL implementations to produce identical information strings.
17322      + 
17323      + This function mimics the validation operation that OpenGL implementations must perform when rendering commands are issued while programmable shaders are part of current state. The error $(D_INLINECODE GL_INVALID_OPERATION) will be generated by any command that triggers the rendering of geometry if: $(OL $(LI any two active samplers in the current program object are of different types, but refer to the same texture image unit,) $(LI the number of active samplers in the program exceeds the maximum number of texture image units allowed.)) It may be difficult or cause a performance degradation for applications to catch these errors when rendering commands are issued. Therefore, applications are advised to make calls to $(D_INLINECODE glValidateProgram) to detect these issues during application development.
17324      + 
17325      + Params:
17326      +     program = Specifies the handle of the program object to be validated.
17327      + 
17328      + Copyright:
17329      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17330      + 
17331      + See_Also:
17332      +     $(D_INLINECODE glLinkProgram), $(D_INLINECODE glUseProgram)
17333      +/
17334     @OpenGL_Version(OGLIntroducedIn.V2P0)
17335     fn_glValidateProgram glValidateProgram;
17336     alias fn_glValidateProgramPipeline = extern(C) void function(GLuint pipeline) @system @nogc nothrow;
17337 
17338     /++
17339      + glValidateProgramPipeline: man4/glValidateProgramPipeline.xml
17340      + 
17341      + $(D_INLINECODE glValidateProgramPipeline) instructs the implementation to validate the shader executables contained in $(D_INLINECODE pipeline) against the current GL state. The implementation may use this as an opportunity to perform any internal shader modifications that may be required to ensure correct operation of the installed shaders given the current GL state. After a program pipeline has been validated, its validation status is set to $(D_INLINECODE GL_TRUE). The validation status of a program pipeline object may be queried by calling $(D_INLINECODE glGetProgramPipeline) with parameter $(D_INLINECODE GL_VALIDATE_STATUS). If $(D_INLINECODE pipeline) is a name previously returned from a call to $(D_INLINECODE glGenProgramPipelines) but that has not yet been bound by a call to $(D_INLINECODE glBindProgramPipeline), a new program pipeline object is created with name $(D_INLINECODE pipeline) and the default state vector.
17342      + 
17343      + Params:
17344      +     pipeline = Specifies the name of a program pipeline object to validate.
17345      + 
17346      + Copyright:
17347      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17348      + 
17349      + See_Also:
17350      +     $(D_INLINECODE glGenProgramPipelines), $(D_INLINECODE glBindProgramPipeline), $(D_INLINECODE glDeleteProgramPipelines)
17351      +/
17352     @OpenGL_Version(OGLIntroducedIn.V4P1)
17353     @OpenGL_Extension("GL_ARB_separate_shader_objects")
17354     fn_glValidateProgramPipeline glValidateProgramPipeline;
17355     alias fn_glVertexAttribBinding = extern(C) void function(GLuint attribindex, GLuint bindingindex) @system @nogc nothrow;
17356 
17357     /++
17358      + glVertexArrayAttribBinding: man4/glVertexAttribBinding.xml
17359      + 
17360      + $(D_INLINECODE glVertexAttribBinding) and $(D_INLINECODE glVertexArrayAttribBinding) establishes an association between the generic vertex attribute of a vertex array object whose index is given by $(D_INLINECODE attribindex), and a vertex buffer binding whose index is given by $(D_INLINECODE bindingindex). For $(D_INLINECODE glVertexAttribBinding), the vertex array object affected is that currently bound. For $(D_INLINECODE glVertexArrayAttribBinding), $(D_INLINECODE vaobj) is the name of the vertex array object. $(D_INLINECODE attribindex) must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS) and $(D_INLINECODE bindingindex) must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_ATTRIB_BINDINGS).
17361      + 
17362      + Params:
17363      +     vaobj        = Specifies the name of the vertex array object for $(D_INLINECODE glVertexArrayAttribBinding).
17364      +     attribindex  = The index of the attribute to associate with a vertex buffer binding.
17365      +     bindingindex = The index of the vertex buffer binding with which to associate the generic vertex attribute.
17366      + 
17367      + Copyright:
17368      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17369      + 
17370      + See_Also:
17371      +     $(D_INLINECODE glBindVertexBuffer), $(D_INLINECODE glVertexAttribFormat), $(D_INLINECODE glVertexBindingDivisor), $(D_INLINECODE glVertexAttribPointer).
17372      +/
17373     @OpenGL_Version(OGLIntroducedIn.V4P3)
17374     @OpenGL_Extension("GL_ARB_vertex_attrib_binding")
17375     fn_glVertexAttribBinding glVertexAttribBinding;
17376     alias fn_glVertexArrayAttribBinding = extern(C) void function(GLuint vaobj, GLuint attribindex, GLuint bindingindex) @system @nogc nothrow;
17377     /// Ditto
17378     @OpenGL_Version(OGLIntroducedIn.V4P5)
17379     @OpenGL_Extension("GL_ARB_direct_state_access")
17380     fn_glVertexArrayAttribBinding glVertexArrayAttribBinding;
17381     alias fn_glVertexAttribFormat = extern(C) void function(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) @system @nogc nothrow;
17382 
17383     /++
17384      + glVertexArrayAttribFormat: man4/glVertexAttribFormat.xml
17385      + 
17386      + $(D_INLINECODE glVertexAttribFormat), $(D_INLINECODE glVertexAttribIFormat) and $(D_INLINECODE glVertexAttribLFormat), as well as $(D_INLINECODE glVertexArrayAttribFormat), $(D_INLINECODE glVertexArrayAttribIFormat) and $(D_INLINECODE glVertexArrayAttribLFormat) specify the organization of data in vertex arrays. The first three calls operate on the bound vertex array object, whereas the last three ones modify the state of a vertex array object with ID $(D_INLINECODE vaobj). $(D_INLINECODE attribindex) specifies the index of the generic vertex attribute array whose data layout is being described, and must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS). $(D_INLINECODE size) determines the number of components per vertex are allocated to the specified attribute and must be 1, 2, 3 or 4. $(D_INLINECODE type) indicates the type of the data. If $(D_INLINECODE type) is one of $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_FIXED), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_HALF_FLOAT), and $(D_INLINECODE GL_DOUBLE) indicate types $(D_INLINECODE GLbyte), $(D_INLINECODE GLshort), $(D_INLINECODE GLint), $(D_INLINECODE GLfixed), $(D_INLINECODE GLfloat), $(D_INLINECODE GLhalf), and $(D_INLINECODE GLdouble), respectively; the values $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_UNSIGNED_SHORT), and $(D_INLINECODE GL_UNSIGNED_INT) indicate types $(D_INLINECODE GLubyte), $(D_INLINECODE GLushort), and $(D_INLINECODE GLuint), respectively; the values $(D_INLINECODE GL_INT_2_10_10_10_REV) and $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV) indicating respectively four signed or unsigned elements packed into a single $(D_INLINECODE GLuint); and the value $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) indicating three floating point values packed into a single $(D_INLINECODE GLuint). $(D_INLINECODE glVertexAttribLFormat) and $(D_INLINECODE glVertexArrayAttribLFormat) is used to specify layout for data associated with a generic attribute variable declared as 64-bit double precision components. For $(D_INLINECODE glVertexAttribLFormat) and $(D_INLINECODE glVertexArrayAttribLFormat), $(D_INLINECODE type) must be $(D_INLINECODE GL_DOUBLE). In contrast to $(D_INLINECODE glVertexAttribFormat) or $(D_INLINECODE glVertexArrayAttribFormat), which will cause data declared as $(D_INLINECODE GL_DOUBLE) to be converted to 32-bit representation, $(D_INLINECODE glVertexAttribLFormat) and $(D_INLINECODE glVertexArrayAttribLFormat) cause such data to be left in its natural, 64-bit representation. For $(D_INLINECODE glVertexAttribFormat) and $(D_INLINECODE glVertexArrayAttribFormat), if $(D_INLINECODE normalized) is $(D_INLINECODE GL_TRUE), then integer data is normalized to the range [-1, 1] or [0, 1] if it is signed or unsigned, respectively. If $(D_INLINECODE normalized) is $(D_INLINECODE GL_FALSE) then integer data is directly converted to floating point. $(D_INLINECODE relativeoffset) is the offset, measured in basic machine units of the first element relative to the start of the vertex buffer binding this attribute fetches from. $(D_INLINECODE glVertexAttribFormat) and $(D_INLINECODE glVertexArrayAttribFormat) should be used to describe vertex attribute layout for floating-point vertex attributes, $(D_INLINECODE glVertexAttribIFormat) and $(D_INLINECODE glVertexArrayAttribIFormat) should be used to describe vertex attribute layout for integer vertex attribute, and $(D_INLINECODE glVertexAttribLFormat) and $(D_INLINECODE glVertexArrayAttribLFormat) should be used to describe the layout for 64-bit vertex attributes. Data for an array specified by $(D_INLINECODE glVertexAttribIFormat) and $(D_INLINECODE glVertexArrayAttribIFormat) will always be left as integer values; such data are referred to as pure integers.
17387      + 
17388      + $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) is accepted for $(D_INLINECODE type) only if the GL version is 4.4 or higher.
17389      + 
17390      + Params:
17391      +     vaobj          = Specifies the name of the vertex array object for $(D_INLINECODE glVertexArrayAttrib{I, L}Format) functions.
17392      +     attribindex    = The generic vertex attribute array being described.
17393      +     size           = The number of values per vertex that are stored in the array.
17394      +     type           = The type of the data stored in the array.
17395      +     normalized     = The distance between elements within the buffer.
17396      +     relativeoffset = The distance between elements within the buffer.
17397      + 
17398      + Copyright:
17399      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17400      + 
17401      + See_Also:
17402      +     $(D_INLINECODE glBindVertexBuffer), $(D_INLINECODE glVertexAttribBinding), $(D_INLINECODE glVertexAttribPointer), $(D_INLINECODE glVertexBindingDivisor), $(D_INLINECODE glVertexAttribPointer).
17403      +/
17404     @OpenGL_Version(OGLIntroducedIn.V4P3)
17405     @OpenGL_Extension("GL_ARB_vertex_attrib_binding")
17406     fn_glVertexAttribFormat glVertexAttribFormat;
17407     alias fn_glVertexAttribIFormat = extern(C) void function(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) @system @nogc nothrow;
17408     /// Ditto
17409     @OpenGL_Version(OGLIntroducedIn.V4P3)
17410     @OpenGL_Extension("GL_ARB_vertex_attrib_binding")
17411     fn_glVertexAttribIFormat glVertexAttribIFormat;
17412     alias fn_glVertexAttribLFormat = extern(C) void function(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) @system @nogc nothrow;
17413     /// Ditto
17414     @OpenGL_Version(OGLIntroducedIn.V4P3)
17415     @OpenGL_Extension("GL_ARB_vertex_attrib_binding")
17416     fn_glVertexAttribLFormat glVertexAttribLFormat;
17417     alias fn_glVertexArrayAttribFormat = extern(C) void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) @system @nogc nothrow;
17418     /// Ditto
17419     @OpenGL_Version(OGLIntroducedIn.V4P5)
17420     @OpenGL_Extension("GL_ARB_direct_state_access")
17421     fn_glVertexArrayAttribFormat glVertexArrayAttribFormat;
17422     alias fn_glVertexArrayAttribIFormat = extern(C) void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) @system @nogc nothrow;
17423     /// Ditto
17424     @OpenGL_Version(OGLIntroducedIn.V4P5)
17425     @OpenGL_Extension("GL_ARB_direct_state_access")
17426     fn_glVertexArrayAttribIFormat glVertexArrayAttribIFormat;
17427     alias fn_glVertexArrayAttribLFormat = extern(C) void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) @system @nogc nothrow;
17428     /// Ditto
17429     @OpenGL_Version(OGLIntroducedIn.V4P5)
17430     @OpenGL_Extension("GL_ARB_direct_state_access")
17431     fn_glVertexArrayAttribLFormat glVertexArrayAttribLFormat;
17432     alias fn_glVertexBindingDivisor = extern(C) void function(GLuint bindingindex, GLuint divisor) @system @nogc nothrow;
17433 
17434     /++
17435      + glVertexArrayBindingDivisor: man4/glVertexBindingDivisor.xml
17436      + 
17437      + $(D_INLINECODE glVertexBindingDivisor) and $(D_INLINECODE glVertexArrayBindingDivisor) modify the rate at which generic vertex attributes advance when rendering multiple instances of primitives in a single draw command. If $(D_INLINECODE divisor) is zero, the attributes using the buffer bound to $(D_INLINECODE bindingindex) advance once per vertex. If $(D_INLINECODE divisor) is non-zero, the attributes advance once per $(D_INLINECODE divisor) instances of the set(s) of vertices being rendered. An attribute is referred to as if the corresponding $(D_INLINECODE divisor) value is non-zero. $(D_INLINECODE glVertexBindingDivisor) uses currently bound vertex array object , whereas $(D_INLINECODE glVertexArrayBindingDivisor) updates state of the vertex array object with ID $(D_INLINECODE vaobj).
17438      + 
17439      + Params:
17440      +     vaobj        = Specifies the name of the vertex array object for $(D_INLINECODE glVertexArrayBindingDivisor) function.
17441      +     bindingindex = The index of the binding whose divisor to modify.
17442      +     divisor      = The new value for the instance step rate to apply.
17443      + 
17444      + Copyright:
17445      +     Copyright&copy; 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17446      + 
17447      + See_Also:
17448      +     $(D_INLINECODE glBindVertexBuffer), $(D_INLINECODE glVertexAttribBinding), $(D_INLINECODE glVertexAttribPointer), $(D_INLINECODE glVertexBindingDivisor), $(D_INLINECODE glVertexAttribPointer).
17449      +/
17450     @OpenGL_Version(OGLIntroducedIn.V4P3)
17451     @OpenGL_Extension("GL_ARB_vertex_attrib_binding")
17452     fn_glVertexBindingDivisor glVertexBindingDivisor;
17453     alias fn_glVertexArrayBindingDivisor = extern(C) void function(GLuint vaobj, GLuint bindingindex, GLuint divisor) @system @nogc nothrow;
17454     /// Ditto
17455     @OpenGL_Version(OGLIntroducedIn.V4P5)
17456     @OpenGL_Extension("GL_ARB_direct_state_access")
17457     fn_glVertexArrayBindingDivisor glVertexArrayBindingDivisor;
17458     alias fn_glVertexArrayElementBuffer = extern(C) void function(GLuint vaobj, GLuint buffer) @system @nogc nothrow;
17459 
17460     /++
17461      + glVertexArrayElementBuffer: man4/glVertexArrayElementBuffer.xml
17462      + 
17463      + $(D_INLINECODE glVertexArrayElementBuffer) binds a buffer object with id $(D_INLINECODE buffer) to the element array buffer bind point of a vertex array object with id $(D_INLINECODE vaobj). If $(D_INLINECODE buffer) is zero, any existing element array buffer binding to $(D_INLINECODE vaobj) is removed.
17464      + 
17465      + Params:
17466      +     vaobj  = Specifies the name of the vertex array object.
17467      +     buffer = Specifies the name of the buffer object to use for the element array buffer binding.
17468      + 
17469      + Copyright:
17470      +     Copyright&copy; 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17471      + 
17472      + See_Also:
17473      +     $(D_INLINECODE glGet), $(D_INLINECODE glGetVertexArrayiv)
17474      +/
17475     @OpenGL_Version(OGLIntroducedIn.V4P5)
17476     @OpenGL_Extension("GL_ARB_direct_state_access")
17477     fn_glVertexArrayElementBuffer glVertexArrayElementBuffer;
17478     alias fn_glVertexAttrib1f = extern(C) void function(GLuint index, GLfloat v0) @system @nogc nothrow;
17479 
17480     /++
17481      + glVertexAttrib: man4/glVertexAttrib.xml
17482      + 
17483      + The $(D_INLINECODE glVertexAttrib) family of entry points allows an application to pass generic vertex attributes in numbered locations. Generic attributes are defined as four-component values that are organized into an array. The first entry of this array is numbered 0, and the size of the array is specified by the implementation-dependent constant $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS). Individual elements of this array can be modified with a $(D_INLINECODE glVertexAttrib) call that specifies the index of the element to be modified and a value for that element. These commands can be used to specify one, two, three, or all four components of the generic vertex attribute specified by $(D_INLINECODE index). A $(D_INLINECODE 1) in the name of the command indicates that only one value is passed, and it will be used to modify the first component of the generic vertex attribute. The second and third components will be set to 0, and the fourth component will be set to 1. Similarly, a $(D_INLINECODE 2) in the name of the command indicates that values are provided for the first two components, the third component will be set to 0, and the fourth component will be set to 1. A $(D_INLINECODE 3) in the name of the command indicates that values are provided for the first three components and the fourth component will be set to 1, whereas a $(D_INLINECODE 4) in the name indicates that values are provided for all four components. The letters $(D_INLINECODE s), $(D_INLINECODE f), $(D_INLINECODE i), $(D_INLINECODE d), $(D_INLINECODE ub), $(D_INLINECODE us), and $(D_INLINECODE ui) indicate whether the arguments are of type short, float, int, double, unsigned byte, unsigned short, or unsigned int. When $(D_INLINECODE v) is appended to the name, the commands can take a pointer to an array of such values. Additional capitalized letters can indicate further alterations to the default behavior of the glVertexAttrib function: The commands containing $(D_INLINECODE N) indicate that the arguments will be passed as fixed-point values that are scaled to a normalized range according to the component conversion rules defined by the OpenGL specification. Signed values are understood to represent fixed-point values in the range [-1,1], and unsigned values are understood to represent fixed-point values in the range [0,1]. The commands containing $(D_INLINECODE I) indicate that the arguments are extended to full signed or unsigned integers. The commands containing $(D_INLINECODE P) indicate that the arguments are stored as packed components within a larger natural type. The commands containing $(D_INLINECODE L) indicate that the arguments are full 64-bit quantities and should be passed directly to shader inputs declared as 64-bit double precision types. OpenGL Shading Language attribute variables are allowed to be of type mat2, mat3, or mat4. Attributes of these types may be loaded using the $(D_INLINECODE glVertexAttrib) entry points. Matrices must be loaded into successive generic attribute slots in column major order, with one column of the matrix in each generic attribute slot. A user-defined attribute variable declared in a vertex shader can be bound to a generic attribute index by calling $(D_INLINECODE glBindAttribLocation). This allows an application to use more descriptive variable names in a vertex shader. A subsequent change to the specified generic vertex attribute will be immediately reflected as a change to the corresponding attribute variable in the vertex shader. The binding between a generic vertex attribute index and a user-defined attribute variable in a vertex shader is part of the state of a program object, but the current value of the generic vertex attribute is not. The value of each generic vertex attribute is part of current state, just like standard vertex attributes, and it is maintained even if a different program object is used. An application may freely modify generic vertex attributes that are not bound to a named vertex shader attribute variable. These values are simply maintained as part of current state and will not be accessed by the vertex shader. If a generic vertex attribute bound to an attribute variable in a vertex shader is not updated while the vertex shader is executing, the vertex shader will repeatedly use the current value for the generic vertex attribute.
17484      + 
17485      + Generic vertex attributes can be updated at any time. It is possible for an application to bind more than one attribute name to the same generic vertex attribute index. This is referred to as aliasing, and it is allowed only if just one of the aliased attribute variables is active in the vertex shader, or if no path through the vertex shader consumes more than one of the attributes aliased to the same location. OpenGL implementations are not required to do error checking to detect aliasing, they are allowed to assume that aliasing will not occur, and they are allowed to employ optimizations that work only in the absence of aliasing. There is no provision for binding standard vertex attributes; therefore, it is not possible to alias generic attributes with standard attributes. $(D_INLINECODE glVertexAttribL) versions are available only if the GL version is 4.1 or higher. $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) is accepted for $(D_INLINECODE type) by $(D_INLINECODE glVertexAttribP*) only if the GL version is 4.4 or higher.
17486      + 
17487      + Params:
17488      +     index          = Specifies the index of the generic vertex attribute to be modified.
17489      +     v0, v1, v2, v3 = For the scalar commands, specifies the new values to be used for the specified vertex attribute.
17490      +     v              = For the vector commands ( $(D_INLINECODE glVertexAttrib*v) ), specifies a pointer to an array of values to be used for the generic vertex attribute.
17491      +     type           = For the packed commands ( $(D_INLINECODE glVertexAttribP*) ), specified the type of packing used on the data. This parameter must be $(D_INLINECODE GL_INT_2_10_10_10_REV) or $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV), to specify signed or unsigned data, respectively, or $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) to specify floating point data.
17492      +     normalized     = For the packed commands, if $(D_INLINECODE GL_TRUE), then the values are to be converted to floating point values by normalizing. Otherwise, they are converted directly to floating-point values. If $(D_INLINECODE type) indicates a floating-pont format, then $(D_INLINECODE normalized) value must be $(D_INLINECODE GL_FALSE).
17493      +     value          = For the packed commands, specifies the new packed value to be used for the specified vertex attribute.
17494      + 
17495      + Copyright:
17496      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17497      + 
17498      + See_Also:
17499      +     $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glVertexAttribPointer)
17500      +/
17501     @OpenGL_Version(OGLIntroducedIn.V2P0)
17502     fn_glVertexAttrib1f glVertexAttrib1f;
17503     alias fn_glVertexAttrib1s = extern(C) void function(GLuint index, GLshort v0) @system @nogc nothrow;
17504     /// Ditto
17505     @OpenGL_Version(OGLIntroducedIn.V2P0)
17506     fn_glVertexAttrib1s glVertexAttrib1s;
17507     alias fn_glVertexAttrib1d = extern(C) void function(GLuint index, GLdouble v0) @system @nogc nothrow;
17508     /// Ditto
17509     @OpenGL_Version(OGLIntroducedIn.V2P0)
17510     fn_glVertexAttrib1d glVertexAttrib1d;
17511     alias fn_glVertexAttribI1i = extern(C) void function(GLuint index, GLint v0) @system @nogc nothrow;
17512     /// Ditto
17513     @OpenGL_Version(OGLIntroducedIn.V3P0)
17514     fn_glVertexAttribI1i glVertexAttribI1i;
17515     alias fn_glVertexAttribI1ui = extern(C) void function(GLuint index, GLuint v0) @system @nogc nothrow;
17516     /// Ditto
17517     @OpenGL_Version(OGLIntroducedIn.V3P0)
17518     fn_glVertexAttribI1ui glVertexAttribI1ui;
17519     alias fn_glVertexAttrib2f = extern(C) void function(GLuint index, GLfloat v0, GLfloat v1) @system @nogc nothrow;
17520     /// Ditto
17521     @OpenGL_Version(OGLIntroducedIn.V2P0)
17522     fn_glVertexAttrib2f glVertexAttrib2f;
17523     alias fn_glVertexAttrib2s = extern(C) void function(GLuint index, GLshort v0, GLshort v1) @system @nogc nothrow;
17524     /// Ditto
17525     @OpenGL_Version(OGLIntroducedIn.V2P0)
17526     fn_glVertexAttrib2s glVertexAttrib2s;
17527     alias fn_glVertexAttrib2d = extern(C) void function(GLuint index, GLdouble v0, GLdouble v1) @system @nogc nothrow;
17528     /// Ditto
17529     @OpenGL_Version(OGLIntroducedIn.V2P0)
17530     fn_glVertexAttrib2d glVertexAttrib2d;
17531     alias fn_glVertexAttribI2i = extern(C) void function(GLuint index, GLint v0, GLint v1) @system @nogc nothrow;
17532     /// Ditto
17533     @OpenGL_Version(OGLIntroducedIn.V3P0)
17534     fn_glVertexAttribI2i glVertexAttribI2i;
17535     alias fn_glVertexAttribI2ui = extern(C) void function(GLuint index, GLuint v0, GLuint v1) @system @nogc nothrow;
17536     /// Ditto
17537     @OpenGL_Version(OGLIntroducedIn.V3P0)
17538     fn_glVertexAttribI2ui glVertexAttribI2ui;
17539     alias fn_glVertexAttrib3f = extern(C) void function(GLuint index, GLfloat v0, GLfloat v1, GLfloat v2) @system @nogc nothrow;
17540     /// Ditto
17541     @OpenGL_Version(OGLIntroducedIn.V2P0)
17542     fn_glVertexAttrib3f glVertexAttrib3f;
17543     alias fn_glVertexAttrib3s = extern(C) void function(GLuint index, GLshort v0, GLshort v1, GLshort v2) @system @nogc nothrow;
17544     /// Ditto
17545     @OpenGL_Version(OGLIntroducedIn.V2P0)
17546     fn_glVertexAttrib3s glVertexAttrib3s;
17547     alias fn_glVertexAttrib3d = extern(C) void function(GLuint index, GLdouble v0, GLdouble v1, GLdouble v2) @system @nogc nothrow;
17548     /// Ditto
17549     @OpenGL_Version(OGLIntroducedIn.V2P0)
17550     fn_glVertexAttrib3d glVertexAttrib3d;
17551     alias fn_glVertexAttribI3i = extern(C) void function(GLuint index, GLint v0, GLint v1, GLint v2) @system @nogc nothrow;
17552     /// Ditto
17553     @OpenGL_Version(OGLIntroducedIn.V3P0)
17554     fn_glVertexAttribI3i glVertexAttribI3i;
17555     alias fn_glVertexAttribI3ui = extern(C) void function(GLuint index, GLuint v0, GLuint v1, GLuint v2) @system @nogc nothrow;
17556     /// Ditto
17557     @OpenGL_Version(OGLIntroducedIn.V3P0)
17558     fn_glVertexAttribI3ui glVertexAttribI3ui;
17559     alias fn_glVertexAttrib4f = extern(C) void function(GLuint index, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) @system @nogc nothrow;
17560     /// Ditto
17561     @OpenGL_Version(OGLIntroducedIn.V2P0)
17562     fn_glVertexAttrib4f glVertexAttrib4f;
17563     alias fn_glVertexAttrib4s = extern(C) void function(GLuint index, GLshort v0, GLshort v1, GLshort v2, GLshort v3) @system @nogc nothrow;
17564     /// Ditto
17565     @OpenGL_Version(OGLIntroducedIn.V2P0)
17566     fn_glVertexAttrib4s glVertexAttrib4s;
17567     alias fn_glVertexAttrib4d = extern(C) void function(GLuint index, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) @system @nogc nothrow;
17568     /// Ditto
17569     @OpenGL_Version(OGLIntroducedIn.V2P0)
17570     fn_glVertexAttrib4d glVertexAttrib4d;
17571     alias fn_glVertexAttrib4Nub = extern(C) void function(GLuint index, GLubyte v0, GLubyte v1, GLubyte v2, GLubyte v3) @system @nogc nothrow;
17572     /// Ditto
17573     @OpenGL_Version(OGLIntroducedIn.V2P0)
17574     fn_glVertexAttrib4Nub glVertexAttrib4Nub;
17575     alias fn_glVertexAttribI4i = extern(C) void function(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3) @system @nogc nothrow;
17576     /// Ditto
17577     @OpenGL_Version(OGLIntroducedIn.V3P0)
17578     fn_glVertexAttribI4i glVertexAttribI4i;
17579     alias fn_glVertexAttribI4ui = extern(C) void function(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3) @system @nogc nothrow;
17580     /// Ditto
17581     @OpenGL_Version(OGLIntroducedIn.V3P0)
17582     fn_glVertexAttribI4ui glVertexAttribI4ui;
17583     alias fn_glVertexAttribL1d = extern(C) void function(GLuint index, GLdouble v0) @system @nogc nothrow;
17584     /// Ditto
17585     @OpenGL_Version(OGLIntroducedIn.V4P1)
17586     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17587     fn_glVertexAttribL1d glVertexAttribL1d;
17588     alias fn_glVertexAttribL2d = extern(C) void function(GLuint index, GLdouble v0, GLdouble v1) @system @nogc nothrow;
17589     /// Ditto
17590     @OpenGL_Version(OGLIntroducedIn.V4P1)
17591     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17592     fn_glVertexAttribL2d glVertexAttribL2d;
17593     alias fn_glVertexAttribL3d = extern(C) void function(GLuint index, GLdouble v0, GLdouble v1, GLdouble v2) @system @nogc nothrow;
17594     /// Ditto
17595     @OpenGL_Version(OGLIntroducedIn.V4P1)
17596     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17597     fn_glVertexAttribL3d glVertexAttribL3d;
17598     alias fn_glVertexAttribL4d = extern(C) void function(GLuint index, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) @system @nogc nothrow;
17599     /// Ditto
17600     @OpenGL_Version(OGLIntroducedIn.V4P1)
17601     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17602     fn_glVertexAttribL4d glVertexAttribL4d;
17603     alias fn_glVertexAttrib1fv = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
17604     /// Ditto
17605     @OpenGL_Version(OGLIntroducedIn.V2P0)
17606     fn_glVertexAttrib1fv glVertexAttrib1fv;
17607     alias fn_glVertexAttrib1sv = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
17608     /// Ditto
17609     @OpenGL_Version(OGLIntroducedIn.V2P0)
17610     fn_glVertexAttrib1sv glVertexAttrib1sv;
17611     alias fn_glVertexAttrib1dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17612     /// Ditto
17613     @OpenGL_Version(OGLIntroducedIn.V2P0)
17614     fn_glVertexAttrib1dv glVertexAttrib1dv;
17615     alias fn_glVertexAttribI1iv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
17616     /// Ditto
17617     @OpenGL_Version(OGLIntroducedIn.V3P0)
17618     fn_glVertexAttribI1iv glVertexAttribI1iv;
17619     alias fn_glVertexAttribI1uiv = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
17620     /// Ditto
17621     @OpenGL_Version(OGLIntroducedIn.V3P0)
17622     fn_glVertexAttribI1uiv glVertexAttribI1uiv;
17623     alias fn_glVertexAttrib2fv = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
17624     /// Ditto
17625     @OpenGL_Version(OGLIntroducedIn.V2P0)
17626     fn_glVertexAttrib2fv glVertexAttrib2fv;
17627     alias fn_glVertexAttrib2sv = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
17628     /// Ditto
17629     @OpenGL_Version(OGLIntroducedIn.V2P0)
17630     fn_glVertexAttrib2sv glVertexAttrib2sv;
17631     alias fn_glVertexAttrib2dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17632     /// Ditto
17633     @OpenGL_Version(OGLIntroducedIn.V2P0)
17634     fn_glVertexAttrib2dv glVertexAttrib2dv;
17635     alias fn_glVertexAttribI2iv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
17636     /// Ditto
17637     @OpenGL_Version(OGLIntroducedIn.V3P0)
17638     fn_glVertexAttribI2iv glVertexAttribI2iv;
17639     alias fn_glVertexAttribI2uiv = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
17640     /// Ditto
17641     @OpenGL_Version(OGLIntroducedIn.V3P0)
17642     fn_glVertexAttribI2uiv glVertexAttribI2uiv;
17643     alias fn_glVertexAttrib3fv = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
17644     /// Ditto
17645     @OpenGL_Version(OGLIntroducedIn.V2P0)
17646     fn_glVertexAttrib3fv glVertexAttrib3fv;
17647     alias fn_glVertexAttrib3sv = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
17648     /// Ditto
17649     @OpenGL_Version(OGLIntroducedIn.V2P0)
17650     fn_glVertexAttrib3sv glVertexAttrib3sv;
17651     alias fn_glVertexAttrib3dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17652     /// Ditto
17653     @OpenGL_Version(OGLIntroducedIn.V2P0)
17654     fn_glVertexAttrib3dv glVertexAttrib3dv;
17655     alias fn_glVertexAttribI3iv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
17656     /// Ditto
17657     @OpenGL_Version(OGLIntroducedIn.V3P0)
17658     fn_glVertexAttribI3iv glVertexAttribI3iv;
17659     alias fn_glVertexAttribI3uiv = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
17660     /// Ditto
17661     @OpenGL_Version(OGLIntroducedIn.V3P0)
17662     fn_glVertexAttribI3uiv glVertexAttribI3uiv;
17663     alias fn_glVertexAttrib4fv = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
17664     /// Ditto
17665     @OpenGL_Version(OGLIntroducedIn.V2P0)
17666     fn_glVertexAttrib4fv glVertexAttrib4fv;
17667     alias fn_glVertexAttrib4sv = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
17668     /// Ditto
17669     @OpenGL_Version(OGLIntroducedIn.V2P0)
17670     fn_glVertexAttrib4sv glVertexAttrib4sv;
17671     alias fn_glVertexAttrib4dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17672     /// Ditto
17673     @OpenGL_Version(OGLIntroducedIn.V2P0)
17674     fn_glVertexAttrib4dv glVertexAttrib4dv;
17675     alias fn_glVertexAttrib4iv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
17676     /// Ditto
17677     @OpenGL_Version(OGLIntroducedIn.V2P0)
17678     fn_glVertexAttrib4iv glVertexAttrib4iv;
17679     alias fn_glVertexAttrib4bv = extern(C) void function(GLuint index, const GLbyte* v) @system @nogc nothrow;
17680     /// Ditto
17681     @OpenGL_Version(OGLIntroducedIn.V2P0)
17682     fn_glVertexAttrib4bv glVertexAttrib4bv;
17683     alias fn_glVertexAttrib4ubv = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
17684     /// Ditto
17685     @OpenGL_Version(OGLIntroducedIn.V2P0)
17686     fn_glVertexAttrib4ubv glVertexAttrib4ubv;
17687     alias fn_glVertexAttrib4usv = extern(C) void function(GLuint index, const GLushort* v) @system @nogc nothrow;
17688     /// Ditto
17689     @OpenGL_Version(OGLIntroducedIn.V2P0)
17690     fn_glVertexAttrib4usv glVertexAttrib4usv;
17691     alias fn_glVertexAttrib4uiv = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
17692     /// Ditto
17693     @OpenGL_Version(OGLIntroducedIn.V2P0)
17694     fn_glVertexAttrib4uiv glVertexAttrib4uiv;
17695     alias fn_glVertexAttrib4Nbv = extern(C) void function(GLuint index, const GLbyte* v) @system @nogc nothrow;
17696     /// Ditto
17697     @OpenGL_Version(OGLIntroducedIn.V2P0)
17698     fn_glVertexAttrib4Nbv glVertexAttrib4Nbv;
17699     alias fn_glVertexAttrib4Nsv = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
17700     /// Ditto
17701     @OpenGL_Version(OGLIntroducedIn.V2P0)
17702     fn_glVertexAttrib4Nsv glVertexAttrib4Nsv;
17703     alias fn_glVertexAttrib4Niv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
17704     /// Ditto
17705     @OpenGL_Version(OGLIntroducedIn.V2P0)
17706     fn_glVertexAttrib4Niv glVertexAttrib4Niv;
17707     alias fn_glVertexAttrib4Nubv = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
17708     /// Ditto
17709     @OpenGL_Version(OGLIntroducedIn.V2P0)
17710     fn_glVertexAttrib4Nubv glVertexAttrib4Nubv;
17711     alias fn_glVertexAttrib4Nusv = extern(C) void function(GLuint index, const GLushort* v) @system @nogc nothrow;
17712     /// Ditto
17713     @OpenGL_Version(OGLIntroducedIn.V2P0)
17714     fn_glVertexAttrib4Nusv glVertexAttrib4Nusv;
17715     alias fn_glVertexAttrib4Nuiv = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
17716     /// Ditto
17717     @OpenGL_Version(OGLIntroducedIn.V2P0)
17718     fn_glVertexAttrib4Nuiv glVertexAttrib4Nuiv;
17719     alias fn_glVertexAttribI4bv = extern(C) void function(GLuint index, const GLbyte* v) @system @nogc nothrow;
17720     /// Ditto
17721     @OpenGL_Version(OGLIntroducedIn.V3P0)
17722     fn_glVertexAttribI4bv glVertexAttribI4bv;
17723     alias fn_glVertexAttribI4ubv = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
17724     /// Ditto
17725     @OpenGL_Version(OGLIntroducedIn.V3P0)
17726     fn_glVertexAttribI4ubv glVertexAttribI4ubv;
17727     alias fn_glVertexAttribI4sv = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
17728     /// Ditto
17729     @OpenGL_Version(OGLIntroducedIn.V3P0)
17730     fn_glVertexAttribI4sv glVertexAttribI4sv;
17731     alias fn_glVertexAttribI4usv = extern(C) void function(GLuint index, const GLushort* v) @system @nogc nothrow;
17732     /// Ditto
17733     @OpenGL_Version(OGLIntroducedIn.V3P0)
17734     fn_glVertexAttribI4usv glVertexAttribI4usv;
17735     alias fn_glVertexAttribI4iv = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
17736     /// Ditto
17737     @OpenGL_Version(OGLIntroducedIn.V3P0)
17738     fn_glVertexAttribI4iv glVertexAttribI4iv;
17739     alias fn_glVertexAttribI4uiv = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
17740     /// Ditto
17741     @OpenGL_Version(OGLIntroducedIn.V3P0)
17742     fn_glVertexAttribI4uiv glVertexAttribI4uiv;
17743     alias fn_glVertexAttribL1dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17744     /// Ditto
17745     @OpenGL_Version(OGLIntroducedIn.V4P1)
17746     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17747     fn_glVertexAttribL1dv glVertexAttribL1dv;
17748     alias fn_glVertexAttribL2dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17749     /// Ditto
17750     @OpenGL_Version(OGLIntroducedIn.V4P1)
17751     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17752     fn_glVertexAttribL2dv glVertexAttribL2dv;
17753     alias fn_glVertexAttribL3dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17754     /// Ditto
17755     @OpenGL_Version(OGLIntroducedIn.V4P1)
17756     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17757     fn_glVertexAttribL3dv glVertexAttribL3dv;
17758     alias fn_glVertexAttribL4dv = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
17759     /// Ditto
17760     @OpenGL_Version(OGLIntroducedIn.V4P1)
17761     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17762     fn_glVertexAttribL4dv glVertexAttribL4dv;
17763     alias fn_glVertexAttribP1ui = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) @system @nogc nothrow;
17764     /// Ditto
17765     @OpenGL_Version(OGLIntroducedIn.V3P3)
17766     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
17767     fn_glVertexAttribP1ui glVertexAttribP1ui;
17768     alias fn_glVertexAttribP2ui = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) @system @nogc nothrow;
17769     /// Ditto
17770     @OpenGL_Version(OGLIntroducedIn.V3P3)
17771     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
17772     fn_glVertexAttribP2ui glVertexAttribP2ui;
17773     alias fn_glVertexAttribP3ui = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) @system @nogc nothrow;
17774     /// Ditto
17775     @OpenGL_Version(OGLIntroducedIn.V3P3)
17776     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
17777     fn_glVertexAttribP3ui glVertexAttribP3ui;
17778     alias fn_glVertexAttribP4ui = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, GLuint value) @system @nogc nothrow;
17779     /// Ditto
17780     @OpenGL_Version(OGLIntroducedIn.V3P3)
17781     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
17782     fn_glVertexAttribP4ui glVertexAttribP4ui;
17783     alias fn_glVertexAttribDivisor = extern(C) void function(GLuint index, GLuint divisor) @system @nogc nothrow;
17784 
17785     /++
17786      + glVertexAttribDivisor: man4/glVertexAttribDivisor.xml
17787      + 
17788      + $(D_INLINECODE glVertexAttribDivisor) modifies the rate at which generic vertex attributes advance when rendering multiple instances of primitives in a single draw call. If $(D_INLINECODE divisor) is zero, the attribute at slot $(D_INLINECODE index) advances once per vertex. If $(D_INLINECODE divisor) is non-zero, the attribute advances once per $(D_INLINECODE divisor) instances of the set(s) of vertices being rendered.  An attribute is referred to as instanced if its $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_DIVISOR) value is non-zero. $(D_INLINECODE index) must be less than the value of $(D_INLINECODE GL_MAX_VERTEX_ATTRIBS).
17789      + 
17790      + $(D_INLINECODE glVertexAttribDivisor) is available only if the GL version is 3.3 or higher.
17791      + 
17792      + Params:
17793      +     index   = Specify the index of the generic vertex attribute.
17794      +     divisor = Specify the number of instances that will pass between updates of the generic attribute at slot $(D_INLINECODE index).
17795      + 
17796      + Copyright:
17797      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17798      + 
17799      + See_Also:
17800      +     $(D_INLINECODE glVertexAttribPointer), $(D_INLINECODE glEnableVertexAttribArray), $(D_INLINECODE glDisableVertexAttribArray)
17801      +/
17802     @OpenGL_Version(OGLIntroducedIn.V3P3)
17803     fn_glVertexAttribDivisor glVertexAttribDivisor;
17804     alias fn_glVertexAttribPointer = extern(C) void function(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer) @system @nogc nothrow;
17805 
17806     /++
17807      + glVertexAttribIPointer: man4/glVertexAttribPointer.xml
17808      + 
17809      + $(D_INLINECODE glVertexAttribPointer), $(D_INLINECODE glVertexAttribIPointer) and $(D_INLINECODE glVertexAttribLPointer) specify the location and data format of the array of generic vertex attributes at index $(D_INLINECODE index) to use when rendering. $(D_INLINECODE size) specifies the number of components per attribute and must be 1, 2, 3, 4, or $(D_INLINECODE GL_BGRA). $(D_INLINECODE type) specifies the data type of each component, and $(D_INLINECODE stride) specifies the byte stride from one attribute to the next, allowing vertices and attributes to be packed into a single array or stored in separate arrays. For $(D_INLINECODE glVertexAttribPointer), if $(D_INLINECODE normalized) is set to $(D_INLINECODE GL_TRUE), it indicates that values stored in an integer format are to be mapped to the range [-1,1] (for signed values) or [0,1] (for unsigned values) when they are accessed and converted to floating point. Otherwise, values will be converted to floats directly without normalization. For $(D_INLINECODE glVertexAttribIPointer), only the integer types $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_INT), $(D_INLINECODE GL_UNSIGNED_INT) are accepted. Values are always left as integer values. $(D_INLINECODE glVertexAttribLPointer) specifies state for a generic vertex attribute array associated with a shader attribute variable declared with 64-bit double precision components. $(D_INLINECODE type) must be $(D_INLINECODE GL_DOUBLE). $(D_INLINECODE index), $(D_INLINECODE size), and $(D_INLINECODE stride) behave as described for $(D_INLINECODE glVertexAttribPointer) and $(D_INLINECODE glVertexAttribIPointer). If $(D_INLINECODE pointer) is not $(D_INLINECODE null
17810      + ), a non-zero named buffer object must be bound to the $(D_INLINECODE GL_ARRAY_BUFFER) target (see $(D_INLINECODE glBindBuffer) ), otherwise an error is generated. $(D_INLINECODE pointer) is treated as a byte offset into the buffer object's data store. The buffer object binding ( $(D_INLINECODE GL_ARRAY_BUFFER_BINDING) ) is saved as generic vertex attribute array state ( $(D_INLINECODE GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) ) for index $(D_INLINECODE index). When a generic vertex attribute array is specified, $(D_INLINECODE size), $(D_INLINECODE type), $(D_INLINECODE normalized), $(D_INLINECODE stride), and $(D_INLINECODE pointer) are saved as vertex array state, in addition to the current vertex array buffer object binding. To enable and disable a generic vertex attribute array, call $(D_INLINECODE glEnableVertexAttribArray) and $(D_INLINECODE glDisableVertexAttribArray) with $(D_INLINECODE index). If enabled, the generic vertex attribute array is used when $(D_INLINECODE glDrawArrays), $(D_INLINECODE glMultiDrawArrays), $(D_INLINECODE glDrawElements), $(D_INLINECODE glMultiDrawElements), or $(D_INLINECODE glDrawRangeElements) is called.
17811      + 
17812      + Each generic vertex attribute array is initially disabled and isn't accessed when $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glDrawArrays), $(D_INLINECODE glMultiDrawArrays), or $(D_INLINECODE glMultiDrawElements) is called. $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) is accepted for $(D_INLINECODE type) only if the GL version is 4.4 or higher.
17813      + 
17814      + Params:
17815      +     index      = Specifies the index of the generic vertex attribute to be modified.
17816      +     size       = Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, 4. Additionally, the symbolic constant $(D_INLINECODE GL_BGRA) is accepted by $(D_INLINECODE glVertexAttribPointer). The initial value is 4.
17817      +     type       = Specifies the data type of each component in the array. The symbolic constants $(D_INLINECODE GL_BYTE), $(D_INLINECODE GL_UNSIGNED_BYTE), $(D_INLINECODE GL_SHORT), $(D_INLINECODE GL_UNSIGNED_SHORT), $(D_INLINECODE GL_INT), and $(D_INLINECODE GL_UNSIGNED_INT) are accepted by $(D_INLINECODE glVertexAttribPointer) and $(D_INLINECODE glVertexAttribIPointer). Additionally $(D_INLINECODE GL_HALF_FLOAT), $(D_INLINECODE GL_FLOAT), $(D_INLINECODE GL_DOUBLE), $(D_INLINECODE GL_FIXED), $(D_INLINECODE GL_INT_2_10_10_10_REV), $(D_INLINECODE GL_UNSIGNED_INT_2_10_10_10_REV) and $(D_INLINECODE GL_UNSIGNED_INT_10F_11F_11F_REV) are accepted by $(D_INLINECODE glVertexAttribPointer). $(D_INLINECODE GL_DOUBLE) is also accepted by $(D_INLINECODE glVertexAttribLPointer) and is the only token accepted by the $(D_INLINECODE type) parameter for that function. The initial value is $(D_INLINECODE GL_FLOAT).
17818      +     normalized = For $(D_INLINECODE glVertexAttribPointer), specifies whether fixed-point data values should be normalized ( $(D_INLINECODE GL_TRUE) ) or converted directly as fixed-point values ( $(D_INLINECODE GL_FALSE) ) when they are accessed.
17819      +     stride     = Specifies the byte offset between consecutive generic vertex attributes. If $(D_INLINECODE stride) is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
17820      +     pointer    = Specifies a offset of the first component of the first generic vertex attribute in the array in the data store of the buffer currently bound to the $(D_INLINECODE GL_ARRAY_BUFFER) target. The initial value is 0.
17821      + 
17822      + Copyright:
17823      +     Copyright&copy; 2003-2005 3Dlabs Inc. Ltd. Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17824      + 
17825      + See_Also:
17826      +     $(D_INLINECODE glBindAttribLocation), $(D_INLINECODE glBindBuffer), $(D_INLINECODE glDisableVertexAttribArray), $(D_INLINECODE glDrawArrays), $(D_INLINECODE glDrawElements), $(D_INLINECODE glDrawRangeElements), $(D_INLINECODE glEnableVertexAttribArray), $(D_INLINECODE glMultiDrawArrays), $(D_INLINECODE glMultiDrawElements), $(D_INLINECODE glVertexAttrib)
17827      +/
17828     @OpenGL_Version(OGLIntroducedIn.V2P0)
17829     fn_glVertexAttribPointer glVertexAttribPointer;
17830     alias fn_glVertexAttribIPointer = extern(C) void function(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) @system @nogc nothrow;
17831     /// Ditto
17832     @OpenGL_Version(OGLIntroducedIn.V3P0)
17833     fn_glVertexAttribIPointer glVertexAttribIPointer;
17834     alias fn_glVertexAttribLPointer = extern(C) void function(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) @system @nogc nothrow;
17835     /// Ditto
17836     @OpenGL_Version(OGLIntroducedIn.V4P1)
17837     @OpenGL_Extension("GL_ARB_vertex_attrib_64bit")
17838     fn_glVertexAttribLPointer glVertexAttribLPointer;
17839     alias fn_glViewport = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
17840 
17841     /++
17842      + glViewport: man4/glViewport.xml
17843      + 
17844      + $(D_INLINECODE glViewport) specifies the affine transformation of x and y from normalized device coordinates to window coordinates. Let x nd y nd be normalized device coordinates. Then the window coordinates x w y w are computed as follows: x w = x nd + 1 &it; width 2 + x y w = y nd + 1 &it; height 2 + y Viewport width and height are silently clamped to a range that depends on the implementation. To query this range, call $(D_INLINECODE glGet) with argument $(D_INLINECODE GL_MAX_VIEWPORT_DIMS).
17845      + 
17846      + Params:
17847      +     x     = Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0).
17848      +     width = Specify the width and height of the viewport. When a GL context is first attached to a window, $(D_INLINECODE width) and $(D_INLINECODE height) are set to the dimensions of that window.
17849      + 
17850      + Copyright:
17851      +     Copyright&copy; 1991-2006 Silicon Graphics, Inc. Copyright&copy; 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see $(LINK2 http://oss.sgi.com/projects/FreeB/, http://oss.sgi.com/projects/FreeB/).
17852      + 
17853      + See_Also:
17854      +     $(D_INLINECODE glDepthRange)
17855      +/
17856     @OpenGL_Version(OGLIntroducedIn.V1P0)
17857     fn_glViewport glViewport;
17858     alias fn_glViewportArrayv = extern(C) void function(GLuint first, GLsizei count, const GLfloat* v) @system @nogc nothrow;
17859 
17860     /++
17861      + glViewportArray: man4/glViewportArray.xml
17862      + 
17863      + $(D_INLINECODE glViewportArrayv) specifies the parameters for multiple viewports simulataneously. $(D_INLINECODE first) specifies the index of the first viewport to modify and $(D_INLINECODE count) specifies the number of viewports to modify. $(D_INLINECODE first) must be less than the value of $(D_INLINECODE GL_MAX_VIEWPORTS), and $(D_INLINECODE first) + $(D_INLINECODE count) must be less than or equal to the value of $(D_INLINECODE GL_MAX_VIEWPORTS). Viewports whose indices lie outside the range [ $(D_INLINECODE first), $(D_INLINECODE first) + $(D_INLINECODE count) ) are not modified. $(D_INLINECODE v) contains the address of an array of floating point values specifying the left ( x ), bottom ( y ), width ( w ), and height ( h ) of each viewport, in that order. x and y give the location of the viewport's lower left corner, and w and h give the width and height of the viewport, respectively. The viewport specifies the affine transformation of x and y from normalized device coordinates to window coordinates. Let x nd y nd be normalized device coordinates. Then the window coordinates x w y w are computed as follows: x w = x nd + 1 &it; width 2 + x y w = y nd + 1 &it; height 2 + y The location of the viewport's bottom left corner, given by ( x, y ) is clamped to be within the implementaiton-dependent viewport bounds range. The viewport bounds range [ min, max ] can be determined by calling $(D_INLINECODE glGet) with argument $(D_INLINECODE GL_VIEWPORT_BOUNDS_RANGE). Viewport width and height are silently clamped to a range that depends on the implementation. To query this range, call $(D_INLINECODE glGet) with argument $(D_INLINECODE GL_MAX_VIEWPORT_DIMS). The precision with which the GL interprets the floating point viewport bounds is implementation-dependent and may be determined by querying the impementation-defined constant $(D_INLINECODE GL_VIEWPORT_SUBPIXEL_BITS).
17864      + 
17865      + Params:
17866      +     first = Specify the first viewport to set.
17867      +     count = Specify the number of viewports to set.
17868      +     v     = Specify the address of an array containing the viewport parameters.
17869      + 
17870      + Copyright:
17871      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17872      + 
17873      + See_Also:
17874      +     $(D_INLINECODE glDepthRange), $(D_INLINECODE glViewport), $(D_INLINECODE glViewportIndexed)
17875      +/
17876     @OpenGL_Version(OGLIntroducedIn.V4P1)
17877     @OpenGL_Extension("GL_ARB_viewport_array")
17878     fn_glViewportArrayv glViewportArrayv;
17879     alias fn_glViewportIndexedf = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) @system @nogc nothrow;
17880 
17881     /++
17882      + glViewportIndexed: man4/glViewportIndexed.xml
17883      + 
17884      + $(D_INLINECODE glViewportIndexedf) and $(D_INLINECODE glViewportIndexedfv) specify the parameters for a single viewport. $(D_INLINECODE index) specifies the index of the viewport to modify. $(D_INLINECODE index) must be less than the value of $(D_INLINECODE GL_MAX_VIEWPORTS). For $(D_INLINECODE glViewportIndexedf), $(D_INLINECODE x), $(D_INLINECODE y), $(D_INLINECODE w), and $(D_INLINECODE h) specify the left, bottom, width and height of the viewport in pixels, respectively. For $(D_INLINECODE glViewportIndexedfv), $(D_INLINECODE v) contains the address of an array of floating point values specifying the left ( x ), bottom ( y ), width ( w ), and height ( h ) of each viewport, in that order. x and y give the location of the viewport's lower left corner, and w and h give the width and height of the viewport, respectively. The viewport specifies the affine transformation of x and y from normalized device coordinates to window coordinates. Let x nd y nd be normalized device coordinates. Then the window coordinates x w y w are computed as follows: x w = x nd + 1 &it; width 2 + x y w = y nd + 1 &it; height 2 + y The location of the viewport's bottom left corner, given by ( x, y ) is clamped to be within the implementaiton-dependent viewport bounds range. The viewport bounds range [ min, max ] can be determined by calling $(D_INLINECODE glGet) with argument $(D_INLINECODE GL_VIEWPORT_BOUNDS_RANGE). Viewport width and height are silently clamped to a range that depends on the implementation. To query this range, call $(D_INLINECODE glGet) with argument $(D_INLINECODE GL_MAX_VIEWPORT_DIMS). The precision with which the GL interprets the floating point viewport bounds is implementation-dependent and may be determined by querying the impementation-defined constant $(D_INLINECODE GL_VIEWPORT_SUBPIXEL_BITS). Calling $(D_INLINECODE glViewportIndexedfv) is equivalent to calling $(D_INLINECODE glViewportArray) with $(D_INLINECODE first) set to $(D_INLINECODE index), $(D_INLINECODE count) set to 1 and $(D_INLINECODE v) passsed directly. $(D_INLINECODE glViewportIndexedf) is equivalent to:
17885      + 
17886      + ---
17887      + void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) {
17888      +     const float v[4]  = { x, y, w, h };
17889      +     glViewportArrayv(index, 1, v);
17890      + }
17891      + ---
17892      + 
17893      + Params:
17894      +     index = Specify the first viewport to set.
17895      +     x     = For $(D_INLINECODE glViewportIndexedf), specifies the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0).
17896      +     width = For $(D_INLINECODE glViewportIndexedf), specifies the width and height of the viewport. When a GL context is first attached to a window, $(D_INLINECODE width) and $(D_INLINECODE height) are set to the dimensions of that window.
17897      +     v     = For $(D_INLINECODE glViewportIndexedfv), specifies the address of an array containing the viewport parameters.
17898      + 
17899      + Copyright:
17900      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17901      + 
17902      + See_Also:
17903      +     $(D_INLINECODE glDepthRange), $(D_INLINECODE glViewport), $(D_INLINECODE glViewportArray)
17904      +/
17905     @OpenGL_Version(OGLIntroducedIn.V4P1)
17906     @OpenGL_Extension("GL_ARB_viewport_array")
17907     fn_glViewportIndexedf glViewportIndexedf;
17908     alias fn_glWaitSync = extern(C) void function(GLsync sync, GLbitfield flags, GLuint64 timeout) @system @nogc nothrow;
17909 
17910     /++
17911      + glWaitSync: man4/glWaitSync.xml
17912      + 
17913      + $(D_INLINECODE glWaitSync) causes the GL server to block and wait until $(D_INLINECODE sync) becomes signaled. $(D_INLINECODE sync) is the name of an existing sync object upon which to wait. $(D_INLINECODE flags) and $(D_INLINECODE timeout) are currently not used and must be set to zero and the special value $(D_INLINECODE GL_TIMEOUT_IGNORED), respectively $(D_INLINECODE flags) and $(D_INLINECODE timeout) are placeholders for anticipated future extensions of sync object capabilities. They must have these reserved values in order that existing code calling $(D_INLINECODE glWaitSync) operate properly in the presence of such extensions.. $(D_INLINECODE glWaitSync) will always wait no longer than an implementation-dependent timeout. The duration of this timeout in nanoseconds may be queried by calling $(D_INLINECODE glGet) with the parameter $(D_INLINECODE GL_MAX_SERVER_WAIT_TIMEOUT). There is currently no way to determine whether $(D_INLINECODE glWaitSync) unblocked because the timeout expired or because the sync object being waited on was signaled. If an error occurs, $(D_INLINECODE glWaitSync) does not cause the GL server to block.
17914      + 
17915      + $(D_INLINECODE glWaitSync) is available only if the GL version is 3.2 or higher.
17916      + 
17917      + Params:
17918      +     sync    = Specifies the sync object whose status to wait on.
17919      +     flags   = A bitfield controlling the command flushing behavior. $(D_INLINECODE flags) may be zero.
17920      +     timeout = Specifies the timeout that the server should wait before continuing. $(D_INLINECODE timeout) must be $(D_INLINECODE GL_TIMEOUT_IGNORED).
17921      + 
17922      + Copyright:
17923      +     Copyright&copy; 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. $(LINK2 http://opencontent.org/openpub/, http://opencontent.org/openpub/).
17924      + 
17925      + See_Also:
17926      +     $(D_INLINECODE glFenceSync), $(D_INLINECODE glClientWaitSync)
17927      +/
17928     @OpenGL_Version(OGLIntroducedIn.V3P2)
17929     @OpenGL_Extension("GL_ARB_sync")
17930     fn_glWaitSync glWaitSync;
17931     alias fn_glAccum = extern(C) void function(GLenum op, GLfloat value) @system @nogc nothrow;
17932 
17933     /++
17934      + : 
17935      + 
17936      + 
17937      + Params:
17938      + 
17939      + Copyright:
17940      +     
17941      + 
17942      + See_Also:
17943      +     
17944      +/
17945     @OpenGL_Version(OGLIntroducedIn.V1P0)
17946     fn_glAccum glAccum;
17947     alias fn_glAccumxOES = extern(C) void function(GLenum op, GLfixed value) @system @nogc nothrow;
17948     /// Ditto
17949     @OpenGL_Version(OGLIntroducedIn.Unknown)
17950     @OpenGL_Extension("GL_OES_fixed_point")
17951     fn_glAccumxOES glAccumxOES;
17952     alias fn_glActiveProgramEXT = extern(C) void function(GLuint program) @system @nogc nothrow;
17953     /// Ditto
17954     @OpenGL_Version(OGLIntroducedIn.Unknown)
17955     @OpenGL_Extension("GL_EXT_separate_shader_objects")
17956     fn_glActiveProgramEXT glActiveProgramEXT;
17957     alias fn_glActiveShaderProgramEXT = extern(C) void function(GLuint pipeline, GLuint program) @system @nogc nothrow;
17958     /// Ditto
17959     @OpenGL_Version(OGLIntroducedIn.Unknown)
17960     @OpenGL_Extension("GL_EXT_separate_shader_objects")
17961     fn_glActiveShaderProgramEXT glActiveShaderProgramEXT;
17962     alias fn_glActiveStencilFaceEXT = extern(C) void function(GLenum face) @system @nogc nothrow;
17963     /// Ditto
17964     @OpenGL_Version(OGLIntroducedIn.Unknown)
17965     @OpenGL_Extension("GL_EXT_stencil_two_side")
17966     fn_glActiveStencilFaceEXT glActiveStencilFaceEXT;
17967     alias fn_glActiveTextureARB = extern(C) void function(GLenum texture) @system @nogc nothrow;
17968     /// Ditto
17969     @OpenGL_Version(OGLIntroducedIn.Unknown)
17970     @OpenGL_Extension("GL_ARB_multitexture")
17971     fn_glActiveTextureARB glActiveTextureARB;
17972     alias fn_glActiveVaryingNV = extern(C) void function(GLuint program, const GLchar* name) @system @nogc nothrow;
17973     /// Ditto
17974     @OpenGL_Version(OGLIntroducedIn.Unknown)
17975     @OpenGL_Extension("GL_NV_transform_feedback")
17976     fn_glActiveVaryingNV glActiveVaryingNV;
17977     alias fn_glAlphaFragmentOp1ATI = extern(C) void function(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) @system @nogc nothrow;
17978     /// Ditto
17979     @OpenGL_Version(OGLIntroducedIn.Unknown)
17980     @OpenGL_Extension("GL_ATI_fragment_shader")
17981     fn_glAlphaFragmentOp1ATI glAlphaFragmentOp1ATI;
17982     alias fn_glAlphaFragmentOp2ATI = extern(C) void function(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) @system @nogc nothrow;
17983     /// Ditto
17984     @OpenGL_Version(OGLIntroducedIn.Unknown)
17985     @OpenGL_Extension("GL_ATI_fragment_shader")
17986     fn_glAlphaFragmentOp2ATI glAlphaFragmentOp2ATI;
17987     alias fn_glAlphaFragmentOp3ATI = extern(C) void function(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) @system @nogc nothrow;
17988     /// Ditto
17989     @OpenGL_Version(OGLIntroducedIn.Unknown)
17990     @OpenGL_Extension("GL_ATI_fragment_shader")
17991     fn_glAlphaFragmentOp3ATI glAlphaFragmentOp3ATI;
17992     alias fn_glAlphaFunc = extern(C) void function(GLenum func, GLfloat ref_) @system @nogc nothrow;
17993     /// Ditto
17994     @OpenGL_Version(OGLIntroducedIn.V1P0)
17995     fn_glAlphaFunc glAlphaFunc;
17996     alias fn_glAlphaFuncQCOM = extern(C) void function(GLenum func, GLclampf ref_) @system @nogc nothrow;
17997     /// Ditto
17998     @OpenGL_Version(OGLIntroducedIn.Unknown)
17999     @OpenGL_Extension("GL_QCOM_alpha_test")
18000     fn_glAlphaFuncQCOM glAlphaFuncQCOM;
18001     alias fn_glAlphaFuncx = extern(C) void function(GLenum func, GLfixed ref_) @system @nogc nothrow;
18002     /// Ditto
18003     @OpenGL_Version(OGLIntroducedIn.Unknown)
18004     fn_glAlphaFuncx glAlphaFuncx;
18005     alias fn_glAlphaFuncxOES = extern(C) void function(GLenum func, GLfixed ref_) @system @nogc nothrow;
18006     /// Ditto
18007     @OpenGL_Version(OGLIntroducedIn.Unknown)
18008     @OpenGL_Extension("GL_OES_fixed_point")
18009     fn_glAlphaFuncxOES glAlphaFuncxOES;
18010     alias fn_glApplyFramebufferAttachmentCMAAINTEL = extern(C) void function() @system @nogc nothrow;
18011     /// Ditto
18012     @OpenGL_Version(OGLIntroducedIn.Unknown)
18013     @OpenGL_Extension("GL_INTEL_framebuffer_CMAA")
18014     fn_glApplyFramebufferAttachmentCMAAINTEL glApplyFramebufferAttachmentCMAAINTEL;
18015     alias fn_glApplyTextureEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
18016     /// Ditto
18017     @OpenGL_Version(OGLIntroducedIn.Unknown)
18018     @OpenGL_Extension("GL_EXT_light_texture")
18019     fn_glApplyTextureEXT glApplyTextureEXT;
18020     alias fn_glAreProgramsResidentNV = extern(C) GLboolean function(GLsizei n, const GLuint* programs, GLboolean* residences) @system @nogc nothrow;
18021     /// Ditto
18022     @OpenGL_Version(OGLIntroducedIn.Unknown)
18023     @OpenGL_Extension("GL_NV_vertex_program")
18024     fn_glAreProgramsResidentNV glAreProgramsResidentNV;
18025     alias fn_glAreTexturesResident = extern(C) GLboolean function(GLsizei n, const GLuint* textures, GLboolean* residences) @system @nogc nothrow;
18026     /// Ditto
18027     @OpenGL_Version(OGLIntroducedIn.V1P1)
18028     fn_glAreTexturesResident glAreTexturesResident;
18029     alias fn_glAreTexturesResidentEXT = extern(C) GLboolean function(GLsizei n, const GLuint* textures, GLboolean* residences) @system @nogc nothrow;
18030     /// Ditto
18031     @OpenGL_Version(OGLIntroducedIn.Unknown)
18032     @OpenGL_Extension("GL_EXT_texture_object")
18033     fn_glAreTexturesResidentEXT glAreTexturesResidentEXT;
18034     alias fn_glArrayElement = extern(C) void function(GLint i) @system @nogc nothrow;
18035     /// Ditto
18036     @OpenGL_Version(OGLIntroducedIn.V1P1)
18037     fn_glArrayElement glArrayElement;
18038     alias fn_glArrayElementEXT = extern(C) void function(GLint i) @system @nogc nothrow;
18039     /// Ditto
18040     @OpenGL_Version(OGLIntroducedIn.Unknown)
18041     @OpenGL_Extension("GL_EXT_vertex_array")
18042     fn_glArrayElementEXT glArrayElementEXT;
18043     alias fn_glArrayObjectATI = extern(C) void function(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset) @system @nogc nothrow;
18044     /// Ditto
18045     @OpenGL_Version(OGLIntroducedIn.Unknown)
18046     @OpenGL_Extension("GL_ATI_vertex_array_object")
18047     fn_glArrayObjectATI glArrayObjectATI;
18048     alias fn_glAsyncMarkerSGIX = extern(C) void function(GLuint marker) @system @nogc nothrow;
18049     /// Ditto
18050     @OpenGL_Version(OGLIntroducedIn.Unknown)
18051     @OpenGL_Extension("GL_SGIX_async")
18052     fn_glAsyncMarkerSGIX glAsyncMarkerSGIX;
18053     alias fn_glAttachObjectARB = extern(C) void function(GLhandleARB containerObj, GLhandleARB obj) @system @nogc nothrow;
18054     /// Ditto
18055     @OpenGL_Version(OGLIntroducedIn.Unknown)
18056     @OpenGL_Extension("GL_ARB_shader_objects")
18057     fn_glAttachObjectARB glAttachObjectARB;
18058     alias fn_glBegin = extern(C) void function(GLenum mode) @system @nogc nothrow;
18059     /// Ditto
18060     @OpenGL_Version(OGLIntroducedIn.V1P0)
18061     fn_glBegin glBegin;
18062     alias fn_glBeginConditionalRenderNV = extern(C) void function(GLuint id, GLenum mode) @system @nogc nothrow;
18063     /// Ditto
18064     @OpenGL_Version(OGLIntroducedIn.Unknown)
18065     @OpenGL_Extension("GL_NV_conditional_render")
18066     fn_glBeginConditionalRenderNV glBeginConditionalRenderNV;
18067     alias fn_glBeginConditionalRenderNVX = extern(C) void function(GLuint id) @system @nogc nothrow;
18068     /// Ditto
18069     @OpenGL_Version(OGLIntroducedIn.Unknown)
18070     @OpenGL_Extension("GL_NVX_conditional_render")
18071     fn_glBeginConditionalRenderNVX glBeginConditionalRenderNVX;
18072     alias fn_glBeginFragmentShaderATI = extern(C) void function() @system @nogc nothrow;
18073     /// Ditto
18074     @OpenGL_Version(OGLIntroducedIn.Unknown)
18075     @OpenGL_Extension("GL_ATI_fragment_shader")
18076     fn_glBeginFragmentShaderATI glBeginFragmentShaderATI;
18077     alias fn_glBeginOcclusionQueryNV = extern(C) void function(GLuint id) @system @nogc nothrow;
18078     /// Ditto
18079     @OpenGL_Version(OGLIntroducedIn.Unknown)
18080     @OpenGL_Extension("GL_NV_occlusion_query")
18081     fn_glBeginOcclusionQueryNV glBeginOcclusionQueryNV;
18082     alias fn_glBeginPerfMonitorAMD = extern(C) void function(GLuint monitor) @system @nogc nothrow;
18083     /// Ditto
18084     @OpenGL_Version(OGLIntroducedIn.Unknown)
18085     @OpenGL_Extension("GL_AMD_performance_monitor")
18086     fn_glBeginPerfMonitorAMD glBeginPerfMonitorAMD;
18087     alias fn_glBeginPerfQueryINTEL = extern(C) void function(GLuint queryHandle) @system @nogc nothrow;
18088     /// Ditto
18089     @OpenGL_Version(OGLIntroducedIn.Unknown)
18090     @OpenGL_Extension("GL_INTEL_performance_query")
18091     fn_glBeginPerfQueryINTEL glBeginPerfQueryINTEL;
18092     alias fn_glBeginQueryARB = extern(C) void function(GLenum target, GLuint id) @system @nogc nothrow;
18093     /// Ditto
18094     @OpenGL_Version(OGLIntroducedIn.Unknown)
18095     @OpenGL_Extension("GL_ARB_occlusion_query")
18096     fn_glBeginQueryARB glBeginQueryARB;
18097     alias fn_glBeginQueryEXT = extern(C) void function(GLenum target, GLuint id) @system @nogc nothrow;
18098     /// Ditto
18099     @OpenGL_Version(OGLIntroducedIn.Unknown)
18100     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
18101     fn_glBeginQueryEXT glBeginQueryEXT;
18102     alias fn_glBeginTransformFeedbackEXT = extern(C) void function(GLenum primitiveMode) @system @nogc nothrow;
18103     /// Ditto
18104     @OpenGL_Version(OGLIntroducedIn.Unknown)
18105     @OpenGL_Extension("GL_EXT_transform_feedback")
18106     fn_glBeginTransformFeedbackEXT glBeginTransformFeedbackEXT;
18107     alias fn_glBeginTransformFeedbackNV = extern(C) void function(GLenum primitiveMode) @system @nogc nothrow;
18108     /// Ditto
18109     @OpenGL_Version(OGLIntroducedIn.Unknown)
18110     @OpenGL_Extension("GL_NV_transform_feedback")
18111     fn_glBeginTransformFeedbackNV glBeginTransformFeedbackNV;
18112     alias fn_glBeginVertexShaderEXT = extern(C) void function() @system @nogc nothrow;
18113     /// Ditto
18114     @OpenGL_Version(OGLIntroducedIn.Unknown)
18115     @OpenGL_Extension("GL_EXT_vertex_shader")
18116     fn_glBeginVertexShaderEXT glBeginVertexShaderEXT;
18117     alias fn_glBeginVideoCaptureNV = extern(C) void function(GLuint video_capture_slot) @system @nogc nothrow;
18118     /// Ditto
18119     @OpenGL_Version(OGLIntroducedIn.Unknown)
18120     @OpenGL_Extension("GL_NV_video_capture")
18121     fn_glBeginVideoCaptureNV glBeginVideoCaptureNV;
18122     alias fn_glBindAttribLocationARB = extern(C) void function(GLhandleARB programObj, GLuint index, const GLcharARB* name) @system @nogc nothrow;
18123     /// Ditto
18124     @OpenGL_Version(OGLIntroducedIn.Unknown)
18125     @OpenGL_Extension("GL_ARB_vertex_shader")
18126     fn_glBindAttribLocationARB glBindAttribLocationARB;
18127     alias fn_glBindBufferARB = extern(C) void function(GLenum target, GLuint buffer) @system @nogc nothrow;
18128     /// Ditto
18129     @OpenGL_Version(OGLIntroducedIn.Unknown)
18130     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
18131     fn_glBindBufferARB glBindBufferARB;
18132     alias fn_glBindBufferBaseEXT = extern(C) void function(GLenum target, GLuint index, GLuint buffer) @system @nogc nothrow;
18133     /// Ditto
18134     @OpenGL_Version(OGLIntroducedIn.Unknown)
18135     @OpenGL_Extension("GL_EXT_transform_feedback")
18136     fn_glBindBufferBaseEXT glBindBufferBaseEXT;
18137     alias fn_glBindBufferBaseNV = extern(C) void function(GLenum target, GLuint index, GLuint buffer) @system @nogc nothrow;
18138     /// Ditto
18139     @OpenGL_Version(OGLIntroducedIn.Unknown)
18140     @OpenGL_Extension("GL_NV_transform_feedback")
18141     fn_glBindBufferBaseNV glBindBufferBaseNV;
18142     alias fn_glBindBufferOffsetEXT = extern(C) void function(GLenum target, GLuint index, GLuint buffer, GLintptr offset) @system @nogc nothrow;
18143     /// Ditto
18144     @OpenGL_Version(OGLIntroducedIn.Unknown)
18145     @OpenGL_Extension("GL_EXT_transform_feedback")
18146     fn_glBindBufferOffsetEXT glBindBufferOffsetEXT;
18147     alias fn_glBindBufferOffsetNV = extern(C) void function(GLenum target, GLuint index, GLuint buffer, GLintptr offset) @system @nogc nothrow;
18148     /// Ditto
18149     @OpenGL_Version(OGLIntroducedIn.Unknown)
18150     @OpenGL_Extension("GL_NV_transform_feedback")
18151     fn_glBindBufferOffsetNV glBindBufferOffsetNV;
18152     alias fn_glBindBufferRangeEXT = extern(C) void function(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
18153     /// Ditto
18154     @OpenGL_Version(OGLIntroducedIn.Unknown)
18155     @OpenGL_Extension("GL_EXT_transform_feedback")
18156     fn_glBindBufferRangeEXT glBindBufferRangeEXT;
18157     alias fn_glBindBufferRangeNV = extern(C) void function(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
18158     /// Ditto
18159     @OpenGL_Version(OGLIntroducedIn.Unknown)
18160     @OpenGL_Extension("GL_NV_transform_feedback")
18161     fn_glBindBufferRangeNV glBindBufferRangeNV;
18162     alias fn_glBindFragDataLocationEXT = extern(C) void function(GLuint program, GLuint color, const GLchar* name) @system @nogc nothrow;
18163     /// Ditto
18164     @OpenGL_Version(OGLIntroducedIn.Unknown)
18165     @OpenGL_Extension("GL_EXT_blend_func_extended")
18166     fn_glBindFragDataLocationEXT glBindFragDataLocationEXT;
18167     alias fn_glBindFragDataLocationIndexedEXT = extern(C) void function(GLuint program, GLuint colorNumber, GLuint index, const GLchar* name) @system @nogc nothrow;
18168     /// Ditto
18169     @OpenGL_Version(OGLIntroducedIn.Unknown)
18170     @OpenGL_Extension("GL_EXT_blend_func_extended")
18171     fn_glBindFragDataLocationIndexedEXT glBindFragDataLocationIndexedEXT;
18172     alias fn_glBindFragmentShaderATI = extern(C) void function(GLuint id) @system @nogc nothrow;
18173     /// Ditto
18174     @OpenGL_Version(OGLIntroducedIn.Unknown)
18175     @OpenGL_Extension("GL_ATI_fragment_shader")
18176     fn_glBindFragmentShaderATI glBindFragmentShaderATI;
18177     alias fn_glBindFramebufferEXT = extern(C) void function(GLenum target, GLuint framebuffer) @system @nogc nothrow;
18178     /// Ditto
18179     @OpenGL_Version(OGLIntroducedIn.Unknown)
18180     @OpenGL_Extension("GL_EXT_framebuffer_object")
18181     fn_glBindFramebufferEXT glBindFramebufferEXT;
18182     alias fn_glBindFramebufferOES = extern(C) void function(GLenum target, GLuint framebuffer) @system @nogc nothrow;
18183     /// Ditto
18184     @OpenGL_Version(OGLIntroducedIn.Unknown)
18185     @OpenGL_Extension("GL_OES_framebuffer_object")
18186     fn_glBindFramebufferOES glBindFramebufferOES;
18187     alias fn_glBindImageTextureEXT = extern(C) void function(GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format) @system @nogc nothrow;
18188     /// Ditto
18189     @OpenGL_Version(OGLIntroducedIn.Unknown)
18190     @OpenGL_Extension("GL_EXT_shader_image_load_store")
18191     fn_glBindImageTextureEXT glBindImageTextureEXT;
18192     alias fn_glBindLightParameterEXT = extern(C) GLuint function(GLenum light, GLenum value) @system @nogc nothrow;
18193     /// Ditto
18194     @OpenGL_Version(OGLIntroducedIn.Unknown)
18195     @OpenGL_Extension("GL_EXT_vertex_shader")
18196     fn_glBindLightParameterEXT glBindLightParameterEXT;
18197     alias fn_glBindMaterialParameterEXT = extern(C) GLuint function(GLenum face, GLenum value) @system @nogc nothrow;
18198     /// Ditto
18199     @OpenGL_Version(OGLIntroducedIn.Unknown)
18200     @OpenGL_Extension("GL_EXT_vertex_shader")
18201     fn_glBindMaterialParameterEXT glBindMaterialParameterEXT;
18202     alias fn_glBindMultiTextureEXT = extern(C) void function(GLenum texunit, GLenum target, GLuint texture) @system @nogc nothrow;
18203     /// Ditto
18204     @OpenGL_Version(OGLIntroducedIn.Unknown)
18205     @OpenGL_Extension("GL_EXT_direct_state_access")
18206     fn_glBindMultiTextureEXT glBindMultiTextureEXT;
18207     alias fn_glBindParameterEXT = extern(C) GLuint function(GLenum value) @system @nogc nothrow;
18208     /// Ditto
18209     @OpenGL_Version(OGLIntroducedIn.Unknown)
18210     @OpenGL_Extension("GL_EXT_vertex_shader")
18211     fn_glBindParameterEXT glBindParameterEXT;
18212     alias fn_glBindProgramARB = extern(C) void function(GLenum target, GLuint program) @system @nogc nothrow;
18213     /// Ditto
18214     @OpenGL_Version(OGLIntroducedIn.Unknown)
18215     @OpenGL_Extension("GL_ARB_fragment_program")
18216     fn_glBindProgramARB glBindProgramARB;
18217     alias fn_glBindProgramNV = extern(C) void function(GLenum target, GLuint id) @system @nogc nothrow;
18218     /// Ditto
18219     @OpenGL_Version(OGLIntroducedIn.Unknown)
18220     @OpenGL_Extension("GL_NV_vertex_program")
18221     fn_glBindProgramNV glBindProgramNV;
18222     alias fn_glBindProgramPipelineEXT = extern(C) void function(GLuint pipeline) @system @nogc nothrow;
18223     /// Ditto
18224     @OpenGL_Version(OGLIntroducedIn.Unknown)
18225     @OpenGL_Extension("GL_EXT_separate_shader_objects")
18226     fn_glBindProgramPipelineEXT glBindProgramPipelineEXT;
18227     alias fn_glBindRenderbufferEXT = extern(C) void function(GLenum target, GLuint renderbuffer) @system @nogc nothrow;
18228     /// Ditto
18229     @OpenGL_Version(OGLIntroducedIn.Unknown)
18230     @OpenGL_Extension("GL_EXT_framebuffer_object")
18231     fn_glBindRenderbufferEXT glBindRenderbufferEXT;
18232     alias fn_glBindRenderbufferOES = extern(C) void function(GLenum target, GLuint renderbuffer) @system @nogc nothrow;
18233     /// Ditto
18234     @OpenGL_Version(OGLIntroducedIn.Unknown)
18235     @OpenGL_Extension("GL_OES_framebuffer_object")
18236     fn_glBindRenderbufferOES glBindRenderbufferOES;
18237     alias fn_glBindTexGenParameterEXT = extern(C) GLuint function(GLenum unit, GLenum coord, GLenum value) @system @nogc nothrow;
18238     /// Ditto
18239     @OpenGL_Version(OGLIntroducedIn.Unknown)
18240     @OpenGL_Extension("GL_EXT_vertex_shader")
18241     fn_glBindTexGenParameterEXT glBindTexGenParameterEXT;
18242     alias fn_glBindTextureEXT = extern(C) void function(GLenum target, GLuint texture) @system @nogc nothrow;
18243     /// Ditto
18244     @OpenGL_Version(OGLIntroducedIn.Unknown)
18245     @OpenGL_Extension("GL_EXT_texture_object")
18246     fn_glBindTextureEXT glBindTextureEXT;
18247     alias fn_glBindTextureUnitParameterEXT = extern(C) GLuint function(GLenum unit, GLenum value) @system @nogc nothrow;
18248     /// Ditto
18249     @OpenGL_Version(OGLIntroducedIn.Unknown)
18250     @OpenGL_Extension("GL_EXT_vertex_shader")
18251     fn_glBindTextureUnitParameterEXT glBindTextureUnitParameterEXT;
18252     alias fn_glBindTransformFeedbackNV = extern(C) void function(GLenum target, GLuint id) @system @nogc nothrow;
18253     /// Ditto
18254     @OpenGL_Version(OGLIntroducedIn.Unknown)
18255     @OpenGL_Extension("GL_NV_transform_feedback2")
18256     fn_glBindTransformFeedbackNV glBindTransformFeedbackNV;
18257     alias fn_glBindVertexArrayAPPLE = extern(C) void function(GLuint array) @system @nogc nothrow;
18258     /// Ditto
18259     @OpenGL_Version(OGLIntroducedIn.Unknown)
18260     @OpenGL_Extension("GL_APPLE_vertex_array_object")
18261     fn_glBindVertexArrayAPPLE glBindVertexArrayAPPLE;
18262     alias fn_glBindVertexArrayOES = extern(C) void function(GLuint array) @system @nogc nothrow;
18263     /// Ditto
18264     @OpenGL_Version(OGLIntroducedIn.Unknown)
18265     @OpenGL_Extension("GL_OES_vertex_array_object")
18266     fn_glBindVertexArrayOES glBindVertexArrayOES;
18267     alias fn_glBindVertexShaderEXT = extern(C) void function(GLuint id) @system @nogc nothrow;
18268     /// Ditto
18269     @OpenGL_Version(OGLIntroducedIn.Unknown)
18270     @OpenGL_Extension("GL_EXT_vertex_shader")
18271     fn_glBindVertexShaderEXT glBindVertexShaderEXT;
18272     alias fn_glBindVideoCaptureStreamBufferNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset) @system @nogc nothrow;
18273     /// Ditto
18274     @OpenGL_Version(OGLIntroducedIn.Unknown)
18275     @OpenGL_Extension("GL_NV_video_capture")
18276     fn_glBindVideoCaptureStreamBufferNV glBindVideoCaptureStreamBufferNV;
18277     alias fn_glBindVideoCaptureStreamTextureNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture) @system @nogc nothrow;
18278     /// Ditto
18279     @OpenGL_Version(OGLIntroducedIn.Unknown)
18280     @OpenGL_Extension("GL_NV_video_capture")
18281     fn_glBindVideoCaptureStreamTextureNV glBindVideoCaptureStreamTextureNV;
18282     alias fn_glBinormal3bEXT = extern(C) void function(GLbyte bx, GLbyte by, GLbyte bz) @system @nogc nothrow;
18283     /// Ditto
18284     @OpenGL_Version(OGLIntroducedIn.Unknown)
18285     @OpenGL_Extension("GL_EXT_coordinate_frame")
18286     fn_glBinormal3bEXT glBinormal3bEXT;
18287     alias fn_glBinormal3bvEXT = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
18288     /// Ditto
18289     @OpenGL_Version(OGLIntroducedIn.Unknown)
18290     @OpenGL_Extension("GL_EXT_coordinate_frame")
18291     fn_glBinormal3bvEXT glBinormal3bvEXT;
18292     alias fn_glBinormal3dEXT = extern(C) void function(GLdouble bx, GLdouble by, GLdouble bz) @system @nogc nothrow;
18293     /// Ditto
18294     @OpenGL_Version(OGLIntroducedIn.Unknown)
18295     @OpenGL_Extension("GL_EXT_coordinate_frame")
18296     fn_glBinormal3dEXT glBinormal3dEXT;
18297     alias fn_glBinormal3dvEXT = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
18298     /// Ditto
18299     @OpenGL_Version(OGLIntroducedIn.Unknown)
18300     @OpenGL_Extension("GL_EXT_coordinate_frame")
18301     fn_glBinormal3dvEXT glBinormal3dvEXT;
18302     alias fn_glBinormal3fEXT = extern(C) void function(GLfloat bx, GLfloat by, GLfloat bz) @system @nogc nothrow;
18303     /// Ditto
18304     @OpenGL_Version(OGLIntroducedIn.Unknown)
18305     @OpenGL_Extension("GL_EXT_coordinate_frame")
18306     fn_glBinormal3fEXT glBinormal3fEXT;
18307     alias fn_glBinormal3fvEXT = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
18308     /// Ditto
18309     @OpenGL_Version(OGLIntroducedIn.Unknown)
18310     @OpenGL_Extension("GL_EXT_coordinate_frame")
18311     fn_glBinormal3fvEXT glBinormal3fvEXT;
18312     alias fn_glBinormal3iEXT = extern(C) void function(GLint bx, GLint by, GLint bz) @system @nogc nothrow;
18313     /// Ditto
18314     @OpenGL_Version(OGLIntroducedIn.Unknown)
18315     @OpenGL_Extension("GL_EXT_coordinate_frame")
18316     fn_glBinormal3iEXT glBinormal3iEXT;
18317     alias fn_glBinormal3ivEXT = extern(C) void function(const GLint* v) @system @nogc nothrow;
18318     /// Ditto
18319     @OpenGL_Version(OGLIntroducedIn.Unknown)
18320     @OpenGL_Extension("GL_EXT_coordinate_frame")
18321     fn_glBinormal3ivEXT glBinormal3ivEXT;
18322     alias fn_glBinormal3sEXT = extern(C) void function(GLshort bx, GLshort by, GLshort bz) @system @nogc nothrow;
18323     /// Ditto
18324     @OpenGL_Version(OGLIntroducedIn.Unknown)
18325     @OpenGL_Extension("GL_EXT_coordinate_frame")
18326     fn_glBinormal3sEXT glBinormal3sEXT;
18327     alias fn_glBinormal3svEXT = extern(C) void function(const GLshort* v) @system @nogc nothrow;
18328     /// Ditto
18329     @OpenGL_Version(OGLIntroducedIn.Unknown)
18330     @OpenGL_Extension("GL_EXT_coordinate_frame")
18331     fn_glBinormal3svEXT glBinormal3svEXT;
18332     alias fn_glBinormalPointerEXT = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
18333     /// Ditto
18334     @OpenGL_Version(OGLIntroducedIn.Unknown)
18335     @OpenGL_Extension("GL_EXT_coordinate_frame")
18336     fn_glBinormalPointerEXT glBinormalPointerEXT;
18337     alias fn_glBitmap = extern(C) void function(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const(GLubyte)* bitmap) @system @nogc nothrow;
18338     /// Ditto
18339     @OpenGL_Version(OGLIntroducedIn.V1P0)
18340     fn_glBitmap glBitmap;
18341     alias fn_glBitmapxOES = extern(C) void function(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const(GLubyte)* bitmap) @system @nogc nothrow;
18342     /// Ditto
18343     @OpenGL_Version(OGLIntroducedIn.Unknown)
18344     @OpenGL_Extension("GL_OES_fixed_point")
18345     fn_glBitmapxOES glBitmapxOES;
18346     alias fn_glBlendBarrier = extern(C) void function() @system @nogc nothrow;
18347     /// Ditto
18348     @OpenGL_Version(OGLIntroducedIn.Unknown)
18349     fn_glBlendBarrier glBlendBarrier;
18350     alias fn_glBlendBarrierKHR = extern(C) void function() @system @nogc nothrow;
18351     /// Ditto
18352     @OpenGL_Version(OGLIntroducedIn.Unknown)
18353     @OpenGL_Extension("GL_KHR_blend_equation_advanced")
18354     fn_glBlendBarrierKHR glBlendBarrierKHR;
18355     alias fn_glBlendBarrierNV = extern(C) void function() @system @nogc nothrow;
18356     /// Ditto
18357     @OpenGL_Version(OGLIntroducedIn.Unknown)
18358     @OpenGL_Extension("GL_NV_blend_equation_advanced")
18359     fn_glBlendBarrierNV glBlendBarrierNV;
18360     alias fn_glBlendColorEXT = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) @system @nogc nothrow;
18361     /// Ditto
18362     @OpenGL_Version(OGLIntroducedIn.Unknown)
18363     @OpenGL_Extension("GL_EXT_blend_color")
18364     fn_glBlendColorEXT glBlendColorEXT;
18365     alias fn_glBlendColorxOES = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) @system @nogc nothrow;
18366     /// Ditto
18367     @OpenGL_Version(OGLIntroducedIn.Unknown)
18368     @OpenGL_Extension("GL_OES_fixed_point")
18369     fn_glBlendColorxOES glBlendColorxOES;
18370     alias fn_glBlendEquationEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
18371     /// Ditto
18372     @OpenGL_Version(OGLIntroducedIn.Unknown)
18373     @OpenGL_Extension("GL_EXT_blend_minmax")
18374     fn_glBlendEquationEXT glBlendEquationEXT;
18375     alias fn_glBlendEquationIndexedAMD = extern(C) void function(GLuint buf, GLenum mode) @system @nogc nothrow;
18376     /// Ditto
18377     @OpenGL_Version(OGLIntroducedIn.Unknown)
18378     @OpenGL_Extension("GL_AMD_draw_buffers_blend")
18379     fn_glBlendEquationIndexedAMD glBlendEquationIndexedAMD;
18380     alias fn_glBlendEquationOES = extern(C) void function(GLenum mode) @system @nogc nothrow;
18381     /// Ditto
18382     @OpenGL_Version(OGLIntroducedIn.Unknown)
18383     @OpenGL_Extension("GL_OES_blend_subtract")
18384     fn_glBlendEquationOES glBlendEquationOES;
18385     alias fn_glBlendEquationSeparateEXT = extern(C) void function(GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
18386     /// Ditto
18387     @OpenGL_Version(OGLIntroducedIn.Unknown)
18388     @OpenGL_Extension("GL_EXT_blend_equation_separate")
18389     fn_glBlendEquationSeparateEXT glBlendEquationSeparateEXT;
18390     alias fn_glBlendEquationSeparateIndexedAMD = extern(C) void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
18391     /// Ditto
18392     @OpenGL_Version(OGLIntroducedIn.Unknown)
18393     @OpenGL_Extension("GL_AMD_draw_buffers_blend")
18394     fn_glBlendEquationSeparateIndexedAMD glBlendEquationSeparateIndexedAMD;
18395     alias fn_glBlendEquationSeparateOES = extern(C) void function(GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
18396     /// Ditto
18397     @OpenGL_Version(OGLIntroducedIn.Unknown)
18398     @OpenGL_Extension("GL_OES_blend_equation_separate")
18399     fn_glBlendEquationSeparateOES glBlendEquationSeparateOES;
18400     alias fn_glBlendEquationSeparateiARB = extern(C) void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
18401     /// Ditto
18402     @OpenGL_Version(OGLIntroducedIn.Unknown)
18403     @OpenGL_Extension("GL_ARB_draw_buffers_blend")
18404     fn_glBlendEquationSeparateiARB glBlendEquationSeparateiARB;
18405     alias fn_glBlendEquationSeparateiEXT = extern(C) void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
18406     /// Ditto
18407     @OpenGL_Version(OGLIntroducedIn.Unknown)
18408     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
18409     fn_glBlendEquationSeparateiEXT glBlendEquationSeparateiEXT;
18410     alias fn_glBlendEquationSeparateiOES = extern(C) void function(GLuint buf, GLenum modeRGB, GLenum modeAlpha) @system @nogc nothrow;
18411     /// Ditto
18412     @OpenGL_Version(OGLIntroducedIn.Unknown)
18413     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
18414     fn_glBlendEquationSeparateiOES glBlendEquationSeparateiOES;
18415     alias fn_glBlendEquationiARB = extern(C) void function(GLuint buf, GLenum mode) @system @nogc nothrow;
18416     /// Ditto
18417     @OpenGL_Version(OGLIntroducedIn.Unknown)
18418     @OpenGL_Extension("GL_ARB_draw_buffers_blend")
18419     fn_glBlendEquationiARB glBlendEquationiARB;
18420     alias fn_glBlendEquationiEXT = extern(C) void function(GLuint buf, GLenum mode) @system @nogc nothrow;
18421     /// Ditto
18422     @OpenGL_Version(OGLIntroducedIn.Unknown)
18423     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
18424     fn_glBlendEquationiEXT glBlendEquationiEXT;
18425     alias fn_glBlendEquationiOES = extern(C) void function(GLuint buf, GLenum mode) @system @nogc nothrow;
18426     /// Ditto
18427     @OpenGL_Version(OGLIntroducedIn.Unknown)
18428     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
18429     fn_glBlendEquationiOES glBlendEquationiOES;
18430     alias fn_glBlendFuncIndexedAMD = extern(C) void function(GLuint buf, GLenum src, GLenum dst) @system @nogc nothrow;
18431     /// Ditto
18432     @OpenGL_Version(OGLIntroducedIn.Unknown)
18433     @OpenGL_Extension("GL_AMD_draw_buffers_blend")
18434     fn_glBlendFuncIndexedAMD glBlendFuncIndexedAMD;
18435     alias fn_glBlendFuncSeparateEXT = extern(C) void function(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) @system @nogc nothrow;
18436     /// Ditto
18437     @OpenGL_Version(OGLIntroducedIn.Unknown)
18438     @OpenGL_Extension("GL_EXT_blend_func_separate")
18439     fn_glBlendFuncSeparateEXT glBlendFuncSeparateEXT;
18440     alias fn_glBlendFuncSeparateINGR = extern(C) void function(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) @system @nogc nothrow;
18441     /// Ditto
18442     @OpenGL_Version(OGLIntroducedIn.Unknown)
18443     @OpenGL_Extension("GL_INGR_blend_func_separate")
18444     fn_glBlendFuncSeparateINGR glBlendFuncSeparateINGR;
18445     alias fn_glBlendFuncSeparateIndexedAMD = extern(C) void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
18446     /// Ditto
18447     @OpenGL_Version(OGLIntroducedIn.Unknown)
18448     @OpenGL_Extension("GL_AMD_draw_buffers_blend")
18449     fn_glBlendFuncSeparateIndexedAMD glBlendFuncSeparateIndexedAMD;
18450     alias fn_glBlendFuncSeparateOES = extern(C) void function(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
18451     /// Ditto
18452     @OpenGL_Version(OGLIntroducedIn.Unknown)
18453     @OpenGL_Extension("GL_OES_blend_func_separate")
18454     fn_glBlendFuncSeparateOES glBlendFuncSeparateOES;
18455     alias fn_glBlendFuncSeparateiARB = extern(C) void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
18456     /// Ditto
18457     @OpenGL_Version(OGLIntroducedIn.Unknown)
18458     @OpenGL_Extension("GL_ARB_draw_buffers_blend")
18459     fn_glBlendFuncSeparateiARB glBlendFuncSeparateiARB;
18460     alias fn_glBlendFuncSeparateiEXT = extern(C) void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
18461     /// Ditto
18462     @OpenGL_Version(OGLIntroducedIn.Unknown)
18463     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
18464     fn_glBlendFuncSeparateiEXT glBlendFuncSeparateiEXT;
18465     alias fn_glBlendFuncSeparateiOES = extern(C) void function(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) @system @nogc nothrow;
18466     /// Ditto
18467     @OpenGL_Version(OGLIntroducedIn.Unknown)
18468     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
18469     fn_glBlendFuncSeparateiOES glBlendFuncSeparateiOES;
18470     alias fn_glBlendFunciARB = extern(C) void function(GLuint buf, GLenum src, GLenum dst) @system @nogc nothrow;
18471     /// Ditto
18472     @OpenGL_Version(OGLIntroducedIn.Unknown)
18473     @OpenGL_Extension("GL_ARB_draw_buffers_blend")
18474     fn_glBlendFunciARB glBlendFunciARB;
18475     alias fn_glBlendFunciEXT = extern(C) void function(GLuint buf, GLenum src, GLenum dst) @system @nogc nothrow;
18476     /// Ditto
18477     @OpenGL_Version(OGLIntroducedIn.Unknown)
18478     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
18479     fn_glBlendFunciEXT glBlendFunciEXT;
18480     alias fn_glBlendFunciOES = extern(C) void function(GLuint buf, GLenum src, GLenum dst) @system @nogc nothrow;
18481     /// Ditto
18482     @OpenGL_Version(OGLIntroducedIn.Unknown)
18483     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
18484     fn_glBlendFunciOES glBlendFunciOES;
18485     alias fn_glBlendParameteriNV = extern(C) void function(GLenum pname, GLint value) @system @nogc nothrow;
18486     /// Ditto
18487     @OpenGL_Version(OGLIntroducedIn.Unknown)
18488     @OpenGL_Extension("GL_NV_blend_equation_advanced")
18489     fn_glBlendParameteriNV glBlendParameteriNV;
18490     alias fn_glBlitFramebufferANGLE = extern(C) void function(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) @system @nogc nothrow;
18491     /// Ditto
18492     @OpenGL_Version(OGLIntroducedIn.Unknown)
18493     @OpenGL_Extension("GL_ANGLE_framebuffer_blit")
18494     fn_glBlitFramebufferANGLE glBlitFramebufferANGLE;
18495     alias fn_glBlitFramebufferEXT = extern(C) void function(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) @system @nogc nothrow;
18496     /// Ditto
18497     @OpenGL_Version(OGLIntroducedIn.Unknown)
18498     @OpenGL_Extension("GL_EXT_framebuffer_blit")
18499     fn_glBlitFramebufferEXT glBlitFramebufferEXT;
18500     alias fn_glBlitFramebufferNV = extern(C) void function(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) @system @nogc nothrow;
18501     /// Ditto
18502     @OpenGL_Version(OGLIntroducedIn.Unknown)
18503     @OpenGL_Extension("GL_NV_framebuffer_blit")
18504     fn_glBlitFramebufferNV glBlitFramebufferNV;
18505     alias fn_glBufferAddressRangeNV = extern(C) void function(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length) @system @nogc nothrow;
18506     /// Ditto
18507     @OpenGL_Version(OGLIntroducedIn.Unknown)
18508     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
18509     fn_glBufferAddressRangeNV glBufferAddressRangeNV;
18510     alias fn_glBufferDataARB = extern(C) void function(GLenum target, GLsizeiptrARB size, const void* data, GLenum usage) @system @nogc nothrow;
18511     /// Ditto
18512     @OpenGL_Version(OGLIntroducedIn.Unknown)
18513     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
18514     fn_glBufferDataARB glBufferDataARB;
18515     alias fn_glBufferPageCommitmentARB = extern(C) void function(GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit) @system @nogc nothrow;
18516     /// Ditto
18517     @OpenGL_Version(OGLIntroducedIn.Unknown)
18518     @OpenGL_Extension("GL_ARB_sparse_buffer")
18519     fn_glBufferPageCommitmentARB glBufferPageCommitmentARB;
18520     alias fn_glBufferParameteriAPPLE = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
18521     /// Ditto
18522     @OpenGL_Version(OGLIntroducedIn.Unknown)
18523     @OpenGL_Extension("GL_APPLE_flush_buffer_range")
18524     fn_glBufferParameteriAPPLE glBufferParameteriAPPLE;
18525     alias fn_glBufferStorageEXT = extern(C) void function(GLenum target, GLsizeiptr size, const void* data, GLbitfield flags) @system @nogc nothrow;
18526     /// Ditto
18527     @OpenGL_Version(OGLIntroducedIn.Unknown)
18528     @OpenGL_Extension("GL_EXT_buffer_storage")
18529     fn_glBufferStorageEXT glBufferStorageEXT;
18530     alias fn_glBufferSubDataARB = extern(C) void function(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void* data) @system @nogc nothrow;
18531     /// Ditto
18532     @OpenGL_Version(OGLIntroducedIn.Unknown)
18533     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
18534     fn_glBufferSubDataARB glBufferSubDataARB;
18535     alias fn_glCallCommandListNV = extern(C) void function(GLuint list) @system @nogc nothrow;
18536     /// Ditto
18537     @OpenGL_Version(OGLIntroducedIn.Unknown)
18538     @OpenGL_Extension("GL_NV_command_list")
18539     fn_glCallCommandListNV glCallCommandListNV;
18540     alias fn_glCallList = extern(C) void function(GLuint list) @system @nogc nothrow;
18541     /// Ditto
18542     @OpenGL_Version(OGLIntroducedIn.V1P0)
18543     fn_glCallList glCallList;
18544     alias fn_glCallLists = extern(C) void function(GLsizei n, GLenum type, const void* lists) @system @nogc nothrow;
18545     /// Ditto
18546     @OpenGL_Version(OGLIntroducedIn.V1P0)
18547     fn_glCallLists glCallLists;
18548     alias fn_glCheckFramebufferStatusEXT = extern(C) GLenum function(GLenum target) @system @nogc nothrow;
18549     /// Ditto
18550     @OpenGL_Version(OGLIntroducedIn.Unknown)
18551     @OpenGL_Extension("GL_EXT_framebuffer_object")
18552     fn_glCheckFramebufferStatusEXT glCheckFramebufferStatusEXT;
18553     alias fn_glCheckFramebufferStatusOES = extern(C) GLenum function(GLenum target) @system @nogc nothrow;
18554     /// Ditto
18555     @OpenGL_Version(OGLIntroducedIn.Unknown)
18556     @OpenGL_Extension("GL_OES_framebuffer_object")
18557     fn_glCheckFramebufferStatusOES glCheckFramebufferStatusOES;
18558     alias fn_glCheckNamedFramebufferStatusEXT = extern(C) GLenum function(GLuint framebuffer, GLenum target) @system @nogc nothrow;
18559     /// Ditto
18560     @OpenGL_Version(OGLIntroducedIn.Unknown)
18561     @OpenGL_Extension("GL_EXT_direct_state_access")
18562     fn_glCheckNamedFramebufferStatusEXT glCheckNamedFramebufferStatusEXT;
18563     alias fn_glClampColorARB = extern(C) void function(GLenum target, GLenum clamp) @system @nogc nothrow;
18564     /// Ditto
18565     @OpenGL_Version(OGLIntroducedIn.Unknown)
18566     @OpenGL_Extension("GL_ARB_color_buffer_float")
18567     fn_glClampColorARB glClampColorARB;
18568     alias fn_glClearAccum = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) @system @nogc nothrow;
18569     /// Ditto
18570     @OpenGL_Version(OGLIntroducedIn.V1P0)
18571     fn_glClearAccum glClearAccum;
18572     alias fn_glClearAccumxOES = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) @system @nogc nothrow;
18573     /// Ditto
18574     @OpenGL_Version(OGLIntroducedIn.Unknown)
18575     @OpenGL_Extension("GL_OES_fixed_point")
18576     fn_glClearAccumxOES glClearAccumxOES;
18577     alias fn_glClearColorIiEXT = extern(C) void function(GLint red, GLint green, GLint blue, GLint alpha) @system @nogc nothrow;
18578     /// Ditto
18579     @OpenGL_Version(OGLIntroducedIn.Unknown)
18580     @OpenGL_Extension("GL_EXT_texture_integer")
18581     fn_glClearColorIiEXT glClearColorIiEXT;
18582     alias fn_glClearColorIuiEXT = extern(C) void function(GLuint red, GLuint green, GLuint blue, GLuint alpha) @system @nogc nothrow;
18583     /// Ditto
18584     @OpenGL_Version(OGLIntroducedIn.Unknown)
18585     @OpenGL_Extension("GL_EXT_texture_integer")
18586     fn_glClearColorIuiEXT glClearColorIuiEXT;
18587     alias fn_glClearColorx = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) @system @nogc nothrow;
18588     /// Ditto
18589     @OpenGL_Version(OGLIntroducedIn.Unknown)
18590     fn_glClearColorx glClearColorx;
18591     alias fn_glClearColorxOES = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) @system @nogc nothrow;
18592     /// Ditto
18593     @OpenGL_Version(OGLIntroducedIn.Unknown)
18594     @OpenGL_Extension("GL_OES_fixed_point")
18595     fn_glClearColorxOES glClearColorxOES;
18596     alias fn_glClearDepthdNV = extern(C) void function(GLdouble depth) @system @nogc nothrow;
18597     /// Ditto
18598     @OpenGL_Version(OGLIntroducedIn.Unknown)
18599     @OpenGL_Extension("GL_NV_depth_buffer_float")
18600     fn_glClearDepthdNV glClearDepthdNV;
18601     alias fn_glClearDepthfOES = extern(C) void function(GLclampf depth) @system @nogc nothrow;
18602     /// Ditto
18603     @OpenGL_Version(OGLIntroducedIn.Unknown)
18604     @OpenGL_Extension("GL_OES_single_precision")
18605     fn_glClearDepthfOES glClearDepthfOES;
18606     alias fn_glClearDepthx = extern(C) void function(GLfixed depth) @system @nogc nothrow;
18607     /// Ditto
18608     @OpenGL_Version(OGLIntroducedIn.Unknown)
18609     fn_glClearDepthx glClearDepthx;
18610     alias fn_glClearDepthxOES = extern(C) void function(GLfixed depth) @system @nogc nothrow;
18611     /// Ditto
18612     @OpenGL_Version(OGLIntroducedIn.Unknown)
18613     @OpenGL_Extension("GL_OES_fixed_point")
18614     fn_glClearDepthxOES glClearDepthxOES;
18615     alias fn_glClearIndex = extern(C) void function(GLfloat c) @system @nogc nothrow;
18616     /// Ditto
18617     @OpenGL_Version(OGLIntroducedIn.V1P0)
18618     fn_glClearIndex glClearIndex;
18619     alias fn_glClearNamedBufferDataEXT = extern(C) void function(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
18620     /// Ditto
18621     @OpenGL_Version(OGLIntroducedIn.Unknown)
18622     @OpenGL_Extension("GL_EXT_direct_state_access")
18623     fn_glClearNamedBufferDataEXT glClearNamedBufferDataEXT;
18624     alias fn_glClearNamedBufferSubDataEXT = extern(C) void function(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
18625     /// Ditto
18626     @OpenGL_Version(OGLIntroducedIn.Unknown)
18627     @OpenGL_Extension("GL_EXT_direct_state_access")
18628     fn_glClearNamedBufferSubDataEXT glClearNamedBufferSubDataEXT;
18629     alias fn_glClearPixelLocalStorageuiEXT = extern(C) void function(GLsizei offset, GLsizei n, const GLuint* values) @system @nogc nothrow;
18630     /// Ditto
18631     @OpenGL_Version(OGLIntroducedIn.Unknown)
18632     @OpenGL_Extension("GL_EXT_shader_pixel_local_storage2")
18633     fn_glClearPixelLocalStorageuiEXT glClearPixelLocalStorageuiEXT;
18634     alias fn_glClearTexImageEXT = extern(C) void function(GLuint texture, GLint level, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
18635     /// Ditto
18636     @OpenGL_Version(OGLIntroducedIn.Unknown)
18637     @OpenGL_Extension("GL_EXT_clear_texture")
18638     fn_glClearTexImageEXT glClearTexImageEXT;
18639     alias fn_glClearTexSubImageEXT = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
18640     /// Ditto
18641     @OpenGL_Version(OGLIntroducedIn.Unknown)
18642     @OpenGL_Extension("GL_EXT_clear_texture")
18643     fn_glClearTexSubImageEXT glClearTexSubImageEXT;
18644     alias fn_glClientActiveTexture = extern(C) void function(GLenum texture) @system @nogc nothrow;
18645     /// Ditto
18646     @OpenGL_Version(OGLIntroducedIn.V1P3)
18647     fn_glClientActiveTexture glClientActiveTexture;
18648     alias fn_glClientActiveTextureARB = extern(C) void function(GLenum texture) @system @nogc nothrow;
18649     /// Ditto
18650     @OpenGL_Version(OGLIntroducedIn.Unknown)
18651     @OpenGL_Extension("GL_ARB_multitexture")
18652     fn_glClientActiveTextureARB glClientActiveTextureARB;
18653     alias fn_glClientActiveVertexStreamATI = extern(C) void function(GLenum stream) @system @nogc nothrow;
18654     /// Ditto
18655     @OpenGL_Version(OGLIntroducedIn.Unknown)
18656     @OpenGL_Extension("GL_ATI_vertex_streams")
18657     fn_glClientActiveVertexStreamATI glClientActiveVertexStreamATI;
18658     alias fn_glClientAttribDefaultEXT = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
18659     /// Ditto
18660     @OpenGL_Version(OGLIntroducedIn.Unknown)
18661     @OpenGL_Extension("GL_EXT_direct_state_access")
18662     fn_glClientAttribDefaultEXT glClientAttribDefaultEXT;
18663     alias fn_glClientWaitSyncAPPLE = extern(C) GLenum function(GLsync sync, GLbitfield flags, GLuint64 timeout) @system @nogc nothrow;
18664     /// Ditto
18665     @OpenGL_Version(OGLIntroducedIn.Unknown)
18666     @OpenGL_Extension("GL_APPLE_sync")
18667     fn_glClientWaitSyncAPPLE glClientWaitSyncAPPLE;
18668     alias fn_glClipPlane = extern(C) void function(GLenum plane, const GLdouble* equation) @system @nogc nothrow;
18669     /// Ditto
18670     @OpenGL_Version(OGLIntroducedIn.V1P0)
18671     fn_glClipPlane glClipPlane;
18672     alias fn_glClipPlanef = extern(C) void function(GLenum p, const GLfloat* eqn) @system @nogc nothrow;
18673     /// Ditto
18674     @OpenGL_Version(OGLIntroducedIn.Unknown)
18675     fn_glClipPlanef glClipPlanef;
18676     alias fn_glClipPlanefIMG = extern(C) void function(GLenum p, const GLfloat* eqn) @system @nogc nothrow;
18677     /// Ditto
18678     @OpenGL_Version(OGLIntroducedIn.Unknown)
18679     @OpenGL_Extension("GL_IMG_user_clip_plane")
18680     fn_glClipPlanefIMG glClipPlanefIMG;
18681     alias fn_glClipPlanefOES = extern(C) void function(GLenum plane, const GLfloat* equation) @system @nogc nothrow;
18682     /// Ditto
18683     @OpenGL_Version(OGLIntroducedIn.Unknown)
18684     @OpenGL_Extension("GL_OES_single_precision")
18685     fn_glClipPlanefOES glClipPlanefOES;
18686     alias fn_glClipPlanex = extern(C) void function(GLenum plane, const GLfixed* equation) @system @nogc nothrow;
18687     /// Ditto
18688     @OpenGL_Version(OGLIntroducedIn.Unknown)
18689     fn_glClipPlanex glClipPlanex;
18690     alias fn_glClipPlanexIMG = extern(C) void function(GLenum p, const GLfixed* eqn) @system @nogc nothrow;
18691     /// Ditto
18692     @OpenGL_Version(OGLIntroducedIn.Unknown)
18693     @OpenGL_Extension("GL_IMG_user_clip_plane")
18694     fn_glClipPlanexIMG glClipPlanexIMG;
18695     alias fn_glClipPlanexOES = extern(C) void function(GLenum plane, const GLfixed* equation) @system @nogc nothrow;
18696     /// Ditto
18697     @OpenGL_Version(OGLIntroducedIn.Unknown)
18698     @OpenGL_Extension("GL_OES_fixed_point")
18699     fn_glClipPlanexOES glClipPlanexOES;
18700     alias fn_glColor3b = extern(C) void function(GLbyte red, GLbyte green, GLbyte blue) @system @nogc nothrow;
18701     /// Ditto
18702     @OpenGL_Version(OGLIntroducedIn.V1P0)
18703     fn_glColor3b glColor3b;
18704     alias fn_glColor3bv = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
18705     /// Ditto
18706     @OpenGL_Version(OGLIntroducedIn.V1P0)
18707     fn_glColor3bv glColor3bv;
18708     alias fn_glColor3d = extern(C) void function(GLdouble red, GLdouble green, GLdouble blue) @system @nogc nothrow;
18709     /// Ditto
18710     @OpenGL_Version(OGLIntroducedIn.V1P0)
18711     fn_glColor3d glColor3d;
18712     alias fn_glColor3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
18713     /// Ditto
18714     @OpenGL_Version(OGLIntroducedIn.V1P0)
18715     fn_glColor3dv glColor3dv;
18716     alias fn_glColor3f = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue) @system @nogc nothrow;
18717     /// Ditto
18718     @OpenGL_Version(OGLIntroducedIn.V1P0)
18719     fn_glColor3f glColor3f;
18720     alias fn_glColor3fVertex3fSUN = extern(C) void function(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
18721     /// Ditto
18722     @OpenGL_Version(OGLIntroducedIn.Unknown)
18723     @OpenGL_Extension("GL_SUN_vertex")
18724     fn_glColor3fVertex3fSUN glColor3fVertex3fSUN;
18725     alias fn_glColor3fVertex3fvSUN = extern(C) void function(const GLfloat* c, const GLfloat* v) @system @nogc nothrow;
18726     /// Ditto
18727     @OpenGL_Version(OGLIntroducedIn.Unknown)
18728     @OpenGL_Extension("GL_SUN_vertex")
18729     fn_glColor3fVertex3fvSUN glColor3fVertex3fvSUN;
18730     alias fn_glColor3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
18731     /// Ditto
18732     @OpenGL_Version(OGLIntroducedIn.V1P0)
18733     fn_glColor3fv glColor3fv;
18734     alias fn_glColor3hNV = extern(C) void function(GLhalfNV red, GLhalfNV green, GLhalfNV blue) @system @nogc nothrow;
18735     /// Ditto
18736     @OpenGL_Version(OGLIntroducedIn.Unknown)
18737     @OpenGL_Extension("GL_NV_half_float")
18738     fn_glColor3hNV glColor3hNV;
18739     alias fn_glColor3hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
18740     /// Ditto
18741     @OpenGL_Version(OGLIntroducedIn.Unknown)
18742     @OpenGL_Extension("GL_NV_half_float")
18743     fn_glColor3hvNV glColor3hvNV;
18744     alias fn_glColor3i = extern(C) void function(GLint red, GLint green, GLint blue) @system @nogc nothrow;
18745     /// Ditto
18746     @OpenGL_Version(OGLIntroducedIn.V1P0)
18747     fn_glColor3i glColor3i;
18748     alias fn_glColor3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
18749     /// Ditto
18750     @OpenGL_Version(OGLIntroducedIn.V1P0)
18751     fn_glColor3iv glColor3iv;
18752     alias fn_glColor3s = extern(C) void function(GLshort red, GLshort green, GLshort blue) @system @nogc nothrow;
18753     /// Ditto
18754     @OpenGL_Version(OGLIntroducedIn.V1P0)
18755     fn_glColor3s glColor3s;
18756     alias fn_glColor3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
18757     /// Ditto
18758     @OpenGL_Version(OGLIntroducedIn.V1P0)
18759     fn_glColor3sv glColor3sv;
18760     alias fn_glColor3ub = extern(C) void function(GLubyte red, GLubyte green, GLubyte blue) @system @nogc nothrow;
18761     /// Ditto
18762     @OpenGL_Version(OGLIntroducedIn.V1P0)
18763     fn_glColor3ub glColor3ub;
18764     alias fn_glColor3ubv = extern(C) void function(const(GLubyte)* v) @system @nogc nothrow;
18765     /// Ditto
18766     @OpenGL_Version(OGLIntroducedIn.V1P0)
18767     fn_glColor3ubv glColor3ubv;
18768     alias fn_glColor3ui = extern(C) void function(GLuint red, GLuint green, GLuint blue) @system @nogc nothrow;
18769     /// Ditto
18770     @OpenGL_Version(OGLIntroducedIn.V1P0)
18771     fn_glColor3ui glColor3ui;
18772     alias fn_glColor3uiv = extern(C) void function(const GLuint* v) @system @nogc nothrow;
18773     /// Ditto
18774     @OpenGL_Version(OGLIntroducedIn.V1P0)
18775     fn_glColor3uiv glColor3uiv;
18776     alias fn_glColor3us = extern(C) void function(GLushort red, GLushort green, GLushort blue) @system @nogc nothrow;
18777     /// Ditto
18778     @OpenGL_Version(OGLIntroducedIn.V1P0)
18779     fn_glColor3us glColor3us;
18780     alias fn_glColor3usv = extern(C) void function(const GLushort* v) @system @nogc nothrow;
18781     /// Ditto
18782     @OpenGL_Version(OGLIntroducedIn.V1P0)
18783     fn_glColor3usv glColor3usv;
18784     alias fn_glColor3xOES = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue) @system @nogc nothrow;
18785     /// Ditto
18786     @OpenGL_Version(OGLIntroducedIn.Unknown)
18787     @OpenGL_Extension("GL_OES_fixed_point")
18788     fn_glColor3xOES glColor3xOES;
18789     alias fn_glColor3xvOES = extern(C) void function(const GLfixed* components) @system @nogc nothrow;
18790     /// Ditto
18791     @OpenGL_Version(OGLIntroducedIn.Unknown)
18792     @OpenGL_Extension("GL_OES_fixed_point")
18793     fn_glColor3xvOES glColor3xvOES;
18794     alias fn_glColor4b = extern(C) void function(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) @system @nogc nothrow;
18795     /// Ditto
18796     @OpenGL_Version(OGLIntroducedIn.V1P0)
18797     fn_glColor4b glColor4b;
18798     alias fn_glColor4bv = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
18799     /// Ditto
18800     @OpenGL_Version(OGLIntroducedIn.V1P0)
18801     fn_glColor4bv glColor4bv;
18802     alias fn_glColor4d = extern(C) void function(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) @system @nogc nothrow;
18803     /// Ditto
18804     @OpenGL_Version(OGLIntroducedIn.V1P0)
18805     fn_glColor4d glColor4d;
18806     alias fn_glColor4dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
18807     /// Ditto
18808     @OpenGL_Version(OGLIntroducedIn.V1P0)
18809     fn_glColor4dv glColor4dv;
18810     alias fn_glColor4f = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) @system @nogc nothrow;
18811     /// Ditto
18812     @OpenGL_Version(OGLIntroducedIn.V1P0)
18813     fn_glColor4f glColor4f;
18814     alias fn_glColor4fNormal3fVertex3fSUN = extern(C) void function(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
18815     /// Ditto
18816     @OpenGL_Version(OGLIntroducedIn.Unknown)
18817     @OpenGL_Extension("GL_SUN_vertex")
18818     fn_glColor4fNormal3fVertex3fSUN glColor4fNormal3fVertex3fSUN;
18819     alias fn_glColor4fNormal3fVertex3fvSUN = extern(C) void function(const GLfloat* c, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
18820     /// Ditto
18821     @OpenGL_Version(OGLIntroducedIn.Unknown)
18822     @OpenGL_Extension("GL_SUN_vertex")
18823     fn_glColor4fNormal3fVertex3fvSUN glColor4fNormal3fVertex3fvSUN;
18824     alias fn_glColor4fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
18825     /// Ditto
18826     @OpenGL_Version(OGLIntroducedIn.V1P0)
18827     fn_glColor4fv glColor4fv;
18828     alias fn_glColor4hNV = extern(C) void function(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha) @system @nogc nothrow;
18829     /// Ditto
18830     @OpenGL_Version(OGLIntroducedIn.Unknown)
18831     @OpenGL_Extension("GL_NV_half_float")
18832     fn_glColor4hNV glColor4hNV;
18833     alias fn_glColor4hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
18834     /// Ditto
18835     @OpenGL_Version(OGLIntroducedIn.Unknown)
18836     @OpenGL_Extension("GL_NV_half_float")
18837     fn_glColor4hvNV glColor4hvNV;
18838     alias fn_glColor4i = extern(C) void function(GLint red, GLint green, GLint blue, GLint alpha) @system @nogc nothrow;
18839     /// Ditto
18840     @OpenGL_Version(OGLIntroducedIn.V1P0)
18841     fn_glColor4i glColor4i;
18842     alias fn_glColor4iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
18843     /// Ditto
18844     @OpenGL_Version(OGLIntroducedIn.V1P0)
18845     fn_glColor4iv glColor4iv;
18846     alias fn_glColor4s = extern(C) void function(GLshort red, GLshort green, GLshort blue, GLshort alpha) @system @nogc nothrow;
18847     /// Ditto
18848     @OpenGL_Version(OGLIntroducedIn.V1P0)
18849     fn_glColor4s glColor4s;
18850     alias fn_glColor4sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
18851     /// Ditto
18852     @OpenGL_Version(OGLIntroducedIn.V1P0)
18853     fn_glColor4sv glColor4sv;
18854     alias fn_glColor4ub = extern(C) void function(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) @system @nogc nothrow;
18855     /// Ditto
18856     @OpenGL_Version(OGLIntroducedIn.V1P0)
18857     fn_glColor4ub glColor4ub;
18858     alias fn_glColor4ubVertex2fSUN = extern(C) void function(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y) @system @nogc nothrow;
18859     /// Ditto
18860     @OpenGL_Version(OGLIntroducedIn.Unknown)
18861     @OpenGL_Extension("GL_SUN_vertex")
18862     fn_glColor4ubVertex2fSUN glColor4ubVertex2fSUN;
18863     alias fn_glColor4ubVertex2fvSUN = extern(C) void function(const(GLubyte)* c, const GLfloat* v) @system @nogc nothrow;
18864     /// Ditto
18865     @OpenGL_Version(OGLIntroducedIn.Unknown)
18866     @OpenGL_Extension("GL_SUN_vertex")
18867     fn_glColor4ubVertex2fvSUN glColor4ubVertex2fvSUN;
18868     alias fn_glColor4ubVertex3fSUN = extern(C) void function(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
18869     /// Ditto
18870     @OpenGL_Version(OGLIntroducedIn.Unknown)
18871     @OpenGL_Extension("GL_SUN_vertex")
18872     fn_glColor4ubVertex3fSUN glColor4ubVertex3fSUN;
18873     alias fn_glColor4ubVertex3fvSUN = extern(C) void function(const(GLubyte)* c, const GLfloat* v) @system @nogc nothrow;
18874     /// Ditto
18875     @OpenGL_Version(OGLIntroducedIn.Unknown)
18876     @OpenGL_Extension("GL_SUN_vertex")
18877     fn_glColor4ubVertex3fvSUN glColor4ubVertex3fvSUN;
18878     alias fn_glColor4ubv = extern(C) void function(const(GLubyte)* v) @system @nogc nothrow;
18879     /// Ditto
18880     @OpenGL_Version(OGLIntroducedIn.V1P0)
18881     fn_glColor4ubv glColor4ubv;
18882     alias fn_glColor4ui = extern(C) void function(GLuint red, GLuint green, GLuint blue, GLuint alpha) @system @nogc nothrow;
18883     /// Ditto
18884     @OpenGL_Version(OGLIntroducedIn.V1P0)
18885     fn_glColor4ui glColor4ui;
18886     alias fn_glColor4uiv = extern(C) void function(const GLuint* v) @system @nogc nothrow;
18887     /// Ditto
18888     @OpenGL_Version(OGLIntroducedIn.V1P0)
18889     fn_glColor4uiv glColor4uiv;
18890     alias fn_glColor4us = extern(C) void function(GLushort red, GLushort green, GLushort blue, GLushort alpha) @system @nogc nothrow;
18891     /// Ditto
18892     @OpenGL_Version(OGLIntroducedIn.V1P0)
18893     fn_glColor4us glColor4us;
18894     alias fn_glColor4usv = extern(C) void function(const GLushort* v) @system @nogc nothrow;
18895     /// Ditto
18896     @OpenGL_Version(OGLIntroducedIn.V1P0)
18897     fn_glColor4usv glColor4usv;
18898     alias fn_glColor4x = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) @system @nogc nothrow;
18899     /// Ditto
18900     @OpenGL_Version(OGLIntroducedIn.Unknown)
18901     fn_glColor4x glColor4x;
18902     alias fn_glColor4xOES = extern(C) void function(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) @system @nogc nothrow;
18903     /// Ditto
18904     @OpenGL_Version(OGLIntroducedIn.Unknown)
18905     @OpenGL_Extension("GL_OES_fixed_point")
18906     fn_glColor4xOES glColor4xOES;
18907     alias fn_glColor4xvOES = extern(C) void function(const GLfixed* components) @system @nogc nothrow;
18908     /// Ditto
18909     @OpenGL_Version(OGLIntroducedIn.Unknown)
18910     @OpenGL_Extension("GL_OES_fixed_point")
18911     fn_glColor4xvOES glColor4xvOES;
18912     alias fn_glColorFormatNV = extern(C) void function(GLint size, GLenum type, GLsizei stride) @system @nogc nothrow;
18913     /// Ditto
18914     @OpenGL_Version(OGLIntroducedIn.Unknown)
18915     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
18916     fn_glColorFormatNV glColorFormatNV;
18917     alias fn_glColorFragmentOp1ATI = extern(C) void function(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) @system @nogc nothrow;
18918     /// Ditto
18919     @OpenGL_Version(OGLIntroducedIn.Unknown)
18920     @OpenGL_Extension("GL_ATI_fragment_shader")
18921     fn_glColorFragmentOp1ATI glColorFragmentOp1ATI;
18922     alias fn_glColorFragmentOp2ATI = extern(C) void function(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) @system @nogc nothrow;
18923     /// Ditto
18924     @OpenGL_Version(OGLIntroducedIn.Unknown)
18925     @OpenGL_Extension("GL_ATI_fragment_shader")
18926     fn_glColorFragmentOp2ATI glColorFragmentOp2ATI;
18927     alias fn_glColorFragmentOp3ATI = extern(C) void function(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) @system @nogc nothrow;
18928     /// Ditto
18929     @OpenGL_Version(OGLIntroducedIn.Unknown)
18930     @OpenGL_Extension("GL_ATI_fragment_shader")
18931     fn_glColorFragmentOp3ATI glColorFragmentOp3ATI;
18932     alias fn_glColorMaskIndexedEXT = extern(C) void function(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) @system @nogc nothrow;
18933     /// Ditto
18934     @OpenGL_Version(OGLIntroducedIn.Unknown)
18935     @OpenGL_Extension("GL_EXT_draw_buffers2")
18936     fn_glColorMaskIndexedEXT glColorMaskIndexedEXT;
18937     alias fn_glColorMaski = extern(C) void function(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) @system @nogc nothrow;
18938     /// Ditto
18939     @OpenGL_Version(OGLIntroducedIn.V3P0)
18940     fn_glColorMaski glColorMaski;
18941     alias fn_glColorMaskiEXT = extern(C) void function(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) @system @nogc nothrow;
18942     /// Ditto
18943     @OpenGL_Version(OGLIntroducedIn.Unknown)
18944     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
18945     fn_glColorMaskiEXT glColorMaskiEXT;
18946     alias fn_glColorMaskiOES = extern(C) void function(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) @system @nogc nothrow;
18947     /// Ditto
18948     @OpenGL_Version(OGLIntroducedIn.Unknown)
18949     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
18950     fn_glColorMaskiOES glColorMaskiOES;
18951     alias fn_glColorMaterial = extern(C) void function(GLenum face, GLenum mode) @system @nogc nothrow;
18952     /// Ditto
18953     @OpenGL_Version(OGLIntroducedIn.V1P0)
18954     fn_glColorMaterial glColorMaterial;
18955     alias fn_glColorP3ui = extern(C) void function(GLenum type, GLuint color) @system @nogc nothrow;
18956     /// Ditto
18957     @OpenGL_Version(OGLIntroducedIn.V3P3)
18958     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
18959     fn_glColorP3ui glColorP3ui;
18960     alias fn_glColorP3uiv = extern(C) void function(GLenum type, const GLuint* color) @system @nogc nothrow;
18961     /// Ditto
18962     @OpenGL_Version(OGLIntroducedIn.V3P3)
18963     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
18964     fn_glColorP3uiv glColorP3uiv;
18965     alias fn_glColorP4ui = extern(C) void function(GLenum type, GLuint color) @system @nogc nothrow;
18966     /// Ditto
18967     @OpenGL_Version(OGLIntroducedIn.V3P3)
18968     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
18969     fn_glColorP4ui glColorP4ui;
18970     alias fn_glColorP4uiv = extern(C) void function(GLenum type, const GLuint* color) @system @nogc nothrow;
18971     /// Ditto
18972     @OpenGL_Version(OGLIntroducedIn.V3P3)
18973     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
18974     fn_glColorP4uiv glColorP4uiv;
18975     alias fn_glColorPointer = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
18976     /// Ditto
18977     @OpenGL_Version(OGLIntroducedIn.V1P1)
18978     fn_glColorPointer glColorPointer;
18979     alias fn_glColorPointerEXT = extern(C) void function(GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer) @system @nogc nothrow;
18980     /// Ditto
18981     @OpenGL_Version(OGLIntroducedIn.Unknown)
18982     @OpenGL_Extension("GL_EXT_vertex_array")
18983     fn_glColorPointerEXT glColorPointerEXT;
18984     alias fn_glColorPointerListIBM = extern(C) void function(GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
18985     /// Ditto
18986     @OpenGL_Version(OGLIntroducedIn.Unknown)
18987     @OpenGL_Extension("GL_IBM_vertex_array_lists")
18988     fn_glColorPointerListIBM glColorPointerListIBM;
18989     alias fn_glColorPointervINTEL = extern(C) void function(GLint size, GLenum type, const void** pointer) @system @nogc nothrow;
18990     /// Ditto
18991     @OpenGL_Version(OGLIntroducedIn.Unknown)
18992     @OpenGL_Extension("GL_INTEL_parallel_arrays")
18993     fn_glColorPointervINTEL glColorPointervINTEL;
18994     alias fn_glColorSubTable = extern(C) void function(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
18995     /// Ditto
18996     @OpenGL_Version(OGLIntroducedIn.Unknown)
18997     @OpenGL_Extension("GL_ARB_imaging")
18998     fn_glColorSubTable glColorSubTable;
18999     alias fn_glColorSubTableEXT = extern(C) void function(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void* data) @system @nogc nothrow;
19000     /// Ditto
19001     @OpenGL_Version(OGLIntroducedIn.Unknown)
19002     @OpenGL_Extension("GL_EXT_color_subtable")
19003     fn_glColorSubTableEXT glColorSubTableEXT;
19004     alias fn_glColorTable = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* table) @system @nogc nothrow;
19005     /// Ditto
19006     @OpenGL_Version(OGLIntroducedIn.Unknown)
19007     @OpenGL_Extension("GL_ARB_imaging")
19008     fn_glColorTable glColorTable;
19009     alias fn_glColorTableEXT = extern(C) void function(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void* table) @system @nogc nothrow;
19010     /// Ditto
19011     @OpenGL_Version(OGLIntroducedIn.Unknown)
19012     @OpenGL_Extension("GL_EXT_paletted_texture")
19013     fn_glColorTableEXT glColorTableEXT;
19014     alias fn_glColorTableParameterfv = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
19015     /// Ditto
19016     @OpenGL_Version(OGLIntroducedIn.Unknown)
19017     @OpenGL_Extension("GL_ARB_imaging")
19018     fn_glColorTableParameterfv glColorTableParameterfv;
19019     alias fn_glColorTableParameterfvSGI = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
19020     /// Ditto
19021     @OpenGL_Version(OGLIntroducedIn.Unknown)
19022     @OpenGL_Extension("GL_SGI_color_table")
19023     fn_glColorTableParameterfvSGI glColorTableParameterfvSGI;
19024     alias fn_glColorTableParameteriv = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
19025     /// Ditto
19026     @OpenGL_Version(OGLIntroducedIn.Unknown)
19027     @OpenGL_Extension("GL_ARB_imaging")
19028     fn_glColorTableParameteriv glColorTableParameteriv;
19029     alias fn_glColorTableParameterivSGI = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
19030     /// Ditto
19031     @OpenGL_Version(OGLIntroducedIn.Unknown)
19032     @OpenGL_Extension("GL_SGI_color_table")
19033     fn_glColorTableParameterivSGI glColorTableParameterivSGI;
19034     alias fn_glColorTableSGI = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* table) @system @nogc nothrow;
19035     /// Ditto
19036     @OpenGL_Version(OGLIntroducedIn.Unknown)
19037     @OpenGL_Extension("GL_SGI_color_table")
19038     fn_glColorTableSGI glColorTableSGI;
19039     alias fn_glCombinerInputNV = extern(C) void function(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) @system @nogc nothrow;
19040     /// Ditto
19041     @OpenGL_Version(OGLIntroducedIn.Unknown)
19042     @OpenGL_Extension("GL_NV_register_combiners")
19043     fn_glCombinerInputNV glCombinerInputNV;
19044     alias fn_glCombinerOutputNV = extern(C) void function(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum) @system @nogc nothrow;
19045     /// Ditto
19046     @OpenGL_Version(OGLIntroducedIn.Unknown)
19047     @OpenGL_Extension("GL_NV_register_combiners")
19048     fn_glCombinerOutputNV glCombinerOutputNV;
19049     alias fn_glCombinerParameterfNV = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
19050     /// Ditto
19051     @OpenGL_Version(OGLIntroducedIn.Unknown)
19052     @OpenGL_Extension("GL_NV_register_combiners")
19053     fn_glCombinerParameterfNV glCombinerParameterfNV;
19054     alias fn_glCombinerParameterfvNV = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
19055     /// Ditto
19056     @OpenGL_Version(OGLIntroducedIn.Unknown)
19057     @OpenGL_Extension("GL_NV_register_combiners")
19058     fn_glCombinerParameterfvNV glCombinerParameterfvNV;
19059     alias fn_glCombinerParameteriNV = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
19060     /// Ditto
19061     @OpenGL_Version(OGLIntroducedIn.Unknown)
19062     @OpenGL_Extension("GL_NV_register_combiners")
19063     fn_glCombinerParameteriNV glCombinerParameteriNV;
19064     alias fn_glCombinerParameterivNV = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
19065     /// Ditto
19066     @OpenGL_Version(OGLIntroducedIn.Unknown)
19067     @OpenGL_Extension("GL_NV_register_combiners")
19068     fn_glCombinerParameterivNV glCombinerParameterivNV;
19069     alias fn_glCombinerStageParameterfvNV = extern(C) void function(GLenum stage, GLenum pname, const GLfloat* params) @system @nogc nothrow;
19070     /// Ditto
19071     @OpenGL_Version(OGLIntroducedIn.Unknown)
19072     @OpenGL_Extension("GL_NV_register_combiners2")
19073     fn_glCombinerStageParameterfvNV glCombinerStageParameterfvNV;
19074     alias fn_glCommandListSegmentsNV = extern(C) void function(GLuint list, GLuint segments) @system @nogc nothrow;
19075     /// Ditto
19076     @OpenGL_Version(OGLIntroducedIn.Unknown)
19077     @OpenGL_Extension("GL_NV_command_list")
19078     fn_glCommandListSegmentsNV glCommandListSegmentsNV;
19079     alias fn_glCompileCommandListNV = extern(C) void function(GLuint list) @system @nogc nothrow;
19080     /// Ditto
19081     @OpenGL_Version(OGLIntroducedIn.Unknown)
19082     @OpenGL_Extension("GL_NV_command_list")
19083     fn_glCompileCommandListNV glCompileCommandListNV;
19084     alias fn_glCompileShaderARB = extern(C) void function(GLhandleARB shaderObj) @system @nogc nothrow;
19085     /// Ditto
19086     @OpenGL_Version(OGLIntroducedIn.Unknown)
19087     @OpenGL_Extension("GL_ARB_shader_objects")
19088     fn_glCompileShaderARB glCompileShaderARB;
19089     alias fn_glCompileShaderIncludeARB = extern(C) void function(GLuint shader, GLsizei count, const(const(GLvoid*)*) path, const GLint* length) @system @nogc nothrow;
19090     /// Ditto
19091     @OpenGL_Version(OGLIntroducedIn.Unknown)
19092     @OpenGL_Extension("GL_ARB_shading_language_include")
19093     fn_glCompileShaderIncludeARB glCompileShaderIncludeARB;
19094     alias fn_glCompressedMultiTexImage1DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19095     /// Ditto
19096     @OpenGL_Version(OGLIntroducedIn.Unknown)
19097     @OpenGL_Extension("GL_EXT_direct_state_access")
19098     fn_glCompressedMultiTexImage1DEXT glCompressedMultiTexImage1DEXT;
19099     alias fn_glCompressedMultiTexImage2DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19100     /// Ditto
19101     @OpenGL_Version(OGLIntroducedIn.Unknown)
19102     @OpenGL_Extension("GL_EXT_direct_state_access")
19103     fn_glCompressedMultiTexImage2DEXT glCompressedMultiTexImage2DEXT;
19104     alias fn_glCompressedMultiTexImage3DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19105     /// Ditto
19106     @OpenGL_Version(OGLIntroducedIn.Unknown)
19107     @OpenGL_Extension("GL_EXT_direct_state_access")
19108     fn_glCompressedMultiTexImage3DEXT glCompressedMultiTexImage3DEXT;
19109     alias fn_glCompressedMultiTexSubImage1DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19110     /// Ditto
19111     @OpenGL_Version(OGLIntroducedIn.Unknown)
19112     @OpenGL_Extension("GL_EXT_direct_state_access")
19113     fn_glCompressedMultiTexSubImage1DEXT glCompressedMultiTexSubImage1DEXT;
19114     alias fn_glCompressedMultiTexSubImage2DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19115     /// Ditto
19116     @OpenGL_Version(OGLIntroducedIn.Unknown)
19117     @OpenGL_Extension("GL_EXT_direct_state_access")
19118     fn_glCompressedMultiTexSubImage2DEXT glCompressedMultiTexSubImage2DEXT;
19119     alias fn_glCompressedMultiTexSubImage3DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19120     /// Ditto
19121     @OpenGL_Version(OGLIntroducedIn.Unknown)
19122     @OpenGL_Extension("GL_EXT_direct_state_access")
19123     fn_glCompressedMultiTexSubImage3DEXT glCompressedMultiTexSubImage3DEXT;
19124     alias fn_glCompressedTexImage1DARB = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data) @system @nogc nothrow;
19125     /// Ditto
19126     @OpenGL_Version(OGLIntroducedIn.Unknown)
19127     @OpenGL_Extension("GL_ARB_texture_compression")
19128     fn_glCompressedTexImage1DARB glCompressedTexImage1DARB;
19129     alias fn_glCompressedTexImage2DARB = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data) @system @nogc nothrow;
19130     /// Ditto
19131     @OpenGL_Version(OGLIntroducedIn.Unknown)
19132     @OpenGL_Extension("GL_ARB_texture_compression")
19133     fn_glCompressedTexImage2DARB glCompressedTexImage2DARB;
19134     alias fn_glCompressedTexImage3DARB = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data) @system @nogc nothrow;
19135     /// Ditto
19136     @OpenGL_Version(OGLIntroducedIn.Unknown)
19137     @OpenGL_Extension("GL_ARB_texture_compression")
19138     fn_glCompressedTexImage3DARB glCompressedTexImage3DARB;
19139     alias fn_glCompressedTexImage3DOES = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data) @system @nogc nothrow;
19140     /// Ditto
19141     @OpenGL_Version(OGLIntroducedIn.Unknown)
19142     @OpenGL_Extension("GL_OES_texture_3D")
19143     fn_glCompressedTexImage3DOES glCompressedTexImage3DOES;
19144     alias fn_glCompressedTexSubImage1DARB = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
19145     /// Ditto
19146     @OpenGL_Version(OGLIntroducedIn.Unknown)
19147     @OpenGL_Extension("GL_ARB_texture_compression")
19148     fn_glCompressedTexSubImage1DARB glCompressedTexSubImage1DARB;
19149     alias fn_glCompressedTexSubImage2DARB = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
19150     /// Ditto
19151     @OpenGL_Version(OGLIntroducedIn.Unknown)
19152     @OpenGL_Extension("GL_ARB_texture_compression")
19153     fn_glCompressedTexSubImage2DARB glCompressedTexSubImage2DARB;
19154     alias fn_glCompressedTexSubImage3DARB = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
19155     /// Ditto
19156     @OpenGL_Version(OGLIntroducedIn.Unknown)
19157     @OpenGL_Extension("GL_ARB_texture_compression")
19158     fn_glCompressedTexSubImage3DARB glCompressedTexSubImage3DARB;
19159     alias fn_glCompressedTexSubImage3DOES = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data) @system @nogc nothrow;
19160     /// Ditto
19161     @OpenGL_Version(OGLIntroducedIn.Unknown)
19162     @OpenGL_Extension("GL_OES_texture_3D")
19163     fn_glCompressedTexSubImage3DOES glCompressedTexSubImage3DOES;
19164     alias fn_glCompressedTextureImage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19165     /// Ditto
19166     @OpenGL_Version(OGLIntroducedIn.Unknown)
19167     @OpenGL_Extension("GL_EXT_direct_state_access")
19168     fn_glCompressedTextureImage1DEXT glCompressedTextureImage1DEXT;
19169     alias fn_glCompressedTextureImage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19170     /// Ditto
19171     @OpenGL_Version(OGLIntroducedIn.Unknown)
19172     @OpenGL_Extension("GL_EXT_direct_state_access")
19173     fn_glCompressedTextureImage2DEXT glCompressedTextureImage2DEXT;
19174     alias fn_glCompressedTextureImage3DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19175     /// Ditto
19176     @OpenGL_Version(OGLIntroducedIn.Unknown)
19177     @OpenGL_Extension("GL_EXT_direct_state_access")
19178     fn_glCompressedTextureImage3DEXT glCompressedTextureImage3DEXT;
19179     alias fn_glCompressedTextureSubImage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19180     /// Ditto
19181     @OpenGL_Version(OGLIntroducedIn.Unknown)
19182     @OpenGL_Extension("GL_EXT_direct_state_access")
19183     fn_glCompressedTextureSubImage1DEXT glCompressedTextureSubImage1DEXT;
19184     alias fn_glCompressedTextureSubImage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19185     /// Ditto
19186     @OpenGL_Version(OGLIntroducedIn.Unknown)
19187     @OpenGL_Extension("GL_EXT_direct_state_access")
19188     fn_glCompressedTextureSubImage2DEXT glCompressedTextureSubImage2DEXT;
19189     alias fn_glCompressedTextureSubImage3DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* bits) @system @nogc nothrow;
19190     /// Ditto
19191     @OpenGL_Version(OGLIntroducedIn.Unknown)
19192     @OpenGL_Extension("GL_EXT_direct_state_access")
19193     fn_glCompressedTextureSubImage3DEXT glCompressedTextureSubImage3DEXT;
19194     alias fn_glConservativeRasterParameterfNV = extern(C) void function(GLenum pname, GLfloat value) @system @nogc nothrow;
19195     /// Ditto
19196     @OpenGL_Version(OGLIntroducedIn.Unknown)
19197     @OpenGL_Extension("GL_NV_conservative_raster_dilate")
19198     fn_glConservativeRasterParameterfNV glConservativeRasterParameterfNV;
19199     alias fn_glConservativeRasterParameteriNV = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
19200     /// Ditto
19201     @OpenGL_Version(OGLIntroducedIn.Unknown)
19202     @OpenGL_Extension("GL_NV_conservative_raster_pre_snap_triangles")
19203     fn_glConservativeRasterParameteriNV glConservativeRasterParameteriNV;
19204     alias fn_glConvolutionFilter1D = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* image) @system @nogc nothrow;
19205     /// Ditto
19206     @OpenGL_Version(OGLIntroducedIn.Unknown)
19207     @OpenGL_Extension("GL_ARB_imaging")
19208     fn_glConvolutionFilter1D glConvolutionFilter1D;
19209     alias fn_glConvolutionFilter1DEXT = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* image) @system @nogc nothrow;
19210     /// Ditto
19211     @OpenGL_Version(OGLIntroducedIn.Unknown)
19212     @OpenGL_Extension("GL_EXT_convolution")
19213     fn_glConvolutionFilter1DEXT glConvolutionFilter1DEXT;
19214     alias fn_glConvolutionFilter2D = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* image) @system @nogc nothrow;
19215     /// Ditto
19216     @OpenGL_Version(OGLIntroducedIn.Unknown)
19217     @OpenGL_Extension("GL_ARB_imaging")
19218     fn_glConvolutionFilter2D glConvolutionFilter2D;
19219     alias fn_glConvolutionFilter2DEXT = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* image) @system @nogc nothrow;
19220     /// Ditto
19221     @OpenGL_Version(OGLIntroducedIn.Unknown)
19222     @OpenGL_Extension("GL_EXT_convolution")
19223     fn_glConvolutionFilter2DEXT glConvolutionFilter2DEXT;
19224     alias fn_glConvolutionParameterf = extern(C) void function(GLenum target, GLenum pname, GLfloat params) @system @nogc nothrow;
19225     /// Ditto
19226     @OpenGL_Version(OGLIntroducedIn.Unknown)
19227     @OpenGL_Extension("GL_ARB_imaging")
19228     fn_glConvolutionParameterf glConvolutionParameterf;
19229     alias fn_glConvolutionParameterfEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat params) @system @nogc nothrow;
19230     /// Ditto
19231     @OpenGL_Version(OGLIntroducedIn.Unknown)
19232     @OpenGL_Extension("GL_EXT_convolution")
19233     fn_glConvolutionParameterfEXT glConvolutionParameterfEXT;
19234     alias fn_glConvolutionParameterfv = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
19235     /// Ditto
19236     @OpenGL_Version(OGLIntroducedIn.Unknown)
19237     @OpenGL_Extension("GL_ARB_imaging")
19238     fn_glConvolutionParameterfv glConvolutionParameterfv;
19239     alias fn_glConvolutionParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
19240     /// Ditto
19241     @OpenGL_Version(OGLIntroducedIn.Unknown)
19242     @OpenGL_Extension("GL_EXT_convolution")
19243     fn_glConvolutionParameterfvEXT glConvolutionParameterfvEXT;
19244     alias fn_glConvolutionParameteri = extern(C) void function(GLenum target, GLenum pname, GLint params) @system @nogc nothrow;
19245     /// Ditto
19246     @OpenGL_Version(OGLIntroducedIn.Unknown)
19247     @OpenGL_Extension("GL_ARB_imaging")
19248     fn_glConvolutionParameteri glConvolutionParameteri;
19249     alias fn_glConvolutionParameteriEXT = extern(C) void function(GLenum target, GLenum pname, GLint params) @system @nogc nothrow;
19250     /// Ditto
19251     @OpenGL_Version(OGLIntroducedIn.Unknown)
19252     @OpenGL_Extension("GL_EXT_convolution")
19253     fn_glConvolutionParameteriEXT glConvolutionParameteriEXT;
19254     alias fn_glConvolutionParameteriv = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
19255     /// Ditto
19256     @OpenGL_Version(OGLIntroducedIn.Unknown)
19257     @OpenGL_Extension("GL_ARB_imaging")
19258     fn_glConvolutionParameteriv glConvolutionParameteriv;
19259     alias fn_glConvolutionParameterivEXT = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
19260     /// Ditto
19261     @OpenGL_Version(OGLIntroducedIn.Unknown)
19262     @OpenGL_Extension("GL_EXT_convolution")
19263     fn_glConvolutionParameterivEXT glConvolutionParameterivEXT;
19264     alias fn_glConvolutionParameterxOES = extern(C) void function(GLenum target, GLenum pname, GLfixed param) @system @nogc nothrow;
19265     /// Ditto
19266     @OpenGL_Version(OGLIntroducedIn.Unknown)
19267     @OpenGL_Extension("GL_OES_fixed_point")
19268     fn_glConvolutionParameterxOES glConvolutionParameterxOES;
19269     alias fn_glConvolutionParameterxvOES = extern(C) void function(GLenum target, GLenum pname, const GLfixed* params) @system @nogc nothrow;
19270     /// Ditto
19271     @OpenGL_Version(OGLIntroducedIn.Unknown)
19272     @OpenGL_Extension("GL_OES_fixed_point")
19273     fn_glConvolutionParameterxvOES glConvolutionParameterxvOES;
19274     alias fn_glCopyBufferSubDataNV = extern(C) void function(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) @system @nogc nothrow;
19275     /// Ditto
19276     @OpenGL_Version(OGLIntroducedIn.Unknown)
19277     @OpenGL_Extension("GL_NV_copy_buffer")
19278     fn_glCopyBufferSubDataNV glCopyBufferSubDataNV;
19279     alias fn_glCopyColorSubTable = extern(C) void function(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19280     /// Ditto
19281     @OpenGL_Version(OGLIntroducedIn.Unknown)
19282     @OpenGL_Extension("GL_ARB_imaging")
19283     fn_glCopyColorSubTable glCopyColorSubTable;
19284     alias fn_glCopyColorSubTableEXT = extern(C) void function(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19285     /// Ditto
19286     @OpenGL_Version(OGLIntroducedIn.Unknown)
19287     @OpenGL_Extension("GL_EXT_color_subtable")
19288     fn_glCopyColorSubTableEXT glCopyColorSubTableEXT;
19289     alias fn_glCopyColorTable = extern(C) void function(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19290     /// Ditto
19291     @OpenGL_Version(OGLIntroducedIn.Unknown)
19292     @OpenGL_Extension("GL_ARB_imaging")
19293     fn_glCopyColorTable glCopyColorTable;
19294     alias fn_glCopyColorTableSGI = extern(C) void function(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19295     /// Ditto
19296     @OpenGL_Version(OGLIntroducedIn.Unknown)
19297     @OpenGL_Extension("GL_SGI_color_table")
19298     fn_glCopyColorTableSGI glCopyColorTableSGI;
19299     alias fn_glCopyConvolutionFilter1D = extern(C) void function(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19300     /// Ditto
19301     @OpenGL_Version(OGLIntroducedIn.Unknown)
19302     @OpenGL_Extension("GL_ARB_imaging")
19303     fn_glCopyConvolutionFilter1D glCopyConvolutionFilter1D;
19304     alias fn_glCopyConvolutionFilter1DEXT = extern(C) void function(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19305     /// Ditto
19306     @OpenGL_Version(OGLIntroducedIn.Unknown)
19307     @OpenGL_Extension("GL_EXT_convolution")
19308     fn_glCopyConvolutionFilter1DEXT glCopyConvolutionFilter1DEXT;
19309     alias fn_glCopyConvolutionFilter2D = extern(C) void function(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19310     /// Ditto
19311     @OpenGL_Version(OGLIntroducedIn.Unknown)
19312     @OpenGL_Extension("GL_ARB_imaging")
19313     fn_glCopyConvolutionFilter2D glCopyConvolutionFilter2D;
19314     alias fn_glCopyConvolutionFilter2DEXT = extern(C) void function(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19315     /// Ditto
19316     @OpenGL_Version(OGLIntroducedIn.Unknown)
19317     @OpenGL_Extension("GL_EXT_convolution")
19318     fn_glCopyConvolutionFilter2DEXT glCopyConvolutionFilter2DEXT;
19319     alias fn_glCopyImageSubDataEXT = extern(C) void function(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) @system @nogc nothrow;
19320     /// Ditto
19321     @OpenGL_Version(OGLIntroducedIn.Unknown)
19322     @OpenGL_Extension("GL_EXT_copy_image")
19323     fn_glCopyImageSubDataEXT glCopyImageSubDataEXT;
19324     alias fn_glCopyImageSubDataNV = extern(C) void function(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth) @system @nogc nothrow;
19325     /// Ditto
19326     @OpenGL_Version(OGLIntroducedIn.Unknown)
19327     @OpenGL_Extension("GL_NV_copy_image")
19328     fn_glCopyImageSubDataNV glCopyImageSubDataNV;
19329     alias fn_glCopyImageSubDataOES = extern(C) void function(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) @system @nogc nothrow;
19330     /// Ditto
19331     @OpenGL_Version(OGLIntroducedIn.Unknown)
19332     @OpenGL_Extension("GL_OES_copy_image")
19333     fn_glCopyImageSubDataOES glCopyImageSubDataOES;
19334     alias fn_glCopyMultiTexImage1DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) @system @nogc nothrow;
19335     /// Ditto
19336     @OpenGL_Version(OGLIntroducedIn.Unknown)
19337     @OpenGL_Extension("GL_EXT_direct_state_access")
19338     fn_glCopyMultiTexImage1DEXT glCopyMultiTexImage1DEXT;
19339     alias fn_glCopyMultiTexImage2DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) @system @nogc nothrow;
19340     /// Ditto
19341     @OpenGL_Version(OGLIntroducedIn.Unknown)
19342     @OpenGL_Extension("GL_EXT_direct_state_access")
19343     fn_glCopyMultiTexImage2DEXT glCopyMultiTexImage2DEXT;
19344     alias fn_glCopyMultiTexSubImage1DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19345     /// Ditto
19346     @OpenGL_Version(OGLIntroducedIn.Unknown)
19347     @OpenGL_Extension("GL_EXT_direct_state_access")
19348     fn_glCopyMultiTexSubImage1DEXT glCopyMultiTexSubImage1DEXT;
19349     alias fn_glCopyMultiTexSubImage2DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19350     /// Ditto
19351     @OpenGL_Version(OGLIntroducedIn.Unknown)
19352     @OpenGL_Extension("GL_EXT_direct_state_access")
19353     fn_glCopyMultiTexSubImage2DEXT glCopyMultiTexSubImage2DEXT;
19354     alias fn_glCopyMultiTexSubImage3DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19355     /// Ditto
19356     @OpenGL_Version(OGLIntroducedIn.Unknown)
19357     @OpenGL_Extension("GL_EXT_direct_state_access")
19358     fn_glCopyMultiTexSubImage3DEXT glCopyMultiTexSubImage3DEXT;
19359     alias fn_glCopyPathNV = extern(C) void function(GLuint resultPath, GLuint srcPath) @system @nogc nothrow;
19360     /// Ditto
19361     @OpenGL_Version(OGLIntroducedIn.Unknown)
19362     @OpenGL_Extension("GL_NV_path_rendering")
19363     fn_glCopyPathNV glCopyPathNV;
19364     alias fn_glCopyPixels = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) @system @nogc nothrow;
19365     /// Ditto
19366     @OpenGL_Version(OGLIntroducedIn.V1P0)
19367     fn_glCopyPixels glCopyPixels;
19368     alias fn_glCopyTexImage1DEXT = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) @system @nogc nothrow;
19369     /// Ditto
19370     @OpenGL_Version(OGLIntroducedIn.Unknown)
19371     @OpenGL_Extension("GL_EXT_copy_texture")
19372     fn_glCopyTexImage1DEXT glCopyTexImage1DEXT;
19373     alias fn_glCopyTexImage2DEXT = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) @system @nogc nothrow;
19374     /// Ditto
19375     @OpenGL_Version(OGLIntroducedIn.Unknown)
19376     @OpenGL_Extension("GL_EXT_copy_texture")
19377     fn_glCopyTexImage2DEXT glCopyTexImage2DEXT;
19378     alias fn_glCopyTexSubImage1DEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19379     /// Ditto
19380     @OpenGL_Version(OGLIntroducedIn.Unknown)
19381     @OpenGL_Extension("GL_EXT_copy_texture")
19382     fn_glCopyTexSubImage1DEXT glCopyTexSubImage1DEXT;
19383     alias fn_glCopyTexSubImage2DEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19384     /// Ditto
19385     @OpenGL_Version(OGLIntroducedIn.Unknown)
19386     @OpenGL_Extension("GL_EXT_copy_texture")
19387     fn_glCopyTexSubImage2DEXT glCopyTexSubImage2DEXT;
19388     alias fn_glCopyTexSubImage3DEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19389     /// Ditto
19390     @OpenGL_Version(OGLIntroducedIn.Unknown)
19391     @OpenGL_Extension("GL_EXT_copy_texture")
19392     fn_glCopyTexSubImage3DEXT glCopyTexSubImage3DEXT;
19393     alias fn_glCopyTexSubImage3DOES = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19394     /// Ditto
19395     @OpenGL_Version(OGLIntroducedIn.Unknown)
19396     @OpenGL_Extension("GL_OES_texture_3D")
19397     fn_glCopyTexSubImage3DOES glCopyTexSubImage3DOES;
19398     alias fn_glCopyTextureImage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) @system @nogc nothrow;
19399     /// Ditto
19400     @OpenGL_Version(OGLIntroducedIn.Unknown)
19401     @OpenGL_Extension("GL_EXT_direct_state_access")
19402     fn_glCopyTextureImage1DEXT glCopyTextureImage1DEXT;
19403     alias fn_glCopyTextureImage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) @system @nogc nothrow;
19404     /// Ditto
19405     @OpenGL_Version(OGLIntroducedIn.Unknown)
19406     @OpenGL_Extension("GL_EXT_direct_state_access")
19407     fn_glCopyTextureImage2DEXT glCopyTextureImage2DEXT;
19408     alias fn_glCopyTextureLevelsAPPLE = extern(C) void function(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount) @system @nogc nothrow;
19409     /// Ditto
19410     @OpenGL_Version(OGLIntroducedIn.Unknown)
19411     @OpenGL_Extension("GL_APPLE_copy_texture_levels")
19412     fn_glCopyTextureLevelsAPPLE glCopyTextureLevelsAPPLE;
19413     alias fn_glCopyTextureSubImage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) @system @nogc nothrow;
19414     /// Ditto
19415     @OpenGL_Version(OGLIntroducedIn.Unknown)
19416     @OpenGL_Extension("GL_EXT_direct_state_access")
19417     fn_glCopyTextureSubImage1DEXT glCopyTextureSubImage1DEXT;
19418     alias fn_glCopyTextureSubImage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19419     /// Ditto
19420     @OpenGL_Version(OGLIntroducedIn.Unknown)
19421     @OpenGL_Extension("GL_EXT_direct_state_access")
19422     fn_glCopyTextureSubImage2DEXT glCopyTextureSubImage2DEXT;
19423     alias fn_glCopyTextureSubImage3DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) @system @nogc nothrow;
19424     /// Ditto
19425     @OpenGL_Version(OGLIntroducedIn.Unknown)
19426     @OpenGL_Extension("GL_EXT_direct_state_access")
19427     fn_glCopyTextureSubImage3DEXT glCopyTextureSubImage3DEXT;
19428     alias fn_glCoverFillPathInstancedNV = extern(C) void function(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
19429     /// Ditto
19430     @OpenGL_Version(OGLIntroducedIn.Unknown)
19431     @OpenGL_Extension("GL_NV_path_rendering")
19432     fn_glCoverFillPathInstancedNV glCoverFillPathInstancedNV;
19433     alias fn_glCoverFillPathNV = extern(C) void function(GLuint path, GLenum coverMode) @system @nogc nothrow;
19434     /// Ditto
19435     @OpenGL_Version(OGLIntroducedIn.Unknown)
19436     @OpenGL_Extension("GL_NV_path_rendering")
19437     fn_glCoverFillPathNV glCoverFillPathNV;
19438     alias fn_glCoverStrokePathInstancedNV = extern(C) void function(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
19439     /// Ditto
19440     @OpenGL_Version(OGLIntroducedIn.Unknown)
19441     @OpenGL_Extension("GL_NV_path_rendering")
19442     fn_glCoverStrokePathInstancedNV glCoverStrokePathInstancedNV;
19443     alias fn_glCoverStrokePathNV = extern(C) void function(GLuint path, GLenum coverMode) @system @nogc nothrow;
19444     /// Ditto
19445     @OpenGL_Version(OGLIntroducedIn.Unknown)
19446     @OpenGL_Extension("GL_NV_path_rendering")
19447     fn_glCoverStrokePathNV glCoverStrokePathNV;
19448     alias fn_glCoverageMaskNV = extern(C) void function(GLboolean mask) @system @nogc nothrow;
19449     /// Ditto
19450     @OpenGL_Version(OGLIntroducedIn.Unknown)
19451     @OpenGL_Extension("GL_NV_coverage_sample")
19452     fn_glCoverageMaskNV glCoverageMaskNV;
19453     alias fn_glCoverageModulationNV = extern(C) void function(GLenum components) @system @nogc nothrow;
19454     /// Ditto
19455     @OpenGL_Version(OGLIntroducedIn.Unknown)
19456     @OpenGL_Extension("GL_NV_framebuffer_mixed_samples")
19457     fn_glCoverageModulationNV glCoverageModulationNV;
19458     alias fn_glCoverageModulationTableNV = extern(C) void function(GLsizei n, const GLfloat* v) @system @nogc nothrow;
19459     /// Ditto
19460     @OpenGL_Version(OGLIntroducedIn.Unknown)
19461     @OpenGL_Extension("GL_NV_framebuffer_mixed_samples")
19462     fn_glCoverageModulationTableNV glCoverageModulationTableNV;
19463     alias fn_glCoverageOperationNV = extern(C) void function(GLenum operation) @system @nogc nothrow;
19464     /// Ditto
19465     @OpenGL_Version(OGLIntroducedIn.Unknown)
19466     @OpenGL_Extension("GL_NV_coverage_sample")
19467     fn_glCoverageOperationNV glCoverageOperationNV;
19468     alias fn_glCreateCommandListsNV = extern(C) void function(GLsizei n, GLuint* lists) @system @nogc nothrow;
19469     /// Ditto
19470     @OpenGL_Version(OGLIntroducedIn.Unknown)
19471     @OpenGL_Extension("GL_NV_command_list")
19472     fn_glCreateCommandListsNV glCreateCommandListsNV;
19473     alias fn_glCreatePerfQueryINTEL = extern(C) void function(GLuint queryId, GLuint* queryHandle) @system @nogc nothrow;
19474     /// Ditto
19475     @OpenGL_Version(OGLIntroducedIn.Unknown)
19476     @OpenGL_Extension("GL_INTEL_performance_query")
19477     fn_glCreatePerfQueryINTEL glCreatePerfQueryINTEL;
19478     alias fn_glCreateProgramObjectARB = extern(C) GLhandleARB function() @system @nogc nothrow;
19479     /// Ditto
19480     @OpenGL_Version(OGLIntroducedIn.Unknown)
19481     @OpenGL_Extension("GL_ARB_shader_objects")
19482     fn_glCreateProgramObjectARB glCreateProgramObjectARB;
19483     alias fn_glCreateShaderObjectARB = extern(C) GLhandleARB function(GLenum shaderType) @system @nogc nothrow;
19484     /// Ditto
19485     @OpenGL_Version(OGLIntroducedIn.Unknown)
19486     @OpenGL_Extension("GL_ARB_shader_objects")
19487     fn_glCreateShaderObjectARB glCreateShaderObjectARB;
19488     alias fn_glCreateShaderProgramEXT = extern(C) GLuint function(GLenum type, const GLchar* string) @system @nogc nothrow;
19489     /// Ditto
19490     @OpenGL_Version(OGLIntroducedIn.Unknown)
19491     @OpenGL_Extension("GL_EXT_separate_shader_objects")
19492     fn_glCreateShaderProgramEXT glCreateShaderProgramEXT;
19493     alias fn_glCreateShaderProgramvEXT = extern(C) GLuint function(GLenum type, GLsizei count, const GLchar** strings) @system @nogc nothrow;
19494     /// Ditto
19495     @OpenGL_Version(OGLIntroducedIn.Unknown)
19496     @OpenGL_Extension("GL_EXT_separate_shader_objects")
19497     fn_glCreateShaderProgramvEXT glCreateShaderProgramvEXT;
19498     alias fn_glCreateStatesNV = extern(C) void function(GLsizei n, GLuint* states) @system @nogc nothrow;
19499     /// Ditto
19500     @OpenGL_Version(OGLIntroducedIn.Unknown)
19501     @OpenGL_Extension("GL_NV_command_list")
19502     fn_glCreateStatesNV glCreateStatesNV;
19503     alias fn_glCreateSyncFromCLeventARB = extern(C) GLsync function(_cl_context* context, _cl_event* event, GLbitfield flags) @system @nogc nothrow;
19504     /// Ditto
19505     @OpenGL_Version(OGLIntroducedIn.Unknown)
19506     @OpenGL_Extension("GL_ARB_cl_event")
19507     fn_glCreateSyncFromCLeventARB glCreateSyncFromCLeventARB;
19508     alias fn_glCullParameterdvEXT = extern(C) void function(GLenum pname, GLdouble* params) @system @nogc nothrow;
19509     /// Ditto
19510     @OpenGL_Version(OGLIntroducedIn.Unknown)
19511     @OpenGL_Extension("GL_EXT_cull_vertex")
19512     fn_glCullParameterdvEXT glCullParameterdvEXT;
19513     alias fn_glCullParameterfvEXT = extern(C) void function(GLenum pname, GLfloat* params) @system @nogc nothrow;
19514     /// Ditto
19515     @OpenGL_Version(OGLIntroducedIn.Unknown)
19516     @OpenGL_Extension("GL_EXT_cull_vertex")
19517     fn_glCullParameterfvEXT glCullParameterfvEXT;
19518     alias fn_glCurrentPaletteMatrixARB = extern(C) void function(GLint index) @system @nogc nothrow;
19519     /// Ditto
19520     @OpenGL_Version(OGLIntroducedIn.Unknown)
19521     @OpenGL_Extension("GL_ARB_matrix_palette")
19522     fn_glCurrentPaletteMatrixARB glCurrentPaletteMatrixARB;
19523     alias fn_glCurrentPaletteMatrixOES = extern(C) void function(GLuint matrixpaletteindex) @system @nogc nothrow;
19524     /// Ditto
19525     @OpenGL_Version(OGLIntroducedIn.Unknown)
19526     @OpenGL_Extension("GL_OES_matrix_palette")
19527     fn_glCurrentPaletteMatrixOES glCurrentPaletteMatrixOES;
19528     alias fn_glDebugMessageCallbackAMD = extern(C) void function(GLDEBUGPROCAMD callback, void* userParam) @system @nogc nothrow;
19529     /// Ditto
19530     @OpenGL_Version(OGLIntroducedIn.Unknown)
19531     @OpenGL_Extension("GL_AMD_debug_output")
19532     fn_glDebugMessageCallbackAMD glDebugMessageCallbackAMD;
19533     alias fn_glDebugMessageCallbackARB = extern(C) void function(GLDEBUGPROCARB callback, const void* userParam) @system @nogc nothrow;
19534     /// Ditto
19535     @OpenGL_Version(OGLIntroducedIn.Unknown)
19536     @OpenGL_Extension("GL_ARB_debug_output")
19537     fn_glDebugMessageCallbackARB glDebugMessageCallbackARB;
19538     alias fn_glDebugMessageCallbackKHR = extern(C) void function(GLDEBUGPROCKHR callback, const void* userParam) @system @nogc nothrow;
19539     /// Ditto
19540     @OpenGL_Version(OGLIntroducedIn.Unknown)
19541     @OpenGL_Extension("GL_KHR_debug")
19542     fn_glDebugMessageCallbackKHR glDebugMessageCallbackKHR;
19543     alias fn_glDebugMessageControlARB = extern(C) void function(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) @system @nogc nothrow;
19544     /// Ditto
19545     @OpenGL_Version(OGLIntroducedIn.Unknown)
19546     @OpenGL_Extension("GL_ARB_debug_output")
19547     fn_glDebugMessageControlARB glDebugMessageControlARB;
19548     alias fn_glDebugMessageControlKHR = extern(C) void function(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) @system @nogc nothrow;
19549     /// Ditto
19550     @OpenGL_Version(OGLIntroducedIn.Unknown)
19551     @OpenGL_Extension("GL_KHR_debug")
19552     fn_glDebugMessageControlKHR glDebugMessageControlKHR;
19553     alias fn_glDebugMessageEnableAMD = extern(C) void function(GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled) @system @nogc nothrow;
19554     /// Ditto
19555     @OpenGL_Version(OGLIntroducedIn.Unknown)
19556     @OpenGL_Extension("GL_AMD_debug_output")
19557     fn_glDebugMessageEnableAMD glDebugMessageEnableAMD;
19558     alias fn_glDebugMessageInsertAMD = extern(C) void function(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf) @system @nogc nothrow;
19559     /// Ditto
19560     @OpenGL_Version(OGLIntroducedIn.Unknown)
19561     @OpenGL_Extension("GL_AMD_debug_output")
19562     fn_glDebugMessageInsertAMD glDebugMessageInsertAMD;
19563     alias fn_glDebugMessageInsertARB = extern(C) void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf) @system @nogc nothrow;
19564     /// Ditto
19565     @OpenGL_Version(OGLIntroducedIn.Unknown)
19566     @OpenGL_Extension("GL_ARB_debug_output")
19567     fn_glDebugMessageInsertARB glDebugMessageInsertARB;
19568     alias fn_glDebugMessageInsertKHR = extern(C) void function(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf) @system @nogc nothrow;
19569     /// Ditto
19570     @OpenGL_Version(OGLIntroducedIn.Unknown)
19571     @OpenGL_Extension("GL_KHR_debug")
19572     fn_glDebugMessageInsertKHR glDebugMessageInsertKHR;
19573     alias fn_glDeformSGIX = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
19574     /// Ditto
19575     @OpenGL_Version(OGLIntroducedIn.Unknown)
19576     @OpenGL_Extension("GL_SGIX_polynomial_ffd")
19577     fn_glDeformSGIX glDeformSGIX;
19578     alias fn_glDeformationMap3dSGIX = extern(C) void function(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble* points) @system @nogc nothrow;
19579     /// Ditto
19580     @OpenGL_Version(OGLIntroducedIn.Unknown)
19581     @OpenGL_Extension("GL_SGIX_polynomial_ffd")
19582     fn_glDeformationMap3dSGIX glDeformationMap3dSGIX;
19583     alias fn_glDeformationMap3fSGIX = extern(C) void function(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat* points) @system @nogc nothrow;
19584     /// Ditto
19585     @OpenGL_Version(OGLIntroducedIn.Unknown)
19586     @OpenGL_Extension("GL_SGIX_polynomial_ffd")
19587     fn_glDeformationMap3fSGIX glDeformationMap3fSGIX;
19588     alias fn_glDeleteAsyncMarkersSGIX = extern(C) void function(GLuint marker, GLsizei range) @system @nogc nothrow;
19589     /// Ditto
19590     @OpenGL_Version(OGLIntroducedIn.Unknown)
19591     @OpenGL_Extension("GL_SGIX_async")
19592     fn_glDeleteAsyncMarkersSGIX glDeleteAsyncMarkersSGIX;
19593     alias fn_glDeleteBuffersARB = extern(C) void function(GLsizei n, const GLuint* buffers) @system @nogc nothrow;
19594     /// Ditto
19595     @OpenGL_Version(OGLIntroducedIn.Unknown)
19596     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
19597     fn_glDeleteBuffersARB glDeleteBuffersARB;
19598     alias fn_glDeleteCommandListsNV = extern(C) void function(GLsizei n, const GLuint* lists) @system @nogc nothrow;
19599     /// Ditto
19600     @OpenGL_Version(OGLIntroducedIn.Unknown)
19601     @OpenGL_Extension("GL_NV_command_list")
19602     fn_glDeleteCommandListsNV glDeleteCommandListsNV;
19603     alias fn_glDeleteFencesAPPLE = extern(C) void function(GLsizei n, const GLuint* fences) @system @nogc nothrow;
19604     /// Ditto
19605     @OpenGL_Version(OGLIntroducedIn.Unknown)
19606     @OpenGL_Extension("GL_APPLE_fence")
19607     fn_glDeleteFencesAPPLE glDeleteFencesAPPLE;
19608     alias fn_glDeleteFencesNV = extern(C) void function(GLsizei n, const GLuint* fences) @system @nogc nothrow;
19609     /// Ditto
19610     @OpenGL_Version(OGLIntroducedIn.Unknown)
19611     @OpenGL_Extension("GL_NV_fence")
19612     fn_glDeleteFencesNV glDeleteFencesNV;
19613     alias fn_glDeleteFragmentShaderATI = extern(C) void function(GLuint id) @system @nogc nothrow;
19614     /// Ditto
19615     @OpenGL_Version(OGLIntroducedIn.Unknown)
19616     @OpenGL_Extension("GL_ATI_fragment_shader")
19617     fn_glDeleteFragmentShaderATI glDeleteFragmentShaderATI;
19618     alias fn_glDeleteFramebuffersEXT = extern(C) void function(GLsizei n, const GLuint* framebuffers) @system @nogc nothrow;
19619     /// Ditto
19620     @OpenGL_Version(OGLIntroducedIn.Unknown)
19621     @OpenGL_Extension("GL_EXT_framebuffer_object")
19622     fn_glDeleteFramebuffersEXT glDeleteFramebuffersEXT;
19623     alias fn_glDeleteFramebuffersOES = extern(C) void function(GLsizei n, const GLuint* framebuffers) @system @nogc nothrow;
19624     /// Ditto
19625     @OpenGL_Version(OGLIntroducedIn.Unknown)
19626     @OpenGL_Extension("GL_OES_framebuffer_object")
19627     fn_glDeleteFramebuffersOES glDeleteFramebuffersOES;
19628     alias fn_glDeleteLists = extern(C) void function(GLuint list, GLsizei range) @system @nogc nothrow;
19629     /// Ditto
19630     @OpenGL_Version(OGLIntroducedIn.V1P0)
19631     fn_glDeleteLists glDeleteLists;
19632     alias fn_glDeleteNamedStringARB = extern(C) void function(GLint namelen, const GLchar* name) @system @nogc nothrow;
19633     /// Ditto
19634     @OpenGL_Version(OGLIntroducedIn.Unknown)
19635     @OpenGL_Extension("GL_ARB_shading_language_include")
19636     fn_glDeleteNamedStringARB glDeleteNamedStringARB;
19637     alias fn_glDeleteNamesAMD = extern(C) void function(GLenum identifier, GLuint num, const GLuint* names) @system @nogc nothrow;
19638     /// Ditto
19639     @OpenGL_Version(OGLIntroducedIn.Unknown)
19640     @OpenGL_Extension("GL_AMD_name_gen_delete")
19641     fn_glDeleteNamesAMD glDeleteNamesAMD;
19642     alias fn_glDeleteObjectARB = extern(C) void function(GLhandleARB obj) @system @nogc nothrow;
19643     /// Ditto
19644     @OpenGL_Version(OGLIntroducedIn.Unknown)
19645     @OpenGL_Extension("GL_ARB_shader_objects")
19646     fn_glDeleteObjectARB glDeleteObjectARB;
19647     alias fn_glDeleteOcclusionQueriesNV = extern(C) void function(GLsizei n, const GLuint* ids) @system @nogc nothrow;
19648     /// Ditto
19649     @OpenGL_Version(OGLIntroducedIn.Unknown)
19650     @OpenGL_Extension("GL_NV_occlusion_query")
19651     fn_glDeleteOcclusionQueriesNV glDeleteOcclusionQueriesNV;
19652     alias fn_glDeletePathsNV = extern(C) void function(GLuint path, GLsizei range) @system @nogc nothrow;
19653     /// Ditto
19654     @OpenGL_Version(OGLIntroducedIn.Unknown)
19655     @OpenGL_Extension("GL_NV_path_rendering")
19656     fn_glDeletePathsNV glDeletePathsNV;
19657     alias fn_glDeletePerfMonitorsAMD = extern(C) void function(GLsizei n, GLuint* monitors) @system @nogc nothrow;
19658     /// Ditto
19659     @OpenGL_Version(OGLIntroducedIn.Unknown)
19660     @OpenGL_Extension("GL_AMD_performance_monitor")
19661     fn_glDeletePerfMonitorsAMD glDeletePerfMonitorsAMD;
19662     alias fn_glDeletePerfQueryINTEL = extern(C) void function(GLuint queryHandle) @system @nogc nothrow;
19663     /// Ditto
19664     @OpenGL_Version(OGLIntroducedIn.Unknown)
19665     @OpenGL_Extension("GL_INTEL_performance_query")
19666     fn_glDeletePerfQueryINTEL glDeletePerfQueryINTEL;
19667     alias fn_glDeleteProgramPipelinesEXT = extern(C) void function(GLsizei n, const GLuint* pipelines) @system @nogc nothrow;
19668     /// Ditto
19669     @OpenGL_Version(OGLIntroducedIn.Unknown)
19670     @OpenGL_Extension("GL_EXT_separate_shader_objects")
19671     fn_glDeleteProgramPipelinesEXT glDeleteProgramPipelinesEXT;
19672     alias fn_glDeleteProgramsARB = extern(C) void function(GLsizei n, const GLuint* programs) @system @nogc nothrow;
19673     /// Ditto
19674     @OpenGL_Version(OGLIntroducedIn.Unknown)
19675     @OpenGL_Extension("GL_ARB_fragment_program")
19676     fn_glDeleteProgramsARB glDeleteProgramsARB;
19677     alias fn_glDeleteProgramsNV = extern(C) void function(GLsizei n, const GLuint* programs) @system @nogc nothrow;
19678     /// Ditto
19679     @OpenGL_Version(OGLIntroducedIn.Unknown)
19680     @OpenGL_Extension("GL_NV_vertex_program")
19681     fn_glDeleteProgramsNV glDeleteProgramsNV;
19682     alias fn_glDeleteQueriesARB = extern(C) void function(GLsizei n, const GLuint* ids) @system @nogc nothrow;
19683     /// Ditto
19684     @OpenGL_Version(OGLIntroducedIn.Unknown)
19685     @OpenGL_Extension("GL_ARB_occlusion_query")
19686     fn_glDeleteQueriesARB glDeleteQueriesARB;
19687     alias fn_glDeleteQueriesEXT = extern(C) void function(GLsizei n, const GLuint* ids) @system @nogc nothrow;
19688     /// Ditto
19689     @OpenGL_Version(OGLIntroducedIn.Unknown)
19690     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
19691     fn_glDeleteQueriesEXT glDeleteQueriesEXT;
19692     alias fn_glDeleteRenderbuffersEXT = extern(C) void function(GLsizei n, const GLuint* renderbuffers) @system @nogc nothrow;
19693     /// Ditto
19694     @OpenGL_Version(OGLIntroducedIn.Unknown)
19695     @OpenGL_Extension("GL_EXT_framebuffer_object")
19696     fn_glDeleteRenderbuffersEXT glDeleteRenderbuffersEXT;
19697     alias fn_glDeleteRenderbuffersOES = extern(C) void function(GLsizei n, const GLuint* renderbuffers) @system @nogc nothrow;
19698     /// Ditto
19699     @OpenGL_Version(OGLIntroducedIn.Unknown)
19700     @OpenGL_Extension("GL_OES_framebuffer_object")
19701     fn_glDeleteRenderbuffersOES glDeleteRenderbuffersOES;
19702     alias fn_glDeleteStatesNV = extern(C) void function(GLsizei n, const GLuint* states) @system @nogc nothrow;
19703     /// Ditto
19704     @OpenGL_Version(OGLIntroducedIn.Unknown)
19705     @OpenGL_Extension("GL_NV_command_list")
19706     fn_glDeleteStatesNV glDeleteStatesNV;
19707     alias fn_glDeleteSyncAPPLE = extern(C) void function(GLsync sync) @system @nogc nothrow;
19708     /// Ditto
19709     @OpenGL_Version(OGLIntroducedIn.Unknown)
19710     @OpenGL_Extension("GL_APPLE_sync")
19711     fn_glDeleteSyncAPPLE glDeleteSyncAPPLE;
19712     alias fn_glDeleteTexturesEXT = extern(C) void function(GLsizei n, const GLuint* textures) @system @nogc nothrow;
19713     /// Ditto
19714     @OpenGL_Version(OGLIntroducedIn.Unknown)
19715     @OpenGL_Extension("GL_EXT_texture_object")
19716     fn_glDeleteTexturesEXT glDeleteTexturesEXT;
19717     alias fn_glDeleteTransformFeedbacksNV = extern(C) void function(GLsizei n, const GLuint* ids) @system @nogc nothrow;
19718     /// Ditto
19719     @OpenGL_Version(OGLIntroducedIn.Unknown)
19720     @OpenGL_Extension("GL_NV_transform_feedback2")
19721     fn_glDeleteTransformFeedbacksNV glDeleteTransformFeedbacksNV;
19722     alias fn_glDeleteVertexArraysAPPLE = extern(C) void function(GLsizei n, const GLuint* arrays) @system @nogc nothrow;
19723     /// Ditto
19724     @OpenGL_Version(OGLIntroducedIn.Unknown)
19725     @OpenGL_Extension("GL_APPLE_vertex_array_object")
19726     fn_glDeleteVertexArraysAPPLE glDeleteVertexArraysAPPLE;
19727     alias fn_glDeleteVertexArraysOES = extern(C) void function(GLsizei n, const GLuint* arrays) @system @nogc nothrow;
19728     /// Ditto
19729     @OpenGL_Version(OGLIntroducedIn.Unknown)
19730     @OpenGL_Extension("GL_OES_vertex_array_object")
19731     fn_glDeleteVertexArraysOES glDeleteVertexArraysOES;
19732     alias fn_glDeleteVertexShaderEXT = extern(C) void function(GLuint id) @system @nogc nothrow;
19733     /// Ditto
19734     @OpenGL_Version(OGLIntroducedIn.Unknown)
19735     @OpenGL_Extension("GL_EXT_vertex_shader")
19736     fn_glDeleteVertexShaderEXT glDeleteVertexShaderEXT;
19737     alias fn_glDepthBoundsEXT = extern(C) void function(GLclampd zmin, GLclampd zmax) @system @nogc nothrow;
19738     /// Ditto
19739     @OpenGL_Version(OGLIntroducedIn.Unknown)
19740     @OpenGL_Extension("GL_EXT_depth_bounds_test")
19741     fn_glDepthBoundsEXT glDepthBoundsEXT;
19742     alias fn_glDepthBoundsdNV = extern(C) void function(GLdouble zmin, GLdouble zmax) @system @nogc nothrow;
19743     /// Ditto
19744     @OpenGL_Version(OGLIntroducedIn.Unknown)
19745     @OpenGL_Extension("GL_NV_depth_buffer_float")
19746     fn_glDepthBoundsdNV glDepthBoundsdNV;
19747     alias fn_glDepthRangeArrayfvNV = extern(C) void function(GLuint first, GLsizei count, const GLfloat* v) @system @nogc nothrow;
19748     /// Ditto
19749     @OpenGL_Version(OGLIntroducedIn.Unknown)
19750     @OpenGL_Extension("GL_NV_viewport_array")
19751     fn_glDepthRangeArrayfvNV glDepthRangeArrayfvNV;
19752     alias fn_glDepthRangeArrayfvOES = extern(C) void function(GLuint first, GLsizei count, const GLfloat* v) @system @nogc nothrow;
19753     /// Ditto
19754     @OpenGL_Version(OGLIntroducedIn.Unknown)
19755     @OpenGL_Extension("GL_OES_viewport_array")
19756     fn_glDepthRangeArrayfvOES glDepthRangeArrayfvOES;
19757     alias fn_glDepthRangeIndexedfNV = extern(C) void function(GLuint index, GLfloat n, GLfloat f) @system @nogc nothrow;
19758     /// Ditto
19759     @OpenGL_Version(OGLIntroducedIn.Unknown)
19760     @OpenGL_Extension("GL_NV_viewport_array")
19761     fn_glDepthRangeIndexedfNV glDepthRangeIndexedfNV;
19762     alias fn_glDepthRangeIndexedfOES = extern(C) void function(GLuint index, GLfloat n, GLfloat f) @system @nogc nothrow;
19763     /// Ditto
19764     @OpenGL_Version(OGLIntroducedIn.Unknown)
19765     @OpenGL_Extension("GL_OES_viewport_array")
19766     fn_glDepthRangeIndexedfOES glDepthRangeIndexedfOES;
19767     alias fn_glDepthRangedNV = extern(C) void function(GLdouble zNear, GLdouble zFar) @system @nogc nothrow;
19768     /// Ditto
19769     @OpenGL_Version(OGLIntroducedIn.Unknown)
19770     @OpenGL_Extension("GL_NV_depth_buffer_float")
19771     fn_glDepthRangedNV glDepthRangedNV;
19772     alias fn_glDepthRangefOES = extern(C) void function(GLclampf n, GLclampf f) @system @nogc nothrow;
19773     /// Ditto
19774     @OpenGL_Version(OGLIntroducedIn.Unknown)
19775     @OpenGL_Extension("GL_OES_single_precision")
19776     fn_glDepthRangefOES glDepthRangefOES;
19777     alias fn_glDepthRangex = extern(C) void function(GLfixed n, GLfixed f) @system @nogc nothrow;
19778     /// Ditto
19779     @OpenGL_Version(OGLIntroducedIn.Unknown)
19780     fn_glDepthRangex glDepthRangex;
19781     alias fn_glDepthRangexOES = extern(C) void function(GLfixed n, GLfixed f) @system @nogc nothrow;
19782     /// Ditto
19783     @OpenGL_Version(OGLIntroducedIn.Unknown)
19784     @OpenGL_Extension("GL_OES_fixed_point")
19785     fn_glDepthRangexOES glDepthRangexOES;
19786     alias fn_glDetachObjectARB = extern(C) void function(GLhandleARB containerObj, GLhandleARB attachedObj) @system @nogc nothrow;
19787     /// Ditto
19788     @OpenGL_Version(OGLIntroducedIn.Unknown)
19789     @OpenGL_Extension("GL_ARB_shader_objects")
19790     fn_glDetachObjectARB glDetachObjectARB;
19791     alias fn_glDetailTexFuncSGIS = extern(C) void function(GLenum target, GLsizei n, const GLfloat* points) @system @nogc nothrow;
19792     /// Ditto
19793     @OpenGL_Version(OGLIntroducedIn.Unknown)
19794     @OpenGL_Extension("GL_SGIS_detail_texture")
19795     fn_glDetailTexFuncSGIS glDetailTexFuncSGIS;
19796     alias fn_glDisable = extern(C) void function(GLenum cap) @system @nogc nothrow;
19797     /// Ditto
19798     @OpenGL_Version(OGLIntroducedIn.V1P0)
19799     fn_glDisable glDisable;
19800     alias fn_glDisableClientState = extern(C) void function(GLenum array) @system @nogc nothrow;
19801     /// Ditto
19802     @OpenGL_Version(OGLIntroducedIn.V1P1)
19803     fn_glDisableClientState glDisableClientState;
19804     alias fn_glDisableClientStateIndexedEXT = extern(C) void function(GLenum array, GLuint index) @system @nogc nothrow;
19805     /// Ditto
19806     @OpenGL_Version(OGLIntroducedIn.Unknown)
19807     @OpenGL_Extension("GL_EXT_direct_state_access")
19808     fn_glDisableClientStateIndexedEXT glDisableClientStateIndexedEXT;
19809     alias fn_glDisableClientStateiEXT = extern(C) void function(GLenum array, GLuint index) @system @nogc nothrow;
19810     /// Ditto
19811     @OpenGL_Version(OGLIntroducedIn.Unknown)
19812     @OpenGL_Extension("GL_EXT_direct_state_access")
19813     fn_glDisableClientStateiEXT glDisableClientStateiEXT;
19814     alias fn_glDisableDriverControlQCOM = extern(C) void function(GLuint driverControl) @system @nogc nothrow;
19815     /// Ditto
19816     @OpenGL_Version(OGLIntroducedIn.Unknown)
19817     @OpenGL_Extension("GL_QCOM_driver_control")
19818     fn_glDisableDriverControlQCOM glDisableDriverControlQCOM;
19819     alias fn_glDisableIndexedEXT = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
19820     /// Ditto
19821     @OpenGL_Version(OGLIntroducedIn.Unknown)
19822     @OpenGL_Extension("GL_EXT_direct_state_access")
19823     fn_glDisableIndexedEXT glDisableIndexedEXT;
19824     alias fn_glDisableVariantClientStateEXT = extern(C) void function(GLuint id) @system @nogc nothrow;
19825     /// Ditto
19826     @OpenGL_Version(OGLIntroducedIn.Unknown)
19827     @OpenGL_Extension("GL_EXT_vertex_shader")
19828     fn_glDisableVariantClientStateEXT glDisableVariantClientStateEXT;
19829     alias fn_glDisableVertexArrayAttribEXT = extern(C) void function(GLuint vaobj, GLuint index) @system @nogc nothrow;
19830     /// Ditto
19831     @OpenGL_Version(OGLIntroducedIn.Unknown)
19832     @OpenGL_Extension("GL_EXT_direct_state_access")
19833     fn_glDisableVertexArrayAttribEXT glDisableVertexArrayAttribEXT;
19834     alias fn_glDisableVertexArrayEXT = extern(C) void function(GLuint vaobj, GLenum array) @system @nogc nothrow;
19835     /// Ditto
19836     @OpenGL_Version(OGLIntroducedIn.Unknown)
19837     @OpenGL_Extension("GL_EXT_direct_state_access")
19838     fn_glDisableVertexArrayEXT glDisableVertexArrayEXT;
19839     alias fn_glDisableVertexAttribAPPLE = extern(C) void function(GLuint index, GLenum pname) @system @nogc nothrow;
19840     /// Ditto
19841     @OpenGL_Version(OGLIntroducedIn.Unknown)
19842     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
19843     fn_glDisableVertexAttribAPPLE glDisableVertexAttribAPPLE;
19844     alias fn_glDisableVertexAttribArrayARB = extern(C) void function(GLuint index) @system @nogc nothrow;
19845     /// Ditto
19846     @OpenGL_Version(OGLIntroducedIn.Unknown)
19847     @OpenGL_Extension("GL_ARB_vertex_program")
19848     fn_glDisableVertexAttribArrayARB glDisableVertexAttribArrayARB;
19849     alias fn_glDisablei = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
19850     /// Ditto
19851     @OpenGL_Version(OGLIntroducedIn.V3P0)
19852     fn_glDisablei glDisablei;
19853     alias fn_glDisableiEXT = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
19854     /// Ditto
19855     @OpenGL_Version(OGLIntroducedIn.Unknown)
19856     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
19857     fn_glDisableiEXT glDisableiEXT;
19858     alias fn_glDisableiNV = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
19859     /// Ditto
19860     @OpenGL_Version(OGLIntroducedIn.Unknown)
19861     @OpenGL_Extension("GL_NV_viewport_array")
19862     fn_glDisableiNV glDisableiNV;
19863     alias fn_glDisableiOES = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
19864     /// Ditto
19865     @OpenGL_Version(OGLIntroducedIn.Unknown)
19866     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
19867     fn_glDisableiOES glDisableiOES;
19868     alias fn_glDiscardFramebufferEXT = extern(C) void function(GLenum target, GLsizei numAttachments, const GLenum* attachments) @system @nogc nothrow;
19869     /// Ditto
19870     @OpenGL_Version(OGLIntroducedIn.Unknown)
19871     @OpenGL_Extension("GL_EXT_discard_framebuffer")
19872     fn_glDiscardFramebufferEXT glDiscardFramebufferEXT;
19873     alias fn_glDispatchComputeGroupSizeARB = extern(C) void function(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z) @system @nogc nothrow;
19874     /// Ditto
19875     @OpenGL_Version(OGLIntroducedIn.Unknown)
19876     @OpenGL_Extension("GL_ARB_compute_variable_group_size")
19877     fn_glDispatchComputeGroupSizeARB glDispatchComputeGroupSizeARB;
19878     alias fn_glDrawArraysEXT = extern(C) void function(GLenum mode, GLint first, GLsizei count) @system @nogc nothrow;
19879     /// Ditto
19880     @OpenGL_Version(OGLIntroducedIn.Unknown)
19881     @OpenGL_Extension("GL_EXT_vertex_array")
19882     fn_glDrawArraysEXT glDrawArraysEXT;
19883     alias fn_glDrawArraysInstancedANGLE = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei primcount) @system @nogc nothrow;
19884     /// Ditto
19885     @OpenGL_Version(OGLIntroducedIn.Unknown)
19886     @OpenGL_Extension("GL_ANGLE_instanced_arrays")
19887     fn_glDrawArraysInstancedANGLE glDrawArraysInstancedANGLE;
19888     alias fn_glDrawArraysInstancedARB = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei primcount) @system @nogc nothrow;
19889     /// Ditto
19890     @OpenGL_Version(OGLIntroducedIn.Unknown)
19891     @OpenGL_Extension("GL_ARB_draw_instanced")
19892     fn_glDrawArraysInstancedARB glDrawArraysInstancedARB;
19893     alias fn_glDrawArraysInstancedBaseInstanceEXT = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) @system @nogc nothrow;
19894     /// Ditto
19895     @OpenGL_Version(OGLIntroducedIn.Unknown)
19896     @OpenGL_Extension("GL_EXT_base_instance")
19897     fn_glDrawArraysInstancedBaseInstanceEXT glDrawArraysInstancedBaseInstanceEXT;
19898     alias fn_glDrawArraysInstancedEXT = extern(C) void function(GLenum mode, GLint start, GLsizei count, GLsizei primcount) @system @nogc nothrow;
19899     /// Ditto
19900     @OpenGL_Version(OGLIntroducedIn.Unknown)
19901     @OpenGL_Extension("GL_EXT_draw_instanced")
19902     fn_glDrawArraysInstancedEXT glDrawArraysInstancedEXT;
19903     alias fn_glDrawArraysInstancedNV = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei primcount) @system @nogc nothrow;
19904     /// Ditto
19905     @OpenGL_Version(OGLIntroducedIn.Unknown)
19906     @OpenGL_Extension("GL_NV_draw_instanced")
19907     fn_glDrawArraysInstancedNV glDrawArraysInstancedNV;
19908     alias fn_glDrawBuffersARB = extern(C) void function(GLsizei n, const GLenum* bufs) @system @nogc nothrow;
19909     /// Ditto
19910     @OpenGL_Version(OGLIntroducedIn.Unknown)
19911     @OpenGL_Extension("GL_ARB_draw_buffers")
19912     fn_glDrawBuffersARB glDrawBuffersARB;
19913     alias fn_glDrawBuffersATI = extern(C) void function(GLsizei n, const GLenum* bufs) @system @nogc nothrow;
19914     /// Ditto
19915     @OpenGL_Version(OGLIntroducedIn.Unknown)
19916     @OpenGL_Extension("GL_ATI_draw_buffers")
19917     fn_glDrawBuffersATI glDrawBuffersATI;
19918     alias fn_glDrawBuffersEXT = extern(C) void function(GLsizei n, const GLenum* bufs) @system @nogc nothrow;
19919     /// Ditto
19920     @OpenGL_Version(OGLIntroducedIn.Unknown)
19921     @OpenGL_Extension("GL_EXT_draw_buffers")
19922     fn_glDrawBuffersEXT glDrawBuffersEXT;
19923     alias fn_glDrawBuffersIndexedEXT = extern(C) void function(GLint n, const GLenum* location, const GLint* indices) @system @nogc nothrow;
19924     /// Ditto
19925     @OpenGL_Version(OGLIntroducedIn.Unknown)
19926     @OpenGL_Extension("GL_EXT_multiview_draw_buffers")
19927     fn_glDrawBuffersIndexedEXT glDrawBuffersIndexedEXT;
19928     alias fn_glDrawBuffersNV = extern(C) void function(GLsizei n, const GLenum* bufs) @system @nogc nothrow;
19929     /// Ditto
19930     @OpenGL_Version(OGLIntroducedIn.Unknown)
19931     @OpenGL_Extension("GL_NV_draw_buffers")
19932     fn_glDrawBuffersNV glDrawBuffersNV;
19933     alias fn_glDrawCommandsAddressNV = extern(C) void function(GLenum primitiveMode, const GLuint64* indirects, const GLsizei* sizes, GLuint count) @system @nogc nothrow;
19934     /// Ditto
19935     @OpenGL_Version(OGLIntroducedIn.Unknown)
19936     @OpenGL_Extension("GL_NV_command_list")
19937     fn_glDrawCommandsAddressNV glDrawCommandsAddressNV;
19938     alias fn_glDrawCommandsNV = extern(C) void function(GLenum primitiveMode, GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, GLuint count) @system @nogc nothrow;
19939     /// Ditto
19940     @OpenGL_Version(OGLIntroducedIn.Unknown)
19941     @OpenGL_Extension("GL_NV_command_list")
19942     fn_glDrawCommandsNV glDrawCommandsNV;
19943     alias fn_glDrawCommandsStatesAddressNV = extern(C) void function(const GLuint64* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count) @system @nogc nothrow;
19944     /// Ditto
19945     @OpenGL_Version(OGLIntroducedIn.Unknown)
19946     @OpenGL_Extension("GL_NV_command_list")
19947     fn_glDrawCommandsStatesAddressNV glDrawCommandsStatesAddressNV;
19948     alias fn_glDrawCommandsStatesNV = extern(C) void function(GLuint buffer, const GLintptr* indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count) @system @nogc nothrow;
19949     /// Ditto
19950     @OpenGL_Version(OGLIntroducedIn.Unknown)
19951     @OpenGL_Extension("GL_NV_command_list")
19952     fn_glDrawCommandsStatesNV glDrawCommandsStatesNV;
19953     alias fn_glDrawElementArrayAPPLE = extern(C) void function(GLenum mode, GLint first, GLsizei count) @system @nogc nothrow;
19954     /// Ditto
19955     @OpenGL_Version(OGLIntroducedIn.Unknown)
19956     @OpenGL_Extension("GL_APPLE_element_array")
19957     fn_glDrawElementArrayAPPLE glDrawElementArrayAPPLE;
19958     alias fn_glDrawElementArrayATI = extern(C) void function(GLenum mode, GLsizei count) @system @nogc nothrow;
19959     /// Ditto
19960     @OpenGL_Version(OGLIntroducedIn.Unknown)
19961     @OpenGL_Extension("GL_ATI_element_array")
19962     fn_glDrawElementArrayATI glDrawElementArrayATI;
19963     alias fn_glDrawElementsBaseVertexEXT = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLint basevertex) @system @nogc nothrow;
19964     /// Ditto
19965     @OpenGL_Version(OGLIntroducedIn.Unknown)
19966     @OpenGL_Extension("GL_EXT_draw_elements_base_vertex")
19967     fn_glDrawElementsBaseVertexEXT glDrawElementsBaseVertexEXT;
19968     alias fn_glDrawElementsBaseVertexOES = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLint basevertex) @system @nogc nothrow;
19969     /// Ditto
19970     @OpenGL_Version(OGLIntroducedIn.Unknown)
19971     @OpenGL_Extension("GL_OES_draw_elements_base_vertex")
19972     fn_glDrawElementsBaseVertexOES glDrawElementsBaseVertexOES;
19973     alias fn_glDrawElementsInstancedANGLE = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) @system @nogc nothrow;
19974     /// Ditto
19975     @OpenGL_Version(OGLIntroducedIn.Unknown)
19976     @OpenGL_Extension("GL_ANGLE_instanced_arrays")
19977     fn_glDrawElementsInstancedANGLE glDrawElementsInstancedANGLE;
19978     alias fn_glDrawElementsInstancedARB = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) @system @nogc nothrow;
19979     /// Ditto
19980     @OpenGL_Version(OGLIntroducedIn.Unknown)
19981     @OpenGL_Extension("GL_ARB_draw_instanced")
19982     fn_glDrawElementsInstancedARB glDrawElementsInstancedARB;
19983     alias fn_glDrawElementsInstancedBaseInstanceEXT = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLuint baseinstance) @system @nogc nothrow;
19984     /// Ditto
19985     @OpenGL_Version(OGLIntroducedIn.Unknown)
19986     @OpenGL_Extension("GL_EXT_base_instance")
19987     fn_glDrawElementsInstancedBaseInstanceEXT glDrawElementsInstancedBaseInstanceEXT;
19988     alias fn_glDrawElementsInstancedBaseVertexBaseInstanceEXT = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) @system @nogc nothrow;
19989     /// Ditto
19990     @OpenGL_Version(OGLIntroducedIn.Unknown)
19991     @OpenGL_Extension("GL_EXT_base_instance")
19992     fn_glDrawElementsInstancedBaseVertexBaseInstanceEXT glDrawElementsInstancedBaseVertexBaseInstanceEXT;
19993     alias fn_glDrawElementsInstancedBaseVertexEXT = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLint basevertex) @system @nogc nothrow;
19994     /// Ditto
19995     @OpenGL_Version(OGLIntroducedIn.Unknown)
19996     @OpenGL_Extension("GL_EXT_draw_elements_base_vertex")
19997     fn_glDrawElementsInstancedBaseVertexEXT glDrawElementsInstancedBaseVertexEXT;
19998     alias fn_glDrawElementsInstancedBaseVertexOES = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei instancecount, GLint basevertex) @system @nogc nothrow;
19999     /// Ditto
20000     @OpenGL_Version(OGLIntroducedIn.Unknown)
20001     @OpenGL_Extension("GL_OES_draw_elements_base_vertex")
20002     fn_glDrawElementsInstancedBaseVertexOES glDrawElementsInstancedBaseVertexOES;
20003     alias fn_glDrawElementsInstancedEXT = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) @system @nogc nothrow;
20004     /// Ditto
20005     @OpenGL_Version(OGLIntroducedIn.Unknown)
20006     @OpenGL_Extension("GL_EXT_draw_instanced")
20007     fn_glDrawElementsInstancedEXT glDrawElementsInstancedEXT;
20008     alias fn_glDrawElementsInstancedNV = extern(C) void function(GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount) @system @nogc nothrow;
20009     /// Ditto
20010     @OpenGL_Version(OGLIntroducedIn.Unknown)
20011     @OpenGL_Extension("GL_NV_draw_instanced")
20012     fn_glDrawElementsInstancedNV glDrawElementsInstancedNV;
20013     alias fn_glDrawMeshArraysSUN = extern(C) void function(GLenum mode, GLint first, GLsizei count, GLsizei width) @system @nogc nothrow;
20014     /// Ditto
20015     @OpenGL_Version(OGLIntroducedIn.Unknown)
20016     @OpenGL_Extension("GL_SUN_mesh_array")
20017     fn_glDrawMeshArraysSUN glDrawMeshArraysSUN;
20018     alias fn_glDrawPixels = extern(C) void function(GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
20019     /// Ditto
20020     @OpenGL_Version(OGLIntroducedIn.V1P0)
20021     fn_glDrawPixels glDrawPixels;
20022     alias fn_glDrawRangeElementArrayAPPLE = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count) @system @nogc nothrow;
20023     /// Ditto
20024     @OpenGL_Version(OGLIntroducedIn.Unknown)
20025     @OpenGL_Extension("GL_APPLE_element_array")
20026     fn_glDrawRangeElementArrayAPPLE glDrawRangeElementArrayAPPLE;
20027     alias fn_glDrawRangeElementArrayATI = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLsizei count) @system @nogc nothrow;
20028     /// Ditto
20029     @OpenGL_Version(OGLIntroducedIn.Unknown)
20030     @OpenGL_Extension("GL_ATI_element_array")
20031     fn_glDrawRangeElementArrayATI glDrawRangeElementArrayATI;
20032     alias fn_glDrawRangeElementsBaseVertexEXT = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void* indices, GLint basevertex) @system @nogc nothrow;
20033     /// Ditto
20034     @OpenGL_Version(OGLIntroducedIn.Unknown)
20035     @OpenGL_Extension("GL_EXT_draw_elements_base_vertex")
20036     fn_glDrawRangeElementsBaseVertexEXT glDrawRangeElementsBaseVertexEXT;
20037     alias fn_glDrawRangeElementsBaseVertexOES = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void* indices, GLint basevertex) @system @nogc nothrow;
20038     /// Ditto
20039     @OpenGL_Version(OGLIntroducedIn.Unknown)
20040     @OpenGL_Extension("GL_OES_draw_elements_base_vertex")
20041     fn_glDrawRangeElementsBaseVertexOES glDrawRangeElementsBaseVertexOES;
20042     alias fn_glDrawRangeElementsEXT = extern(C) void function(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void* indices) @system @nogc nothrow;
20043     /// Ditto
20044     @OpenGL_Version(OGLIntroducedIn.Unknown)
20045     @OpenGL_Extension("GL_EXT_draw_range_elements")
20046     fn_glDrawRangeElementsEXT glDrawRangeElementsEXT;
20047     alias fn_glDrawTexfOES = extern(C) void function(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) @system @nogc nothrow;
20048     /// Ditto
20049     @OpenGL_Version(OGLIntroducedIn.Unknown)
20050     @OpenGL_Extension("GL_OES_draw_texture")
20051     fn_glDrawTexfOES glDrawTexfOES;
20052     alias fn_glDrawTexfvOES = extern(C) void function(const GLfloat* coords) @system @nogc nothrow;
20053     /// Ditto
20054     @OpenGL_Version(OGLIntroducedIn.Unknown)
20055     @OpenGL_Extension("GL_OES_draw_texture")
20056     fn_glDrawTexfvOES glDrawTexfvOES;
20057     alias fn_glDrawTexiOES = extern(C) void function(GLint x, GLint y, GLint z, GLint width, GLint height) @system @nogc nothrow;
20058     /// Ditto
20059     @OpenGL_Version(OGLIntroducedIn.Unknown)
20060     @OpenGL_Extension("GL_OES_draw_texture")
20061     fn_glDrawTexiOES glDrawTexiOES;
20062     alias fn_glDrawTexivOES = extern(C) void function(const GLint* coords) @system @nogc nothrow;
20063     /// Ditto
20064     @OpenGL_Version(OGLIntroducedIn.Unknown)
20065     @OpenGL_Extension("GL_OES_draw_texture")
20066     fn_glDrawTexivOES glDrawTexivOES;
20067     alias fn_glDrawTexsOES = extern(C) void function(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) @system @nogc nothrow;
20068     /// Ditto
20069     @OpenGL_Version(OGLIntroducedIn.Unknown)
20070     @OpenGL_Extension("GL_OES_draw_texture")
20071     fn_glDrawTexsOES glDrawTexsOES;
20072     alias fn_glDrawTexsvOES = extern(C) void function(const GLshort* coords) @system @nogc nothrow;
20073     /// Ditto
20074     @OpenGL_Version(OGLIntroducedIn.Unknown)
20075     @OpenGL_Extension("GL_OES_draw_texture")
20076     fn_glDrawTexsvOES glDrawTexsvOES;
20077     alias fn_glDrawTextureNV = extern(C) void function(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1) @system @nogc nothrow;
20078     /// Ditto
20079     @OpenGL_Version(OGLIntroducedIn.Unknown)
20080     @OpenGL_Extension("GL_NV_draw_texture")
20081     fn_glDrawTextureNV glDrawTextureNV;
20082     alias fn_glDrawTexxOES = extern(C) void function(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) @system @nogc nothrow;
20083     /// Ditto
20084     @OpenGL_Version(OGLIntroducedIn.Unknown)
20085     @OpenGL_Extension("GL_OES_draw_texture")
20086     fn_glDrawTexxOES glDrawTexxOES;
20087     alias fn_glDrawTexxvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
20088     /// Ditto
20089     @OpenGL_Version(OGLIntroducedIn.Unknown)
20090     @OpenGL_Extension("GL_OES_draw_texture")
20091     fn_glDrawTexxvOES glDrawTexxvOES;
20092     alias fn_glDrawTransformFeedbackEXT = extern(C) void function(GLenum mode, GLuint id) @system @nogc nothrow;
20093     /// Ditto
20094     @OpenGL_Version(OGLIntroducedIn.Unknown)
20095     @OpenGL_Extension("GL_EXT_draw_transform_feedback")
20096     fn_glDrawTransformFeedbackEXT glDrawTransformFeedbackEXT;
20097     alias fn_glDrawTransformFeedbackInstancedEXT = extern(C) void function(GLenum mode, GLuint id, GLsizei instancecount) @system @nogc nothrow;
20098     /// Ditto
20099     @OpenGL_Version(OGLIntroducedIn.Unknown)
20100     @OpenGL_Extension("GL_EXT_draw_transform_feedback")
20101     fn_glDrawTransformFeedbackInstancedEXT glDrawTransformFeedbackInstancedEXT;
20102     alias fn_glDrawTransformFeedbackNV = extern(C) void function(GLenum mode, GLuint id) @system @nogc nothrow;
20103     /// Ditto
20104     @OpenGL_Version(OGLIntroducedIn.Unknown)
20105     @OpenGL_Extension("GL_NV_transform_feedback2")
20106     fn_glDrawTransformFeedbackNV glDrawTransformFeedbackNV;
20107     alias fn_glEGLImageTargetRenderbufferStorageOES = extern(C) void function(GLenum target, GLeglImageOES image) @system @nogc nothrow;
20108     /// Ditto
20109     @OpenGL_Version(OGLIntroducedIn.Unknown)
20110     @OpenGL_Extension("GL_OES_EGL_image")
20111     fn_glEGLImageTargetRenderbufferStorageOES glEGLImageTargetRenderbufferStorageOES;
20112     alias fn_glEGLImageTargetTexture2DOES = extern(C) void function(GLenum target, GLeglImageOES image) @system @nogc nothrow;
20113     /// Ditto
20114     @OpenGL_Version(OGLIntroducedIn.Unknown)
20115     @OpenGL_Extension("GL_OES_EGL_image")
20116     fn_glEGLImageTargetTexture2DOES glEGLImageTargetTexture2DOES;
20117     alias fn_glEdgeFlag = extern(C) void function(GLboolean flag) @system @nogc nothrow;
20118     /// Ditto
20119     @OpenGL_Version(OGLIntroducedIn.V1P0)
20120     fn_glEdgeFlag glEdgeFlag;
20121     alias fn_glEdgeFlagFormatNV = extern(C) void function(GLsizei stride) @system @nogc nothrow;
20122     /// Ditto
20123     @OpenGL_Version(OGLIntroducedIn.Unknown)
20124     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
20125     fn_glEdgeFlagFormatNV glEdgeFlagFormatNV;
20126     alias fn_glEdgeFlagPointer = extern(C) void function(GLsizei stride, const void* pointer) @system @nogc nothrow;
20127     /// Ditto
20128     @OpenGL_Version(OGLIntroducedIn.V1P1)
20129     fn_glEdgeFlagPointer glEdgeFlagPointer;
20130     alias fn_glEdgeFlagPointerEXT = extern(C) void function(GLsizei stride, GLsizei count, const GLboolean* pointer) @system @nogc nothrow;
20131     /// Ditto
20132     @OpenGL_Version(OGLIntroducedIn.Unknown)
20133     @OpenGL_Extension("GL_EXT_vertex_array")
20134     fn_glEdgeFlagPointerEXT glEdgeFlagPointerEXT;
20135     alias fn_glEdgeFlagPointerListIBM = extern(C) void function(GLint stride, const GLboolean** pointer, GLint ptrstride) @system @nogc nothrow;
20136     /// Ditto
20137     @OpenGL_Version(OGLIntroducedIn.Unknown)
20138     @OpenGL_Extension("GL_IBM_vertex_array_lists")
20139     fn_glEdgeFlagPointerListIBM glEdgeFlagPointerListIBM;
20140     alias fn_glEdgeFlagv = extern(C) void function(const GLboolean* flag) @system @nogc nothrow;
20141     /// Ditto
20142     @OpenGL_Version(OGLIntroducedIn.V1P0)
20143     fn_glEdgeFlagv glEdgeFlagv;
20144     alias fn_glElementPointerAPPLE = extern(C) void function(GLenum type, const void* pointer) @system @nogc nothrow;
20145     /// Ditto
20146     @OpenGL_Version(OGLIntroducedIn.Unknown)
20147     @OpenGL_Extension("GL_APPLE_element_array")
20148     fn_glElementPointerAPPLE glElementPointerAPPLE;
20149     alias fn_glElementPointerATI = extern(C) void function(GLenum type, const void* pointer) @system @nogc nothrow;
20150     /// Ditto
20151     @OpenGL_Version(OGLIntroducedIn.Unknown)
20152     @OpenGL_Extension("GL_ATI_element_array")
20153     fn_glElementPointerATI glElementPointerATI;
20154     alias fn_glEnableClientState = extern(C) void function(GLenum array) @system @nogc nothrow;
20155     /// Ditto
20156     @OpenGL_Version(OGLIntroducedIn.V1P1)
20157     fn_glEnableClientState glEnableClientState;
20158     alias fn_glEnableClientStateIndexedEXT = extern(C) void function(GLenum array, GLuint index) @system @nogc nothrow;
20159     /// Ditto
20160     @OpenGL_Version(OGLIntroducedIn.Unknown)
20161     @OpenGL_Extension("GL_EXT_direct_state_access")
20162     fn_glEnableClientStateIndexedEXT glEnableClientStateIndexedEXT;
20163     alias fn_glEnableClientStateiEXT = extern(C) void function(GLenum array, GLuint index) @system @nogc nothrow;
20164     /// Ditto
20165     @OpenGL_Version(OGLIntroducedIn.Unknown)
20166     @OpenGL_Extension("GL_EXT_direct_state_access")
20167     fn_glEnableClientStateiEXT glEnableClientStateiEXT;
20168     alias fn_glEnableDriverControlQCOM = extern(C) void function(GLuint driverControl) @system @nogc nothrow;
20169     /// Ditto
20170     @OpenGL_Version(OGLIntroducedIn.Unknown)
20171     @OpenGL_Extension("GL_QCOM_driver_control")
20172     fn_glEnableDriverControlQCOM glEnableDriverControlQCOM;
20173     alias fn_glEnableIndexedEXT = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
20174     /// Ditto
20175     @OpenGL_Version(OGLIntroducedIn.Unknown)
20176     @OpenGL_Extension("GL_EXT_direct_state_access")
20177     fn_glEnableIndexedEXT glEnableIndexedEXT;
20178     alias fn_glEnableVariantClientStateEXT = extern(C) void function(GLuint id) @system @nogc nothrow;
20179     /// Ditto
20180     @OpenGL_Version(OGLIntroducedIn.Unknown)
20181     @OpenGL_Extension("GL_EXT_vertex_shader")
20182     fn_glEnableVariantClientStateEXT glEnableVariantClientStateEXT;
20183     alias fn_glEnableVertexArrayAttribEXT = extern(C) void function(GLuint vaobj, GLuint index) @system @nogc nothrow;
20184     /// Ditto
20185     @OpenGL_Version(OGLIntroducedIn.Unknown)
20186     @OpenGL_Extension("GL_EXT_direct_state_access")
20187     fn_glEnableVertexArrayAttribEXT glEnableVertexArrayAttribEXT;
20188     alias fn_glEnableVertexArrayEXT = extern(C) void function(GLuint vaobj, GLenum array) @system @nogc nothrow;
20189     /// Ditto
20190     @OpenGL_Version(OGLIntroducedIn.Unknown)
20191     @OpenGL_Extension("GL_EXT_direct_state_access")
20192     fn_glEnableVertexArrayEXT glEnableVertexArrayEXT;
20193     alias fn_glEnableVertexAttribAPPLE = extern(C) void function(GLuint index, GLenum pname) @system @nogc nothrow;
20194     /// Ditto
20195     @OpenGL_Version(OGLIntroducedIn.Unknown)
20196     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
20197     fn_glEnableVertexAttribAPPLE glEnableVertexAttribAPPLE;
20198     alias fn_glEnableVertexAttribArrayARB = extern(C) void function(GLuint index) @system @nogc nothrow;
20199     /// Ditto
20200     @OpenGL_Version(OGLIntroducedIn.Unknown)
20201     @OpenGL_Extension("GL_ARB_vertex_program")
20202     fn_glEnableVertexAttribArrayARB glEnableVertexAttribArrayARB;
20203     alias fn_glEnablei = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
20204     /// Ditto
20205     @OpenGL_Version(OGLIntroducedIn.V3P0)
20206     fn_glEnablei glEnablei;
20207     alias fn_glEnableiEXT = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
20208     /// Ditto
20209     @OpenGL_Version(OGLIntroducedIn.Unknown)
20210     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
20211     fn_glEnableiEXT glEnableiEXT;
20212     alias fn_glEnableiNV = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
20213     /// Ditto
20214     @OpenGL_Version(OGLIntroducedIn.Unknown)
20215     @OpenGL_Extension("GL_NV_viewport_array")
20216     fn_glEnableiNV glEnableiNV;
20217     alias fn_glEnableiOES = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
20218     /// Ditto
20219     @OpenGL_Version(OGLIntroducedIn.Unknown)
20220     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
20221     fn_glEnableiOES glEnableiOES;
20222     alias fn_glEnd = extern(C) void function() @system @nogc nothrow;
20223     /// Ditto
20224     @OpenGL_Version(OGLIntroducedIn.V1P0)
20225     fn_glEnd glEnd;
20226     alias fn_glEndConditionalRender = extern(C) void function() @system @nogc nothrow;
20227     /// Ditto
20228     @OpenGL_Version(OGLIntroducedIn.V3P0)
20229     fn_glEndConditionalRender glEndConditionalRender;
20230     alias fn_glEndConditionalRenderNV = extern(C) void function() @system @nogc nothrow;
20231     /// Ditto
20232     @OpenGL_Version(OGLIntroducedIn.Unknown)
20233     @OpenGL_Extension("GL_NV_conditional_render")
20234     fn_glEndConditionalRenderNV glEndConditionalRenderNV;
20235     alias fn_glEndConditionalRenderNVX = extern(C) void function() @system @nogc nothrow;
20236     /// Ditto
20237     @OpenGL_Version(OGLIntroducedIn.Unknown)
20238     @OpenGL_Extension("GL_NVX_conditional_render")
20239     fn_glEndConditionalRenderNVX glEndConditionalRenderNVX;
20240     alias fn_glEndFragmentShaderATI = extern(C) void function() @system @nogc nothrow;
20241     /// Ditto
20242     @OpenGL_Version(OGLIntroducedIn.Unknown)
20243     @OpenGL_Extension("GL_ATI_fragment_shader")
20244     fn_glEndFragmentShaderATI glEndFragmentShaderATI;
20245     alias fn_glEndList = extern(C) void function() @system @nogc nothrow;
20246     /// Ditto
20247     @OpenGL_Version(OGLIntroducedIn.V1P0)
20248     fn_glEndList glEndList;
20249     alias fn_glEndOcclusionQueryNV = extern(C) void function() @system @nogc nothrow;
20250     /// Ditto
20251     @OpenGL_Version(OGLIntroducedIn.Unknown)
20252     @OpenGL_Extension("GL_NV_occlusion_query")
20253     fn_glEndOcclusionQueryNV glEndOcclusionQueryNV;
20254     alias fn_glEndPerfMonitorAMD = extern(C) void function(GLuint monitor) @system @nogc nothrow;
20255     /// Ditto
20256     @OpenGL_Version(OGLIntroducedIn.Unknown)
20257     @OpenGL_Extension("GL_AMD_performance_monitor")
20258     fn_glEndPerfMonitorAMD glEndPerfMonitorAMD;
20259     alias fn_glEndPerfQueryINTEL = extern(C) void function(GLuint queryHandle) @system @nogc nothrow;
20260     /// Ditto
20261     @OpenGL_Version(OGLIntroducedIn.Unknown)
20262     @OpenGL_Extension("GL_INTEL_performance_query")
20263     fn_glEndPerfQueryINTEL glEndPerfQueryINTEL;
20264     alias fn_glEndQuery = extern(C) void function(GLenum target) @system @nogc nothrow;
20265     /// Ditto
20266     @OpenGL_Version(OGLIntroducedIn.V1P5)
20267     fn_glEndQuery glEndQuery;
20268     alias fn_glEndQueryARB = extern(C) void function(GLenum target) @system @nogc nothrow;
20269     /// Ditto
20270     @OpenGL_Version(OGLIntroducedIn.Unknown)
20271     @OpenGL_Extension("GL_ARB_occlusion_query")
20272     fn_glEndQueryARB glEndQueryARB;
20273     alias fn_glEndQueryEXT = extern(C) void function(GLenum target) @system @nogc nothrow;
20274     /// Ditto
20275     @OpenGL_Version(OGLIntroducedIn.Unknown)
20276     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
20277     fn_glEndQueryEXT glEndQueryEXT;
20278     alias fn_glEndQueryIndexed = extern(C) void function(GLenum target, GLuint index) @system @nogc nothrow;
20279     /// Ditto
20280     @OpenGL_Version(OGLIntroducedIn.V4P0)
20281     @OpenGL_Extension("GL_ARB_transform_feedback3")
20282     fn_glEndQueryIndexed glEndQueryIndexed;
20283     alias fn_glEndTilingQCOM = extern(C) void function(GLbitfield preserveMask) @system @nogc nothrow;
20284     /// Ditto
20285     @OpenGL_Version(OGLIntroducedIn.Unknown)
20286     @OpenGL_Extension("GL_QCOM_tiled_rendering")
20287     fn_glEndTilingQCOM glEndTilingQCOM;
20288     alias fn_glEndTransformFeedback = extern(C) void function() @system @nogc nothrow;
20289     /// Ditto
20290     @OpenGL_Version(OGLIntroducedIn.V3P0)
20291     fn_glEndTransformFeedback glEndTransformFeedback;
20292     alias fn_glEndTransformFeedbackEXT = extern(C) void function() @system @nogc nothrow;
20293     /// Ditto
20294     @OpenGL_Version(OGLIntroducedIn.Unknown)
20295     @OpenGL_Extension("GL_EXT_transform_feedback")
20296     fn_glEndTransformFeedbackEXT glEndTransformFeedbackEXT;
20297     alias fn_glEndTransformFeedbackNV = extern(C) void function() @system @nogc nothrow;
20298     /// Ditto
20299     @OpenGL_Version(OGLIntroducedIn.Unknown)
20300     @OpenGL_Extension("GL_NV_transform_feedback")
20301     fn_glEndTransformFeedbackNV glEndTransformFeedbackNV;
20302     alias fn_glEndVertexShaderEXT = extern(C) void function() @system @nogc nothrow;
20303     /// Ditto
20304     @OpenGL_Version(OGLIntroducedIn.Unknown)
20305     @OpenGL_Extension("GL_EXT_vertex_shader")
20306     fn_glEndVertexShaderEXT glEndVertexShaderEXT;
20307     alias fn_glEndVideoCaptureNV = extern(C) void function(GLuint video_capture_slot) @system @nogc nothrow;
20308     /// Ditto
20309     @OpenGL_Version(OGLIntroducedIn.Unknown)
20310     @OpenGL_Extension("GL_NV_video_capture")
20311     fn_glEndVideoCaptureNV glEndVideoCaptureNV;
20312     alias fn_glEvalCoord1d = extern(C) void function(GLdouble u) @system @nogc nothrow;
20313     /// Ditto
20314     @OpenGL_Version(OGLIntroducedIn.V1P0)
20315     fn_glEvalCoord1d glEvalCoord1d;
20316     alias fn_glEvalCoord1dv = extern(C) void function(const GLdouble* u) @system @nogc nothrow;
20317     /// Ditto
20318     @OpenGL_Version(OGLIntroducedIn.V1P0)
20319     fn_glEvalCoord1dv glEvalCoord1dv;
20320     alias fn_glEvalCoord1f = extern(C) void function(GLfloat u) @system @nogc nothrow;
20321     /// Ditto
20322     @OpenGL_Version(OGLIntroducedIn.V1P0)
20323     fn_glEvalCoord1f glEvalCoord1f;
20324     alias fn_glEvalCoord1fv = extern(C) void function(const GLfloat* u) @system @nogc nothrow;
20325     /// Ditto
20326     @OpenGL_Version(OGLIntroducedIn.V1P0)
20327     fn_glEvalCoord1fv glEvalCoord1fv;
20328     alias fn_glEvalCoord1xOES = extern(C) void function(GLfixed u) @system @nogc nothrow;
20329     /// Ditto
20330     @OpenGL_Version(OGLIntroducedIn.Unknown)
20331     @OpenGL_Extension("GL_OES_fixed_point")
20332     fn_glEvalCoord1xOES glEvalCoord1xOES;
20333     alias fn_glEvalCoord1xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
20334     /// Ditto
20335     @OpenGL_Version(OGLIntroducedIn.Unknown)
20336     @OpenGL_Extension("GL_OES_fixed_point")
20337     fn_glEvalCoord1xvOES glEvalCoord1xvOES;
20338     alias fn_glEvalCoord2d = extern(C) void function(GLdouble u, GLdouble v) @system @nogc nothrow;
20339     /// Ditto
20340     @OpenGL_Version(OGLIntroducedIn.V1P0)
20341     fn_glEvalCoord2d glEvalCoord2d;
20342     alias fn_glEvalCoord2dv = extern(C) void function(const GLdouble* u) @system @nogc nothrow;
20343     /// Ditto
20344     @OpenGL_Version(OGLIntroducedIn.V1P0)
20345     fn_glEvalCoord2dv glEvalCoord2dv;
20346     alias fn_glEvalCoord2f = extern(C) void function(GLfloat u, GLfloat v) @system @nogc nothrow;
20347     /// Ditto
20348     @OpenGL_Version(OGLIntroducedIn.V1P0)
20349     fn_glEvalCoord2f glEvalCoord2f;
20350     alias fn_glEvalCoord2fv = extern(C) void function(const GLfloat* u) @system @nogc nothrow;
20351     /// Ditto
20352     @OpenGL_Version(OGLIntroducedIn.V1P0)
20353     fn_glEvalCoord2fv glEvalCoord2fv;
20354     alias fn_glEvalCoord2xOES = extern(C) void function(GLfixed u, GLfixed v) @system @nogc nothrow;
20355     /// Ditto
20356     @OpenGL_Version(OGLIntroducedIn.Unknown)
20357     @OpenGL_Extension("GL_OES_fixed_point")
20358     fn_glEvalCoord2xOES glEvalCoord2xOES;
20359     alias fn_glEvalCoord2xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
20360     /// Ditto
20361     @OpenGL_Version(OGLIntroducedIn.Unknown)
20362     @OpenGL_Extension("GL_OES_fixed_point")
20363     fn_glEvalCoord2xvOES glEvalCoord2xvOES;
20364     alias fn_glEvalMapsNV = extern(C) void function(GLenum target, GLenum mode) @system @nogc nothrow;
20365     /// Ditto
20366     @OpenGL_Version(OGLIntroducedIn.Unknown)
20367     @OpenGL_Extension("GL_NV_evaluators")
20368     fn_glEvalMapsNV glEvalMapsNV;
20369     alias fn_glEvalMesh1 = extern(C) void function(GLenum mode, GLint i1, GLint i2) @system @nogc nothrow;
20370     /// Ditto
20371     @OpenGL_Version(OGLIntroducedIn.V1P0)
20372     fn_glEvalMesh1 glEvalMesh1;
20373     alias fn_glEvalMesh2 = extern(C) void function(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) @system @nogc nothrow;
20374     /// Ditto
20375     @OpenGL_Version(OGLIntroducedIn.V1P0)
20376     fn_glEvalMesh2 glEvalMesh2;
20377     alias fn_glEvalPoint1 = extern(C) void function(GLint i) @system @nogc nothrow;
20378     /// Ditto
20379     @OpenGL_Version(OGLIntroducedIn.V1P0)
20380     fn_glEvalPoint1 glEvalPoint1;
20381     alias fn_glEvalPoint2 = extern(C) void function(GLint i, GLint j) @system @nogc nothrow;
20382     /// Ditto
20383     @OpenGL_Version(OGLIntroducedIn.V1P0)
20384     fn_glEvalPoint2 glEvalPoint2;
20385     alias fn_glEvaluateDepthValuesARB = extern(C) void function() @system @nogc nothrow;
20386     /// Ditto
20387     @OpenGL_Version(OGLIntroducedIn.Unknown)
20388     @OpenGL_Extension("GL_ARB_sample_locations")
20389     fn_glEvaluateDepthValuesARB glEvaluateDepthValuesARB;
20390     alias fn_glExecuteProgramNV = extern(C) void function(GLenum target, GLuint id, const GLfloat* params) @system @nogc nothrow;
20391     /// Ditto
20392     @OpenGL_Version(OGLIntroducedIn.Unknown)
20393     @OpenGL_Extension("GL_NV_vertex_program")
20394     fn_glExecuteProgramNV glExecuteProgramNV;
20395     alias fn_glExtGetBufferPointervQCOM = extern(C) void function(GLenum target, void** params) @system @nogc nothrow;
20396     /// Ditto
20397     @OpenGL_Version(OGLIntroducedIn.Unknown)
20398     @OpenGL_Extension("GL_QCOM_extended_get")
20399     fn_glExtGetBufferPointervQCOM glExtGetBufferPointervQCOM;
20400     alias fn_glExtGetBuffersQCOM = extern(C) void function(GLuint* buffers, GLint maxBuffers, GLint* numBuffers) @system @nogc nothrow;
20401     /// Ditto
20402     @OpenGL_Version(OGLIntroducedIn.Unknown)
20403     @OpenGL_Extension("GL_QCOM_extended_get")
20404     fn_glExtGetBuffersQCOM glExtGetBuffersQCOM;
20405     alias fn_glExtGetFramebuffersQCOM = extern(C) void function(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers) @system @nogc nothrow;
20406     /// Ditto
20407     @OpenGL_Version(OGLIntroducedIn.Unknown)
20408     @OpenGL_Extension("GL_QCOM_extended_get")
20409     fn_glExtGetFramebuffersQCOM glExtGetFramebuffersQCOM;
20410     alias fn_glExtGetProgramBinarySourceQCOM = extern(C) void function(GLuint program, GLenum shadertype, GLchar* source, GLint* length) @system @nogc nothrow;
20411     /// Ditto
20412     @OpenGL_Version(OGLIntroducedIn.Unknown)
20413     @OpenGL_Extension("GL_QCOM_extended_get2")
20414     fn_glExtGetProgramBinarySourceQCOM glExtGetProgramBinarySourceQCOM;
20415     alias fn_glExtGetProgramsQCOM = extern(C) void function(GLuint* programs, GLint maxPrograms, GLint* numPrograms) @system @nogc nothrow;
20416     /// Ditto
20417     @OpenGL_Version(OGLIntroducedIn.Unknown)
20418     @OpenGL_Extension("GL_QCOM_extended_get2")
20419     fn_glExtGetProgramsQCOM glExtGetProgramsQCOM;
20420     alias fn_glExtGetRenderbuffersQCOM = extern(C) void function(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers) @system @nogc nothrow;
20421     /// Ditto
20422     @OpenGL_Version(OGLIntroducedIn.Unknown)
20423     @OpenGL_Extension("GL_QCOM_extended_get")
20424     fn_glExtGetRenderbuffersQCOM glExtGetRenderbuffersQCOM;
20425     alias fn_glExtGetShadersQCOM = extern(C) void function(GLuint* shaders, GLint maxShaders, GLint* numShaders) @system @nogc nothrow;
20426     /// Ditto
20427     @OpenGL_Version(OGLIntroducedIn.Unknown)
20428     @OpenGL_Extension("GL_QCOM_extended_get2")
20429     fn_glExtGetShadersQCOM glExtGetShadersQCOM;
20430     alias fn_glExtGetTexLevelParameterivQCOM = extern(C) void function(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params) @system @nogc nothrow;
20431     /// Ditto
20432     @OpenGL_Version(OGLIntroducedIn.Unknown)
20433     @OpenGL_Extension("GL_QCOM_extended_get")
20434     fn_glExtGetTexLevelParameterivQCOM glExtGetTexLevelParameterivQCOM;
20435     alias fn_glExtGetTexSubImageQCOM = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void* texels) @system @nogc nothrow;
20436     /// Ditto
20437     @OpenGL_Version(OGLIntroducedIn.Unknown)
20438     @OpenGL_Extension("GL_QCOM_extended_get")
20439     fn_glExtGetTexSubImageQCOM glExtGetTexSubImageQCOM;
20440     alias fn_glExtGetTexturesQCOM = extern(C) void function(GLuint* textures, GLint maxTextures, GLint* numTextures) @system @nogc nothrow;
20441     /// Ditto
20442     @OpenGL_Version(OGLIntroducedIn.Unknown)
20443     @OpenGL_Extension("GL_QCOM_extended_get")
20444     fn_glExtGetTexturesQCOM glExtGetTexturesQCOM;
20445     alias fn_glExtIsProgramBinaryQCOM = extern(C) GLboolean function(GLuint program) @system @nogc nothrow;
20446     /// Ditto
20447     @OpenGL_Version(OGLIntroducedIn.Unknown)
20448     @OpenGL_Extension("GL_QCOM_extended_get2")
20449     fn_glExtIsProgramBinaryQCOM glExtIsProgramBinaryQCOM;
20450     alias fn_glExtTexObjectStateOverrideiQCOM = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
20451     /// Ditto
20452     @OpenGL_Version(OGLIntroducedIn.Unknown)
20453     @OpenGL_Extension("GL_QCOM_extended_get")
20454     fn_glExtTexObjectStateOverrideiQCOM glExtTexObjectStateOverrideiQCOM;
20455     alias fn_glExtractComponentEXT = extern(C) void function(GLuint res, GLuint src, GLuint num) @system @nogc nothrow;
20456     /// Ditto
20457     @OpenGL_Version(OGLIntroducedIn.Unknown)
20458     @OpenGL_Extension("GL_EXT_vertex_shader")
20459     fn_glExtractComponentEXT glExtractComponentEXT;
20460     alias fn_glFeedbackBuffer = extern(C) void function(GLsizei size, GLenum type, GLfloat* buffer) @system @nogc nothrow;
20461     /// Ditto
20462     @OpenGL_Version(OGLIntroducedIn.V1P0)
20463     fn_glFeedbackBuffer glFeedbackBuffer;
20464     alias fn_glFeedbackBufferxOES = extern(C) void function(GLsizei n, GLenum type, const GLfixed* buffer) @system @nogc nothrow;
20465     /// Ditto
20466     @OpenGL_Version(OGLIntroducedIn.Unknown)
20467     @OpenGL_Extension("GL_OES_fixed_point")
20468     fn_glFeedbackBufferxOES glFeedbackBufferxOES;
20469     alias fn_glFenceSyncAPPLE = extern(C) GLsync function(GLenum condition, GLbitfield flags) @system @nogc nothrow;
20470     /// Ditto
20471     @OpenGL_Version(OGLIntroducedIn.Unknown)
20472     @OpenGL_Extension("GL_APPLE_sync")
20473     fn_glFenceSyncAPPLE glFenceSyncAPPLE;
20474     alias fn_glFinalCombinerInputNV = extern(C) void function(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) @system @nogc nothrow;
20475     /// Ditto
20476     @OpenGL_Version(OGLIntroducedIn.Unknown)
20477     @OpenGL_Extension("GL_NV_register_combiners")
20478     fn_glFinalCombinerInputNV glFinalCombinerInputNV;
20479     alias fn_glFinishAsyncSGIX = extern(C) GLint function(GLuint* markerp) @system @nogc nothrow;
20480     /// Ditto
20481     @OpenGL_Version(OGLIntroducedIn.Unknown)
20482     @OpenGL_Extension("GL_SGIX_async")
20483     fn_glFinishAsyncSGIX glFinishAsyncSGIX;
20484     alias fn_glFinishFenceAPPLE = extern(C) void function(GLuint fence) @system @nogc nothrow;
20485     /// Ditto
20486     @OpenGL_Version(OGLIntroducedIn.Unknown)
20487     @OpenGL_Extension("GL_APPLE_fence")
20488     fn_glFinishFenceAPPLE glFinishFenceAPPLE;
20489     alias fn_glFinishFenceNV = extern(C) void function(GLuint fence) @system @nogc nothrow;
20490     /// Ditto
20491     @OpenGL_Version(OGLIntroducedIn.Unknown)
20492     @OpenGL_Extension("GL_NV_fence")
20493     fn_glFinishFenceNV glFinishFenceNV;
20494     alias fn_glFinishObjectAPPLE = extern(C) void function(GLenum object, GLint name) @system @nogc nothrow;
20495     /// Ditto
20496     @OpenGL_Version(OGLIntroducedIn.Unknown)
20497     @OpenGL_Extension("GL_APPLE_fence")
20498     fn_glFinishObjectAPPLE glFinishObjectAPPLE;
20499     alias fn_glFinishTextureSUNX = extern(C) void function() @system @nogc nothrow;
20500     /// Ditto
20501     @OpenGL_Version(OGLIntroducedIn.Unknown)
20502     @OpenGL_Extension("GL_SUNX_constant_data")
20503     fn_glFinishTextureSUNX glFinishTextureSUNX;
20504     alias fn_glFlushMappedBufferRangeAPPLE = extern(C) void function(GLenum target, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
20505     /// Ditto
20506     @OpenGL_Version(OGLIntroducedIn.Unknown)
20507     @OpenGL_Extension("GL_APPLE_flush_buffer_range")
20508     fn_glFlushMappedBufferRangeAPPLE glFlushMappedBufferRangeAPPLE;
20509     alias fn_glFlushMappedBufferRangeEXT = extern(C) void function(GLenum target, GLintptr offset, GLsizeiptr length) @system @nogc nothrow;
20510     /// Ditto
20511     @OpenGL_Version(OGLIntroducedIn.Unknown)
20512     @OpenGL_Extension("GL_EXT_map_buffer_range")
20513     fn_glFlushMappedBufferRangeEXT glFlushMappedBufferRangeEXT;
20514     alias fn_glFlushMappedNamedBufferRangeEXT = extern(C) void function(GLuint buffer, GLintptr offset, GLsizeiptr length) @system @nogc nothrow;
20515     /// Ditto
20516     @OpenGL_Version(OGLIntroducedIn.Unknown)
20517     @OpenGL_Extension("GL_EXT_direct_state_access")
20518     fn_glFlushMappedNamedBufferRangeEXT glFlushMappedNamedBufferRangeEXT;
20519     alias fn_glFlushPixelDataRangeNV = extern(C) void function(GLenum target) @system @nogc nothrow;
20520     /// Ditto
20521     @OpenGL_Version(OGLIntroducedIn.Unknown)
20522     @OpenGL_Extension("GL_NV_pixel_data_range")
20523     fn_glFlushPixelDataRangeNV glFlushPixelDataRangeNV;
20524     alias fn_glFlushRasterSGIX = extern(C) void function() @system @nogc nothrow;
20525     /// Ditto
20526     @OpenGL_Version(OGLIntroducedIn.Unknown)
20527     @OpenGL_Extension("GL_SGIX_flush_raster")
20528     fn_glFlushRasterSGIX glFlushRasterSGIX;
20529     alias fn_glFlushStaticDataIBM = extern(C) void function(GLenum target) @system @nogc nothrow;
20530     /// Ditto
20531     @OpenGL_Version(OGLIntroducedIn.Unknown)
20532     @OpenGL_Extension("GL_IBM_static_data")
20533     fn_glFlushStaticDataIBM glFlushStaticDataIBM;
20534     alias fn_glFlushVertexArrayRangeAPPLE = extern(C) void function(GLsizei length, void* pointer) @system @nogc nothrow;
20535     /// Ditto
20536     @OpenGL_Version(OGLIntroducedIn.Unknown)
20537     @OpenGL_Extension("GL_APPLE_vertex_array_range")
20538     fn_glFlushVertexArrayRangeAPPLE glFlushVertexArrayRangeAPPLE;
20539     alias fn_glFlushVertexArrayRangeNV = extern(C) void function() @system @nogc nothrow;
20540     /// Ditto
20541     @OpenGL_Version(OGLIntroducedIn.Unknown)
20542     @OpenGL_Extension("GL_NV_vertex_array_range")
20543     fn_glFlushVertexArrayRangeNV glFlushVertexArrayRangeNV;
20544     alias fn_glFogCoordFormatNV = extern(C) void function(GLenum type, GLsizei stride) @system @nogc nothrow;
20545     /// Ditto
20546     @OpenGL_Version(OGLIntroducedIn.Unknown)
20547     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
20548     fn_glFogCoordFormatNV glFogCoordFormatNV;
20549     alias fn_glFogCoordPointer = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
20550     /// Ditto
20551     @OpenGL_Version(OGLIntroducedIn.V1P4)
20552     fn_glFogCoordPointer glFogCoordPointer;
20553     alias fn_glFogCoordPointerEXT = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
20554     /// Ditto
20555     @OpenGL_Version(OGLIntroducedIn.Unknown)
20556     @OpenGL_Extension("GL_EXT_fog_coord")
20557     fn_glFogCoordPointerEXT glFogCoordPointerEXT;
20558     alias fn_glFogCoordPointerListIBM = extern(C) void function(GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
20559     /// Ditto
20560     @OpenGL_Version(OGLIntroducedIn.Unknown)
20561     @OpenGL_Extension("GL_IBM_vertex_array_lists")
20562     fn_glFogCoordPointerListIBM glFogCoordPointerListIBM;
20563     alias fn_glFogCoordd = extern(C) void function(GLdouble coord) @system @nogc nothrow;
20564     /// Ditto
20565     @OpenGL_Version(OGLIntroducedIn.V1P4)
20566     fn_glFogCoordd glFogCoordd;
20567     alias fn_glFogCoorddEXT = extern(C) void function(GLdouble coord) @system @nogc nothrow;
20568     /// Ditto
20569     @OpenGL_Version(OGLIntroducedIn.Unknown)
20570     @OpenGL_Extension("GL_EXT_fog_coord")
20571     fn_glFogCoorddEXT glFogCoorddEXT;
20572     alias fn_glFogCoorddv = extern(C) void function(const GLdouble* coord) @system @nogc nothrow;
20573     /// Ditto
20574     @OpenGL_Version(OGLIntroducedIn.V1P4)
20575     fn_glFogCoorddv glFogCoorddv;
20576     alias fn_glFogCoorddvEXT = extern(C) void function(const GLdouble* coord) @system @nogc nothrow;
20577     /// Ditto
20578     @OpenGL_Version(OGLIntroducedIn.Unknown)
20579     @OpenGL_Extension("GL_EXT_fog_coord")
20580     fn_glFogCoorddvEXT glFogCoorddvEXT;
20581     alias fn_glFogCoordf = extern(C) void function(GLfloat coord) @system @nogc nothrow;
20582     /// Ditto
20583     @OpenGL_Version(OGLIntroducedIn.V1P4)
20584     fn_glFogCoordf glFogCoordf;
20585     alias fn_glFogCoordfEXT = extern(C) void function(GLfloat coord) @system @nogc nothrow;
20586     /// Ditto
20587     @OpenGL_Version(OGLIntroducedIn.Unknown)
20588     @OpenGL_Extension("GL_EXT_fog_coord")
20589     fn_glFogCoordfEXT glFogCoordfEXT;
20590     alias fn_glFogCoordfv = extern(C) void function(const GLfloat* coord) @system @nogc nothrow;
20591     /// Ditto
20592     @OpenGL_Version(OGLIntroducedIn.V1P4)
20593     fn_glFogCoordfv glFogCoordfv;
20594     alias fn_glFogCoordfvEXT = extern(C) void function(const GLfloat* coord) @system @nogc nothrow;
20595     /// Ditto
20596     @OpenGL_Version(OGLIntroducedIn.Unknown)
20597     @OpenGL_Extension("GL_EXT_fog_coord")
20598     fn_glFogCoordfvEXT glFogCoordfvEXT;
20599     alias fn_glFogCoordhNV = extern(C) void function(GLhalfNV fog) @system @nogc nothrow;
20600     /// Ditto
20601     @OpenGL_Version(OGLIntroducedIn.Unknown)
20602     @OpenGL_Extension("GL_NV_half_float")
20603     fn_glFogCoordhNV glFogCoordhNV;
20604     alias fn_glFogCoordhvNV = extern(C) void function(const GLhalfNV* fog) @system @nogc nothrow;
20605     /// Ditto
20606     @OpenGL_Version(OGLIntroducedIn.Unknown)
20607     @OpenGL_Extension("GL_NV_half_float")
20608     fn_glFogCoordhvNV glFogCoordhvNV;
20609     alias fn_glFogFuncSGIS = extern(C) void function(GLsizei n, const GLfloat* points) @system @nogc nothrow;
20610     /// Ditto
20611     @OpenGL_Version(OGLIntroducedIn.Unknown)
20612     @OpenGL_Extension("GL_SGIS_fog_function")
20613     fn_glFogFuncSGIS glFogFuncSGIS;
20614     alias fn_glFogf = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
20615     /// Ditto
20616     @OpenGL_Version(OGLIntroducedIn.V1P0)
20617     fn_glFogf glFogf;
20618     alias fn_glFogfv = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
20619     /// Ditto
20620     @OpenGL_Version(OGLIntroducedIn.V1P0)
20621     fn_glFogfv glFogfv;
20622     alias fn_glFogi = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
20623     /// Ditto
20624     @OpenGL_Version(OGLIntroducedIn.V1P0)
20625     fn_glFogi glFogi;
20626     alias fn_glFogiv = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
20627     /// Ditto
20628     @OpenGL_Version(OGLIntroducedIn.V1P0)
20629     fn_glFogiv glFogiv;
20630     alias fn_glFogx = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
20631     /// Ditto
20632     @OpenGL_Version(OGLIntroducedIn.Unknown)
20633     fn_glFogx glFogx;
20634     alias fn_glFogxOES = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
20635     /// Ditto
20636     @OpenGL_Version(OGLIntroducedIn.Unknown)
20637     @OpenGL_Extension("GL_OES_fixed_point")
20638     fn_glFogxOES glFogxOES;
20639     alias fn_glFogxv = extern(C) void function(GLenum pname, const GLfixed* param) @system @nogc nothrow;
20640     /// Ditto
20641     @OpenGL_Version(OGLIntroducedIn.Unknown)
20642     fn_glFogxv glFogxv;
20643     alias fn_glFogxvOES = extern(C) void function(GLenum pname, const GLfixed* param) @system @nogc nothrow;
20644     /// Ditto
20645     @OpenGL_Version(OGLIntroducedIn.Unknown)
20646     @OpenGL_Extension("GL_OES_fixed_point")
20647     fn_glFogxvOES glFogxvOES;
20648     alias fn_glFragmentColorMaterialSGIX = extern(C) void function(GLenum face, GLenum mode) @system @nogc nothrow;
20649     /// Ditto
20650     @OpenGL_Version(OGLIntroducedIn.Unknown)
20651     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20652     fn_glFragmentColorMaterialSGIX glFragmentColorMaterialSGIX;
20653     alias fn_glFragmentCoverageColorNV = extern(C) void function(GLuint color) @system @nogc nothrow;
20654     /// Ditto
20655     @OpenGL_Version(OGLIntroducedIn.Unknown)
20656     @OpenGL_Extension("GL_NV_fragment_coverage_to_color")
20657     fn_glFragmentCoverageColorNV glFragmentCoverageColorNV;
20658     alias fn_glFragmentLightModelfSGIX = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
20659     /// Ditto
20660     @OpenGL_Version(OGLIntroducedIn.Unknown)
20661     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20662     fn_glFragmentLightModelfSGIX glFragmentLightModelfSGIX;
20663     alias fn_glFragmentLightModelfvSGIX = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
20664     /// Ditto
20665     @OpenGL_Version(OGLIntroducedIn.Unknown)
20666     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20667     fn_glFragmentLightModelfvSGIX glFragmentLightModelfvSGIX;
20668     alias fn_glFragmentLightModeliSGIX = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
20669     /// Ditto
20670     @OpenGL_Version(OGLIntroducedIn.Unknown)
20671     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20672     fn_glFragmentLightModeliSGIX glFragmentLightModeliSGIX;
20673     alias fn_glFragmentLightModelivSGIX = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
20674     /// Ditto
20675     @OpenGL_Version(OGLIntroducedIn.Unknown)
20676     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20677     fn_glFragmentLightModelivSGIX glFragmentLightModelivSGIX;
20678     alias fn_glFragmentLightfSGIX = extern(C) void function(GLenum light, GLenum pname, GLfloat param) @system @nogc nothrow;
20679     /// Ditto
20680     @OpenGL_Version(OGLIntroducedIn.Unknown)
20681     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20682     fn_glFragmentLightfSGIX glFragmentLightfSGIX;
20683     alias fn_glFragmentLightfvSGIX = extern(C) void function(GLenum light, GLenum pname, const GLfloat* params) @system @nogc nothrow;
20684     /// Ditto
20685     @OpenGL_Version(OGLIntroducedIn.Unknown)
20686     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20687     fn_glFragmentLightfvSGIX glFragmentLightfvSGIX;
20688     alias fn_glFragmentLightiSGIX = extern(C) void function(GLenum light, GLenum pname, GLint param) @system @nogc nothrow;
20689     /// Ditto
20690     @OpenGL_Version(OGLIntroducedIn.Unknown)
20691     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20692     fn_glFragmentLightiSGIX glFragmentLightiSGIX;
20693     alias fn_glFragmentLightivSGIX = extern(C) void function(GLenum light, GLenum pname, const GLint* params) @system @nogc nothrow;
20694     /// Ditto
20695     @OpenGL_Version(OGLIntroducedIn.Unknown)
20696     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20697     fn_glFragmentLightivSGIX glFragmentLightivSGIX;
20698     alias fn_glFragmentMaterialfSGIX = extern(C) void function(GLenum face, GLenum pname, GLfloat param) @system @nogc nothrow;
20699     /// Ditto
20700     @OpenGL_Version(OGLIntroducedIn.Unknown)
20701     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20702     fn_glFragmentMaterialfSGIX glFragmentMaterialfSGIX;
20703     alias fn_glFragmentMaterialfvSGIX = extern(C) void function(GLenum face, GLenum pname, const GLfloat* params) @system @nogc nothrow;
20704     /// Ditto
20705     @OpenGL_Version(OGLIntroducedIn.Unknown)
20706     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20707     fn_glFragmentMaterialfvSGIX glFragmentMaterialfvSGIX;
20708     alias fn_glFragmentMaterialiSGIX = extern(C) void function(GLenum face, GLenum pname, GLint param) @system @nogc nothrow;
20709     /// Ditto
20710     @OpenGL_Version(OGLIntroducedIn.Unknown)
20711     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20712     fn_glFragmentMaterialiSGIX glFragmentMaterialiSGIX;
20713     alias fn_glFragmentMaterialivSGIX = extern(C) void function(GLenum face, GLenum pname, const GLint* params) @system @nogc nothrow;
20714     /// Ditto
20715     @OpenGL_Version(OGLIntroducedIn.Unknown)
20716     @OpenGL_Extension("GL_SGIX_fragment_lighting")
20717     fn_glFragmentMaterialivSGIX glFragmentMaterialivSGIX;
20718     alias fn_glFrameTerminatorGREMEDY = extern(C) void function() @system @nogc nothrow;
20719     /// Ditto
20720     @OpenGL_Version(OGLIntroducedIn.Unknown)
20721     @OpenGL_Extension("GL_GREMEDY_frame_terminator")
20722     fn_glFrameTerminatorGREMEDY glFrameTerminatorGREMEDY;
20723     alias fn_glFrameZoomSGIX = extern(C) void function(GLint factor) @system @nogc nothrow;
20724     /// Ditto
20725     @OpenGL_Version(OGLIntroducedIn.Unknown)
20726     @OpenGL_Extension("GL_SGIX_framezoom")
20727     fn_glFrameZoomSGIX glFrameZoomSGIX;
20728     alias fn_glFramebufferDrawBufferEXT = extern(C) void function(GLuint framebuffer, GLenum mode) @system @nogc nothrow;
20729     /// Ditto
20730     @OpenGL_Version(OGLIntroducedIn.Unknown)
20731     @OpenGL_Extension("GL_EXT_direct_state_access")
20732     fn_glFramebufferDrawBufferEXT glFramebufferDrawBufferEXT;
20733     alias fn_glFramebufferDrawBuffersEXT = extern(C) void function(GLuint framebuffer, GLsizei n, const GLenum* bufs) @system @nogc nothrow;
20734     /// Ditto
20735     @OpenGL_Version(OGLIntroducedIn.Unknown)
20736     @OpenGL_Extension("GL_EXT_direct_state_access")
20737     fn_glFramebufferDrawBuffersEXT glFramebufferDrawBuffersEXT;
20738     alias fn_glFramebufferPixelLocalStorageSizeEXT = extern(C) void function(GLuint target, GLsizei size) @system @nogc nothrow;
20739     /// Ditto
20740     @OpenGL_Version(OGLIntroducedIn.Unknown)
20741     @OpenGL_Extension("GL_EXT_shader_pixel_local_storage2")
20742     fn_glFramebufferPixelLocalStorageSizeEXT glFramebufferPixelLocalStorageSizeEXT;
20743     alias fn_glFramebufferReadBufferEXT = extern(C) void function(GLuint framebuffer, GLenum mode) @system @nogc nothrow;
20744     /// Ditto
20745     @OpenGL_Version(OGLIntroducedIn.Unknown)
20746     @OpenGL_Extension("GL_EXT_direct_state_access")
20747     fn_glFramebufferReadBufferEXT glFramebufferReadBufferEXT;
20748     alias fn_glFramebufferRenderbufferEXT = extern(C) void function(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) @system @nogc nothrow;
20749     /// Ditto
20750     @OpenGL_Version(OGLIntroducedIn.Unknown)
20751     @OpenGL_Extension("GL_EXT_framebuffer_object")
20752     fn_glFramebufferRenderbufferEXT glFramebufferRenderbufferEXT;
20753     alias fn_glFramebufferRenderbufferOES = extern(C) void function(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) @system @nogc nothrow;
20754     /// Ditto
20755     @OpenGL_Version(OGLIntroducedIn.Unknown)
20756     @OpenGL_Extension("GL_OES_framebuffer_object")
20757     fn_glFramebufferRenderbufferOES glFramebufferRenderbufferOES;
20758     alias fn_glFramebufferSampleLocationsfvARB = extern(C) void function(GLenum target, GLuint start, GLsizei count, const GLfloat* v) @system @nogc nothrow;
20759     /// Ditto
20760     @OpenGL_Version(OGLIntroducedIn.Unknown)
20761     @OpenGL_Extension("GL_ARB_sample_locations")
20762     fn_glFramebufferSampleLocationsfvARB glFramebufferSampleLocationsfvARB;
20763     alias fn_glFramebufferSampleLocationsfvNV = extern(C) void function(GLenum target, GLuint start, GLsizei count, const GLfloat* v) @system @nogc nothrow;
20764     /// Ditto
20765     @OpenGL_Version(OGLIntroducedIn.Unknown)
20766     @OpenGL_Extension("GL_NV_sample_locations")
20767     fn_glFramebufferSampleLocationsfvNV glFramebufferSampleLocationsfvNV;
20768     alias fn_glFramebufferTexture1DEXT = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
20769     /// Ditto
20770     @OpenGL_Version(OGLIntroducedIn.Unknown)
20771     @OpenGL_Extension("GL_EXT_framebuffer_object")
20772     fn_glFramebufferTexture1DEXT glFramebufferTexture1DEXT;
20773     alias fn_glFramebufferTexture2DEXT = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
20774     /// Ditto
20775     @OpenGL_Version(OGLIntroducedIn.Unknown)
20776     @OpenGL_Extension("GL_EXT_framebuffer_object")
20777     fn_glFramebufferTexture2DEXT glFramebufferTexture2DEXT;
20778     alias fn_glFramebufferTexture2DDownsampleIMG = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale) @system @nogc nothrow;
20779     /// Ditto
20780     @OpenGL_Version(OGLIntroducedIn.Unknown)
20781     @OpenGL_Extension("GL_IMG_framebuffer_downsample")
20782     fn_glFramebufferTexture2DDownsampleIMG glFramebufferTexture2DDownsampleIMG;
20783     alias fn_glFramebufferTexture2DMultisampleEXT = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) @system @nogc nothrow;
20784     /// Ditto
20785     @OpenGL_Version(OGLIntroducedIn.Unknown)
20786     @OpenGL_Extension("GL_EXT_multisampled_render_to_texture")
20787     fn_glFramebufferTexture2DMultisampleEXT glFramebufferTexture2DMultisampleEXT;
20788     alias fn_glFramebufferTexture2DMultisampleIMG = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) @system @nogc nothrow;
20789     /// Ditto
20790     @OpenGL_Version(OGLIntroducedIn.Unknown)
20791     @OpenGL_Extension("GL_IMG_multisampled_render_to_texture")
20792     fn_glFramebufferTexture2DMultisampleIMG glFramebufferTexture2DMultisampleIMG;
20793     alias fn_glFramebufferTexture2DOES = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
20794     /// Ditto
20795     @OpenGL_Version(OGLIntroducedIn.Unknown)
20796     @OpenGL_Extension("GL_OES_framebuffer_object")
20797     fn_glFramebufferTexture2DOES glFramebufferTexture2DOES;
20798     alias fn_glFramebufferTexture3DEXT = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) @system @nogc nothrow;
20799     /// Ditto
20800     @OpenGL_Version(OGLIntroducedIn.Unknown)
20801     @OpenGL_Extension("GL_EXT_framebuffer_object")
20802     fn_glFramebufferTexture3DEXT glFramebufferTexture3DEXT;
20803     alias fn_glFramebufferTexture3DOES = extern(C) void function(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) @system @nogc nothrow;
20804     /// Ditto
20805     @OpenGL_Version(OGLIntroducedIn.Unknown)
20806     @OpenGL_Extension("GL_OES_texture_3D")
20807     fn_glFramebufferTexture3DOES glFramebufferTexture3DOES;
20808     alias fn_glFramebufferTextureARB = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level) @system @nogc nothrow;
20809     /// Ditto
20810     @OpenGL_Version(OGLIntroducedIn.Unknown)
20811     @OpenGL_Extension("GL_ARB_geometry_shader4")
20812     fn_glFramebufferTextureARB glFramebufferTextureARB;
20813     alias fn_glFramebufferTextureEXT = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level) @system @nogc nothrow;
20814     /// Ditto
20815     @OpenGL_Version(OGLIntroducedIn.Unknown)
20816     @OpenGL_Extension("GL_EXT_geometry_shader")
20817     fn_glFramebufferTextureEXT glFramebufferTextureEXT;
20818     alias fn_glFramebufferTextureFaceARB = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) @system @nogc nothrow;
20819     /// Ditto
20820     @OpenGL_Version(OGLIntroducedIn.Unknown)
20821     @OpenGL_Extension("GL_ARB_geometry_shader4")
20822     fn_glFramebufferTextureFaceARB glFramebufferTextureFaceARB;
20823     alias fn_glFramebufferTextureFaceEXT = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) @system @nogc nothrow;
20824     /// Ditto
20825     @OpenGL_Version(OGLIntroducedIn.Unknown)
20826     @OpenGL_Extension("GL_NV_geometry_program4")
20827     fn_glFramebufferTextureFaceEXT glFramebufferTextureFaceEXT;
20828     alias fn_glFramebufferTextureLayerARB = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) @system @nogc nothrow;
20829     /// Ditto
20830     @OpenGL_Version(OGLIntroducedIn.Unknown)
20831     @OpenGL_Extension("GL_ARB_geometry_shader4")
20832     fn_glFramebufferTextureLayerARB glFramebufferTextureLayerARB;
20833     alias fn_glFramebufferTextureLayerEXT = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) @system @nogc nothrow;
20834     /// Ditto
20835     @OpenGL_Version(OGLIntroducedIn.Unknown)
20836     @OpenGL_Extension("GL_EXT_texture_array")
20837     fn_glFramebufferTextureLayerEXT glFramebufferTextureLayerEXT;
20838     alias fn_glFramebufferTextureLayerDownsampleIMG = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale) @system @nogc nothrow;
20839     /// Ditto
20840     @OpenGL_Version(OGLIntroducedIn.Unknown)
20841     @OpenGL_Extension("GL_IMG_framebuffer_downsample")
20842     fn_glFramebufferTextureLayerDownsampleIMG glFramebufferTextureLayerDownsampleIMG;
20843     alias fn_glFramebufferTextureMultisampleMultiviewOVR = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews) @system @nogc nothrow;
20844     /// Ditto
20845     @OpenGL_Version(OGLIntroducedIn.Unknown)
20846     @OpenGL_Extension("GL_OVR_multiview_multisampled_render_to_texture")
20847     fn_glFramebufferTextureMultisampleMultiviewOVR glFramebufferTextureMultisampleMultiviewOVR;
20848     alias fn_glFramebufferTextureMultiviewOVR = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews) @system @nogc nothrow;
20849     /// Ditto
20850     @OpenGL_Version(OGLIntroducedIn.Unknown)
20851     @OpenGL_Extension("GL_OVR_multiview")
20852     fn_glFramebufferTextureMultiviewOVR glFramebufferTextureMultiviewOVR;
20853     alias fn_glFramebufferTextureOES = extern(C) void function(GLenum target, GLenum attachment, GLuint texture, GLint level) @system @nogc nothrow;
20854     /// Ditto
20855     @OpenGL_Version(OGLIntroducedIn.Unknown)
20856     @OpenGL_Extension("GL_OES_geometry_shader")
20857     fn_glFramebufferTextureOES glFramebufferTextureOES;
20858     alias fn_glFreeObjectBufferATI = extern(C) void function(GLuint buffer) @system @nogc nothrow;
20859     /// Ditto
20860     @OpenGL_Version(OGLIntroducedIn.Unknown)
20861     @OpenGL_Extension("GL_ATI_vertex_array_object")
20862     fn_glFreeObjectBufferATI glFreeObjectBufferATI;
20863     alias fn_glFrustum = extern(C) void function(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) @system @nogc nothrow;
20864     /// Ditto
20865     @OpenGL_Version(OGLIntroducedIn.V1P0)
20866     fn_glFrustum glFrustum;
20867     alias fn_glFrustumf = extern(C) void function(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) @system @nogc nothrow;
20868     /// Ditto
20869     @OpenGL_Version(OGLIntroducedIn.Unknown)
20870     fn_glFrustumf glFrustumf;
20871     alias fn_glFrustumfOES = extern(C) void function(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) @system @nogc nothrow;
20872     /// Ditto
20873     @OpenGL_Version(OGLIntroducedIn.Unknown)
20874     @OpenGL_Extension("GL_OES_single_precision")
20875     fn_glFrustumfOES glFrustumfOES;
20876     alias fn_glFrustumx = extern(C) void function(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) @system @nogc nothrow;
20877     /// Ditto
20878     @OpenGL_Version(OGLIntroducedIn.Unknown)
20879     fn_glFrustumx glFrustumx;
20880     alias fn_glFrustumxOES = extern(C) void function(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) @system @nogc nothrow;
20881     /// Ditto
20882     @OpenGL_Version(OGLIntroducedIn.Unknown)
20883     @OpenGL_Extension("GL_OES_fixed_point")
20884     fn_glFrustumxOES glFrustumxOES;
20885     alias fn_glGenAsyncMarkersSGIX = extern(C) GLuint function(GLsizei range) @system @nogc nothrow;
20886     /// Ditto
20887     @OpenGL_Version(OGLIntroducedIn.Unknown)
20888     @OpenGL_Extension("GL_SGIX_async")
20889     fn_glGenAsyncMarkersSGIX glGenAsyncMarkersSGIX;
20890     alias fn_glGenBuffersARB = extern(C) void function(GLsizei n, GLuint* buffers) @system @nogc nothrow;
20891     /// Ditto
20892     @OpenGL_Version(OGLIntroducedIn.Unknown)
20893     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
20894     fn_glGenBuffersARB glGenBuffersARB;
20895     alias fn_glGenFencesAPPLE = extern(C) void function(GLsizei n, GLuint* fences) @system @nogc nothrow;
20896     /// Ditto
20897     @OpenGL_Version(OGLIntroducedIn.Unknown)
20898     @OpenGL_Extension("GL_APPLE_fence")
20899     fn_glGenFencesAPPLE glGenFencesAPPLE;
20900     alias fn_glGenFencesNV = extern(C) void function(GLsizei n, GLuint* fences) @system @nogc nothrow;
20901     /// Ditto
20902     @OpenGL_Version(OGLIntroducedIn.Unknown)
20903     @OpenGL_Extension("GL_NV_fence")
20904     fn_glGenFencesNV glGenFencesNV;
20905     alias fn_glGenFragmentShadersATI = extern(C) GLuint function(GLuint range) @system @nogc nothrow;
20906     /// Ditto
20907     @OpenGL_Version(OGLIntroducedIn.Unknown)
20908     @OpenGL_Extension("GL_ATI_fragment_shader")
20909     fn_glGenFragmentShadersATI glGenFragmentShadersATI;
20910     alias fn_glGenFramebuffersEXT = extern(C) void function(GLsizei n, GLuint* framebuffers) @system @nogc nothrow;
20911     /// Ditto
20912     @OpenGL_Version(OGLIntroducedIn.Unknown)
20913     @OpenGL_Extension("GL_EXT_framebuffer_object")
20914     fn_glGenFramebuffersEXT glGenFramebuffersEXT;
20915     alias fn_glGenFramebuffersOES = extern(C) void function(GLsizei n, GLuint* framebuffers) @system @nogc nothrow;
20916     /// Ditto
20917     @OpenGL_Version(OGLIntroducedIn.Unknown)
20918     @OpenGL_Extension("GL_OES_framebuffer_object")
20919     fn_glGenFramebuffersOES glGenFramebuffersOES;
20920     alias fn_glGenLists = extern(C) GLuint function(GLsizei range) @system @nogc nothrow;
20921     /// Ditto
20922     @OpenGL_Version(OGLIntroducedIn.V1P0)
20923     fn_glGenLists glGenLists;
20924     alias fn_glGenNamesAMD = extern(C) void function(GLenum identifier, GLuint num, GLuint* names) @system @nogc nothrow;
20925     /// Ditto
20926     @OpenGL_Version(OGLIntroducedIn.Unknown)
20927     @OpenGL_Extension("GL_AMD_name_gen_delete")
20928     fn_glGenNamesAMD glGenNamesAMD;
20929     alias fn_glGenOcclusionQueriesNV = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
20930     /// Ditto
20931     @OpenGL_Version(OGLIntroducedIn.Unknown)
20932     @OpenGL_Extension("GL_NV_occlusion_query")
20933     fn_glGenOcclusionQueriesNV glGenOcclusionQueriesNV;
20934     alias fn_glGenPathsNV = extern(C) GLuint function(GLsizei range) @system @nogc nothrow;
20935     /// Ditto
20936     @OpenGL_Version(OGLIntroducedIn.Unknown)
20937     @OpenGL_Extension("GL_NV_path_rendering")
20938     fn_glGenPathsNV glGenPathsNV;
20939     alias fn_glGenPerfMonitorsAMD = extern(C) void function(GLsizei n, GLuint* monitors) @system @nogc nothrow;
20940     /// Ditto
20941     @OpenGL_Version(OGLIntroducedIn.Unknown)
20942     @OpenGL_Extension("GL_AMD_performance_monitor")
20943     fn_glGenPerfMonitorsAMD glGenPerfMonitorsAMD;
20944     alias fn_glGenProgramPipelinesEXT = extern(C) void function(GLsizei n, GLuint* pipelines) @system @nogc nothrow;
20945     /// Ditto
20946     @OpenGL_Version(OGLIntroducedIn.Unknown)
20947     @OpenGL_Extension("GL_EXT_separate_shader_objects")
20948     fn_glGenProgramPipelinesEXT glGenProgramPipelinesEXT;
20949     alias fn_glGenProgramsARB = extern(C) void function(GLsizei n, GLuint* programs) @system @nogc nothrow;
20950     /// Ditto
20951     @OpenGL_Version(OGLIntroducedIn.Unknown)
20952     @OpenGL_Extension("GL_ARB_fragment_program")
20953     fn_glGenProgramsARB glGenProgramsARB;
20954     alias fn_glGenProgramsNV = extern(C) void function(GLsizei n, GLuint* programs) @system @nogc nothrow;
20955     /// Ditto
20956     @OpenGL_Version(OGLIntroducedIn.Unknown)
20957     @OpenGL_Extension("GL_NV_vertex_program")
20958     fn_glGenProgramsNV glGenProgramsNV;
20959     alias fn_glGenQueriesARB = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
20960     /// Ditto
20961     @OpenGL_Version(OGLIntroducedIn.Unknown)
20962     @OpenGL_Extension("GL_ARB_occlusion_query")
20963     fn_glGenQueriesARB glGenQueriesARB;
20964     alias fn_glGenQueriesEXT = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
20965     /// Ditto
20966     @OpenGL_Version(OGLIntroducedIn.Unknown)
20967     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
20968     fn_glGenQueriesEXT glGenQueriesEXT;
20969     alias fn_glGenRenderbuffersEXT = extern(C) void function(GLsizei n, GLuint* renderbuffers) @system @nogc nothrow;
20970     /// Ditto
20971     @OpenGL_Version(OGLIntroducedIn.Unknown)
20972     @OpenGL_Extension("GL_EXT_framebuffer_object")
20973     fn_glGenRenderbuffersEXT glGenRenderbuffersEXT;
20974     alias fn_glGenRenderbuffersOES = extern(C) void function(GLsizei n, GLuint* renderbuffers) @system @nogc nothrow;
20975     /// Ditto
20976     @OpenGL_Version(OGLIntroducedIn.Unknown)
20977     @OpenGL_Extension("GL_OES_framebuffer_object")
20978     fn_glGenRenderbuffersOES glGenRenderbuffersOES;
20979     alias fn_glGenSymbolsEXT = extern(C) GLuint function(GLenum datatype, GLenum storagetype, GLenum range, GLuint components) @system @nogc nothrow;
20980     /// Ditto
20981     @OpenGL_Version(OGLIntroducedIn.Unknown)
20982     @OpenGL_Extension("GL_EXT_vertex_shader")
20983     fn_glGenSymbolsEXT glGenSymbolsEXT;
20984     alias fn_glGenTexturesEXT = extern(C) void function(GLsizei n, GLuint* textures) @system @nogc nothrow;
20985     /// Ditto
20986     @OpenGL_Version(OGLIntroducedIn.Unknown)
20987     @OpenGL_Extension("GL_EXT_texture_object")
20988     fn_glGenTexturesEXT glGenTexturesEXT;
20989     alias fn_glGenTransformFeedbacksNV = extern(C) void function(GLsizei n, GLuint* ids) @system @nogc nothrow;
20990     /// Ditto
20991     @OpenGL_Version(OGLIntroducedIn.Unknown)
20992     @OpenGL_Extension("GL_NV_transform_feedback2")
20993     fn_glGenTransformFeedbacksNV glGenTransformFeedbacksNV;
20994     alias fn_glGenVertexArraysAPPLE = extern(C) void function(GLsizei n, GLuint* arrays) @system @nogc nothrow;
20995     /// Ditto
20996     @OpenGL_Version(OGLIntroducedIn.Unknown)
20997     @OpenGL_Extension("GL_APPLE_vertex_array_object")
20998     fn_glGenVertexArraysAPPLE glGenVertexArraysAPPLE;
20999     alias fn_glGenVertexArraysOES = extern(C) void function(GLsizei n, GLuint* arrays) @system @nogc nothrow;
21000     /// Ditto
21001     @OpenGL_Version(OGLIntroducedIn.Unknown)
21002     @OpenGL_Extension("GL_OES_vertex_array_object")
21003     fn_glGenVertexArraysOES glGenVertexArraysOES;
21004     alias fn_glGenVertexShadersEXT = extern(C) GLuint function(GLuint range) @system @nogc nothrow;
21005     /// Ditto
21006     @OpenGL_Version(OGLIntroducedIn.Unknown)
21007     @OpenGL_Extension("GL_EXT_vertex_shader")
21008     fn_glGenVertexShadersEXT glGenVertexShadersEXT;
21009     alias fn_glGenerateMipmapEXT = extern(C) void function(GLenum target) @system @nogc nothrow;
21010     /// Ditto
21011     @OpenGL_Version(OGLIntroducedIn.Unknown)
21012     @OpenGL_Extension("GL_EXT_framebuffer_object")
21013     fn_glGenerateMipmapEXT glGenerateMipmapEXT;
21014     alias fn_glGenerateMipmapOES = extern(C) void function(GLenum target) @system @nogc nothrow;
21015     /// Ditto
21016     @OpenGL_Version(OGLIntroducedIn.Unknown)
21017     @OpenGL_Extension("GL_OES_framebuffer_object")
21018     fn_glGenerateMipmapOES glGenerateMipmapOES;
21019     alias fn_glGenerateMultiTexMipmapEXT = extern(C) void function(GLenum texunit, GLenum target) @system @nogc nothrow;
21020     /// Ditto
21021     @OpenGL_Version(OGLIntroducedIn.Unknown)
21022     @OpenGL_Extension("GL_EXT_direct_state_access")
21023     fn_glGenerateMultiTexMipmapEXT glGenerateMultiTexMipmapEXT;
21024     alias fn_glGenerateTextureMipmapEXT = extern(C) void function(GLuint texture, GLenum target) @system @nogc nothrow;
21025     /// Ditto
21026     @OpenGL_Version(OGLIntroducedIn.Unknown)
21027     @OpenGL_Extension("GL_EXT_direct_state_access")
21028     fn_glGenerateTextureMipmapEXT glGenerateTextureMipmapEXT;
21029     alias fn_glGetActiveAttribARB = extern(C) void function(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLcharARB* name) @system @nogc nothrow;
21030     /// Ditto
21031     @OpenGL_Version(OGLIntroducedIn.Unknown)
21032     @OpenGL_Extension("GL_ARB_vertex_shader")
21033     fn_glGetActiveAttribARB glGetActiveAttribARB;
21034     alias fn_glGetActiveUniformARB = extern(C) void function(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLcharARB* name) @system @nogc nothrow;
21035     /// Ditto
21036     @OpenGL_Version(OGLIntroducedIn.Unknown)
21037     @OpenGL_Extension("GL_ARB_shader_objects")
21038     fn_glGetActiveUniformARB glGetActiveUniformARB;
21039     alias fn_glGetActiveVaryingNV = extern(C) void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) @system @nogc nothrow;
21040     /// Ditto
21041     @OpenGL_Version(OGLIntroducedIn.Unknown)
21042     @OpenGL_Extension("GL_NV_transform_feedback")
21043     fn_glGetActiveVaryingNV glGetActiveVaryingNV;
21044     alias fn_glGetArrayObjectfvATI = extern(C) void function(GLenum array, GLenum pname, GLfloat* params) @system @nogc nothrow;
21045     /// Ditto
21046     @OpenGL_Version(OGLIntroducedIn.Unknown)
21047     @OpenGL_Extension("GL_ATI_vertex_array_object")
21048     fn_glGetArrayObjectfvATI glGetArrayObjectfvATI;
21049     alias fn_glGetArrayObjectivATI = extern(C) void function(GLenum array, GLenum pname, GLint* params) @system @nogc nothrow;
21050     /// Ditto
21051     @OpenGL_Version(OGLIntroducedIn.Unknown)
21052     @OpenGL_Extension("GL_ATI_vertex_array_object")
21053     fn_glGetArrayObjectivATI glGetArrayObjectivATI;
21054     alias fn_glGetAttachedObjectsARB = extern(C) void function(GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB* obj) @system @nogc nothrow;
21055     /// Ditto
21056     @OpenGL_Version(OGLIntroducedIn.Unknown)
21057     @OpenGL_Extension("GL_ARB_shader_objects")
21058     fn_glGetAttachedObjectsARB glGetAttachedObjectsARB;
21059     alias fn_glGetAttribLocationARB = extern(C) GLint function(GLhandleARB programObj, const GLcharARB* name) @system @nogc nothrow;
21060     /// Ditto
21061     @OpenGL_Version(OGLIntroducedIn.Unknown)
21062     @OpenGL_Extension("GL_ARB_vertex_shader")
21063     fn_glGetAttribLocationARB glGetAttribLocationARB;
21064     alias fn_glGetBooleanIndexedvEXT = extern(C) void function(GLenum target, GLuint index, GLboolean* data) @system @nogc nothrow;
21065     /// Ditto
21066     @OpenGL_Version(OGLIntroducedIn.Unknown)
21067     @OpenGL_Extension("GL_EXT_direct_state_access")
21068     fn_glGetBooleanIndexedvEXT glGetBooleanIndexedvEXT;
21069     alias fn_glGetBooleani_v = extern(C) void function(GLenum target, GLuint index, GLboolean* data) @system @nogc nothrow;
21070     /// Ditto
21071     @OpenGL_Version(OGLIntroducedIn.V3P0)
21072     fn_glGetBooleani_v glGetBooleani_v;
21073     alias fn_glGetBufferParameterivARB = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21074     /// Ditto
21075     @OpenGL_Version(OGLIntroducedIn.Unknown)
21076     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
21077     fn_glGetBufferParameterivARB glGetBufferParameterivARB;
21078     alias fn_glGetBufferParameterui64vNV = extern(C) void function(GLenum target, GLenum pname, GLuint64EXT* params) @system @nogc nothrow;
21079     /// Ditto
21080     @OpenGL_Version(OGLIntroducedIn.Unknown)
21081     @OpenGL_Extension("GL_NV_shader_buffer_load")
21082     fn_glGetBufferParameterui64vNV glGetBufferParameterui64vNV;
21083     alias fn_glGetBufferPointervARB = extern(C) void function(GLenum target, GLenum pname, void** params) @system @nogc nothrow;
21084     /// Ditto
21085     @OpenGL_Version(OGLIntroducedIn.Unknown)
21086     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
21087     fn_glGetBufferPointervARB glGetBufferPointervARB;
21088     alias fn_glGetBufferPointervOES = extern(C) void function(GLenum target, GLenum pname, void** params) @system @nogc nothrow;
21089     /// Ditto
21090     @OpenGL_Version(OGLIntroducedIn.Unknown)
21091     @OpenGL_Extension("GL_OES_mapbuffer")
21092     fn_glGetBufferPointervOES glGetBufferPointervOES;
21093     alias fn_glGetBufferSubDataARB = extern(C) void function(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void* data) @system @nogc nothrow;
21094     /// Ditto
21095     @OpenGL_Version(OGLIntroducedIn.Unknown)
21096     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
21097     fn_glGetBufferSubDataARB glGetBufferSubDataARB;
21098     alias fn_glGetClipPlane = extern(C) void function(GLenum plane, GLdouble* equation) @system @nogc nothrow;
21099     /// Ditto
21100     @OpenGL_Version(OGLIntroducedIn.V1P0)
21101     fn_glGetClipPlane glGetClipPlane;
21102     alias fn_glGetClipPlanef = extern(C) void function(GLenum plane, GLfloat* equation) @system @nogc nothrow;
21103     /// Ditto
21104     @OpenGL_Version(OGLIntroducedIn.Unknown)
21105     fn_glGetClipPlanef glGetClipPlanef;
21106     alias fn_glGetClipPlanefOES = extern(C) void function(GLenum plane, GLfloat* equation) @system @nogc nothrow;
21107     /// Ditto
21108     @OpenGL_Version(OGLIntroducedIn.Unknown)
21109     @OpenGL_Extension("GL_OES_single_precision")
21110     fn_glGetClipPlanefOES glGetClipPlanefOES;
21111     alias fn_glGetClipPlanex = extern(C) void function(GLenum plane, GLfixed* equation) @system @nogc nothrow;
21112     /// Ditto
21113     @OpenGL_Version(OGLIntroducedIn.Unknown)
21114     fn_glGetClipPlanex glGetClipPlanex;
21115     alias fn_glGetClipPlanexOES = extern(C) void function(GLenum plane, GLfixed* equation) @system @nogc nothrow;
21116     /// Ditto
21117     @OpenGL_Version(OGLIntroducedIn.Unknown)
21118     @OpenGL_Extension("GL_OES_fixed_point")
21119     fn_glGetClipPlanexOES glGetClipPlanexOES;
21120     alias fn_glGetColorTable = extern(C) void function(GLenum target, GLenum format, GLenum type, void* table) @system @nogc nothrow;
21121     /// Ditto
21122     @OpenGL_Version(OGLIntroducedIn.Unknown)
21123     @OpenGL_Extension("GL_ARB_imaging")
21124     fn_glGetColorTable glGetColorTable;
21125     alias fn_glGetColorTableEXT = extern(C) void function(GLenum target, GLenum format, GLenum type, void* data) @system @nogc nothrow;
21126     /// Ditto
21127     @OpenGL_Version(OGLIntroducedIn.Unknown)
21128     @OpenGL_Extension("GL_EXT_paletted_texture")
21129     fn_glGetColorTableEXT glGetColorTableEXT;
21130     alias fn_glGetColorTableParameterfv = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21131     /// Ditto
21132     @OpenGL_Version(OGLIntroducedIn.Unknown)
21133     @OpenGL_Extension("GL_ARB_imaging")
21134     fn_glGetColorTableParameterfv glGetColorTableParameterfv;
21135     alias fn_glGetColorTableParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21136     /// Ditto
21137     @OpenGL_Version(OGLIntroducedIn.Unknown)
21138     @OpenGL_Extension("GL_EXT_paletted_texture")
21139     fn_glGetColorTableParameterfvEXT glGetColorTableParameterfvEXT;
21140     alias fn_glGetColorTableParameterfvSGI = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21141     /// Ditto
21142     @OpenGL_Version(OGLIntroducedIn.Unknown)
21143     @OpenGL_Extension("GL_SGI_color_table")
21144     fn_glGetColorTableParameterfvSGI glGetColorTableParameterfvSGI;
21145     alias fn_glGetColorTableParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21146     /// Ditto
21147     @OpenGL_Version(OGLIntroducedIn.Unknown)
21148     @OpenGL_Extension("GL_ARB_imaging")
21149     fn_glGetColorTableParameteriv glGetColorTableParameteriv;
21150     alias fn_glGetColorTableParameterivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21151     /// Ditto
21152     @OpenGL_Version(OGLIntroducedIn.Unknown)
21153     @OpenGL_Extension("GL_EXT_paletted_texture")
21154     fn_glGetColorTableParameterivEXT glGetColorTableParameterivEXT;
21155     alias fn_glGetColorTableParameterivSGI = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21156     /// Ditto
21157     @OpenGL_Version(OGLIntroducedIn.Unknown)
21158     @OpenGL_Extension("GL_SGI_color_table")
21159     fn_glGetColorTableParameterivSGI glGetColorTableParameterivSGI;
21160     alias fn_glGetColorTableSGI = extern(C) void function(GLenum target, GLenum format, GLenum type, void* table) @system @nogc nothrow;
21161     /// Ditto
21162     @OpenGL_Version(OGLIntroducedIn.Unknown)
21163     @OpenGL_Extension("GL_SGI_color_table")
21164     fn_glGetColorTableSGI glGetColorTableSGI;
21165     alias fn_glGetCombinerInputParameterfvNV = extern(C) void function(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params) @system @nogc nothrow;
21166     /// Ditto
21167     @OpenGL_Version(OGLIntroducedIn.Unknown)
21168     @OpenGL_Extension("GL_NV_register_combiners")
21169     fn_glGetCombinerInputParameterfvNV glGetCombinerInputParameterfvNV;
21170     alias fn_glGetCombinerInputParameterivNV = extern(C) void function(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params) @system @nogc nothrow;
21171     /// Ditto
21172     @OpenGL_Version(OGLIntroducedIn.Unknown)
21173     @OpenGL_Extension("GL_NV_register_combiners")
21174     fn_glGetCombinerInputParameterivNV glGetCombinerInputParameterivNV;
21175     alias fn_glGetCombinerOutputParameterfvNV = extern(C) void function(GLenum stage, GLenum portion, GLenum pname, GLfloat* params) @system @nogc nothrow;
21176     /// Ditto
21177     @OpenGL_Version(OGLIntroducedIn.Unknown)
21178     @OpenGL_Extension("GL_NV_register_combiners")
21179     fn_glGetCombinerOutputParameterfvNV glGetCombinerOutputParameterfvNV;
21180     alias fn_glGetCombinerOutputParameterivNV = extern(C) void function(GLenum stage, GLenum portion, GLenum pname, GLint* params) @system @nogc nothrow;
21181     /// Ditto
21182     @OpenGL_Version(OGLIntroducedIn.Unknown)
21183     @OpenGL_Extension("GL_NV_register_combiners")
21184     fn_glGetCombinerOutputParameterivNV glGetCombinerOutputParameterivNV;
21185     alias fn_glGetCombinerStageParameterfvNV = extern(C) void function(GLenum stage, GLenum pname, GLfloat* params) @system @nogc nothrow;
21186     /// Ditto
21187     @OpenGL_Version(OGLIntroducedIn.Unknown)
21188     @OpenGL_Extension("GL_NV_register_combiners2")
21189     fn_glGetCombinerStageParameterfvNV glGetCombinerStageParameterfvNV;
21190     alias fn_glGetCommandHeaderNV = extern(C) GLuint function(GLenum tokenID, GLuint size) @system @nogc nothrow;
21191     /// Ditto
21192     @OpenGL_Version(OGLIntroducedIn.Unknown)
21193     @OpenGL_Extension("GL_NV_command_list")
21194     fn_glGetCommandHeaderNV glGetCommandHeaderNV;
21195     alias fn_glGetCompressedMultiTexImageEXT = extern(C) void function(GLenum texunit, GLenum target, GLint lod, void* img) @system @nogc nothrow;
21196     /// Ditto
21197     @OpenGL_Version(OGLIntroducedIn.Unknown)
21198     @OpenGL_Extension("GL_EXT_direct_state_access")
21199     fn_glGetCompressedMultiTexImageEXT glGetCompressedMultiTexImageEXT;
21200     alias fn_glGetCompressedTexImageARB = extern(C) void function(GLenum target, GLint level, void* img) @system @nogc nothrow;
21201     /// Ditto
21202     @OpenGL_Version(OGLIntroducedIn.Unknown)
21203     @OpenGL_Extension("GL_ARB_texture_compression")
21204     fn_glGetCompressedTexImageARB glGetCompressedTexImageARB;
21205     alias fn_glGetCompressedTextureImageEXT = extern(C) void function(GLuint texture, GLenum target, GLint lod, void* img) @system @nogc nothrow;
21206     /// Ditto
21207     @OpenGL_Version(OGLIntroducedIn.Unknown)
21208     @OpenGL_Extension("GL_EXT_direct_state_access")
21209     fn_glGetCompressedTextureImageEXT glGetCompressedTextureImageEXT;
21210     alias fn_glGetConvolutionFilter = extern(C) void function(GLenum target, GLenum format, GLenum type, void* image) @system @nogc nothrow;
21211     /// Ditto
21212     @OpenGL_Version(OGLIntroducedIn.Unknown)
21213     @OpenGL_Extension("GL_ARB_imaging")
21214     fn_glGetConvolutionFilter glGetConvolutionFilter;
21215     alias fn_glGetConvolutionFilterEXT = extern(C) void function(GLenum target, GLenum format, GLenum type, void* image) @system @nogc nothrow;
21216     /// Ditto
21217     @OpenGL_Version(OGLIntroducedIn.Unknown)
21218     @OpenGL_Extension("GL_EXT_convolution")
21219     fn_glGetConvolutionFilterEXT glGetConvolutionFilterEXT;
21220     alias fn_glGetConvolutionParameterfv = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21221     /// Ditto
21222     @OpenGL_Version(OGLIntroducedIn.Unknown)
21223     @OpenGL_Extension("GL_ARB_imaging")
21224     fn_glGetConvolutionParameterfv glGetConvolutionParameterfv;
21225     alias fn_glGetConvolutionParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21226     /// Ditto
21227     @OpenGL_Version(OGLIntroducedIn.Unknown)
21228     @OpenGL_Extension("GL_EXT_convolution")
21229     fn_glGetConvolutionParameterfvEXT glGetConvolutionParameterfvEXT;
21230     alias fn_glGetConvolutionParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21231     /// Ditto
21232     @OpenGL_Version(OGLIntroducedIn.Unknown)
21233     @OpenGL_Extension("GL_ARB_imaging")
21234     fn_glGetConvolutionParameteriv glGetConvolutionParameteriv;
21235     alias fn_glGetConvolutionParameterivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21236     /// Ditto
21237     @OpenGL_Version(OGLIntroducedIn.Unknown)
21238     @OpenGL_Extension("GL_EXT_convolution")
21239     fn_glGetConvolutionParameterivEXT glGetConvolutionParameterivEXT;
21240     alias fn_glGetConvolutionParameterxvOES = extern(C) void function(GLenum target, GLenum pname, GLfixed* params) @system @nogc nothrow;
21241     /// Ditto
21242     @OpenGL_Version(OGLIntroducedIn.Unknown)
21243     @OpenGL_Extension("GL_OES_fixed_point")
21244     fn_glGetConvolutionParameterxvOES glGetConvolutionParameterxvOES;
21245     alias fn_glGetCoverageModulationTableNV = extern(C) void function(GLsizei bufsize, GLfloat* v) @system @nogc nothrow;
21246     /// Ditto
21247     @OpenGL_Version(OGLIntroducedIn.Unknown)
21248     @OpenGL_Extension("GL_NV_framebuffer_mixed_samples")
21249     fn_glGetCoverageModulationTableNV glGetCoverageModulationTableNV;
21250     alias fn_glGetDebugMessageLogAMD = extern(C) GLuint function(GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message) @system @nogc nothrow;
21251     /// Ditto
21252     @OpenGL_Version(OGLIntroducedIn.Unknown)
21253     @OpenGL_Extension("GL_AMD_debug_output")
21254     fn_glGetDebugMessageLogAMD glGetDebugMessageLogAMD;
21255     alias fn_glGetDebugMessageLogARB = extern(C) GLuint function(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) @system @nogc nothrow;
21256     /// Ditto
21257     @OpenGL_Version(OGLIntroducedIn.Unknown)
21258     @OpenGL_Extension("GL_ARB_debug_output")
21259     fn_glGetDebugMessageLogARB glGetDebugMessageLogARB;
21260     alias fn_glGetDebugMessageLogKHR = extern(C) GLuint function(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog) @system @nogc nothrow;
21261     /// Ditto
21262     @OpenGL_Version(OGLIntroducedIn.Unknown)
21263     @OpenGL_Extension("GL_KHR_debug")
21264     fn_glGetDebugMessageLogKHR glGetDebugMessageLogKHR;
21265     alias fn_glGetDetailTexFuncSGIS = extern(C) void function(GLenum target, GLfloat* points) @system @nogc nothrow;
21266     /// Ditto
21267     @OpenGL_Version(OGLIntroducedIn.Unknown)
21268     @OpenGL_Extension("GL_SGIS_detail_texture")
21269     fn_glGetDetailTexFuncSGIS glGetDetailTexFuncSGIS;
21270     alias fn_glGetDoubleIndexedvEXT = extern(C) void function(GLenum target, GLuint index, GLdouble* data) @system @nogc nothrow;
21271     /// Ditto
21272     @OpenGL_Version(OGLIntroducedIn.Unknown)
21273     @OpenGL_Extension("GL_EXT_direct_state_access")
21274     fn_glGetDoubleIndexedvEXT glGetDoubleIndexedvEXT;
21275     alias fn_glGetDoublei_v = extern(C) void function(GLenum target, GLuint index, GLdouble* data) @system @nogc nothrow;
21276     /// Ditto
21277     @OpenGL_Version(OGLIntroducedIn.V4P1)
21278     @OpenGL_Extension("GL_ARB_viewport_array")
21279     fn_glGetDoublei_v glGetDoublei_v;
21280     alias fn_glGetDoublei_vEXT = extern(C) void function(GLenum pname, GLuint index, GLdouble* params) @system @nogc nothrow;
21281     /// Ditto
21282     @OpenGL_Version(OGLIntroducedIn.Unknown)
21283     @OpenGL_Extension("GL_EXT_direct_state_access")
21284     fn_glGetDoublei_vEXT glGetDoublei_vEXT;
21285     alias fn_glGetDoublev = extern(C) void function(GLenum pname, GLdouble* data) @system @nogc nothrow;
21286     /// Ditto
21287     @OpenGL_Version(OGLIntroducedIn.V1P0)
21288     fn_glGetDoublev glGetDoublev;
21289     alias fn_glGetDriverControlStringQCOM = extern(C) void function(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString) @system @nogc nothrow;
21290     /// Ditto
21291     @OpenGL_Version(OGLIntroducedIn.Unknown)
21292     @OpenGL_Extension("GL_QCOM_driver_control")
21293     fn_glGetDriverControlStringQCOM glGetDriverControlStringQCOM;
21294     alias fn_glGetDriverControlsQCOM = extern(C) void function(GLint* num, GLsizei size, GLuint* driverControls) @system @nogc nothrow;
21295     /// Ditto
21296     @OpenGL_Version(OGLIntroducedIn.Unknown)
21297     @OpenGL_Extension("GL_QCOM_driver_control")
21298     fn_glGetDriverControlsQCOM glGetDriverControlsQCOM;
21299     alias fn_glGetFenceivNV = extern(C) void function(GLuint fence, GLenum pname, GLint* params) @system @nogc nothrow;
21300     /// Ditto
21301     @OpenGL_Version(OGLIntroducedIn.Unknown)
21302     @OpenGL_Extension("GL_NV_fence")
21303     fn_glGetFenceivNV glGetFenceivNV;
21304     alias fn_glGetFinalCombinerInputParameterfvNV = extern(C) void function(GLenum variable, GLenum pname, GLfloat* params) @system @nogc nothrow;
21305     /// Ditto
21306     @OpenGL_Version(OGLIntroducedIn.Unknown)
21307     @OpenGL_Extension("GL_NV_register_combiners")
21308     fn_glGetFinalCombinerInputParameterfvNV glGetFinalCombinerInputParameterfvNV;
21309     alias fn_glGetFinalCombinerInputParameterivNV = extern(C) void function(GLenum variable, GLenum pname, GLint* params) @system @nogc nothrow;
21310     /// Ditto
21311     @OpenGL_Version(OGLIntroducedIn.Unknown)
21312     @OpenGL_Extension("GL_NV_register_combiners")
21313     fn_glGetFinalCombinerInputParameterivNV glGetFinalCombinerInputParameterivNV;
21314     alias fn_glGetFirstPerfQueryIdINTEL = extern(C) void function(GLuint* queryId) @system @nogc nothrow;
21315     /// Ditto
21316     @OpenGL_Version(OGLIntroducedIn.Unknown)
21317     @OpenGL_Extension("GL_INTEL_performance_query")
21318     fn_glGetFirstPerfQueryIdINTEL glGetFirstPerfQueryIdINTEL;
21319     alias fn_glGetFixedv = extern(C) void function(GLenum pname, GLfixed* params) @system @nogc nothrow;
21320     /// Ditto
21321     @OpenGL_Version(OGLIntroducedIn.Unknown)
21322     fn_glGetFixedv glGetFixedv;
21323     alias fn_glGetFixedvOES = extern(C) void function(GLenum pname, GLfixed* params) @system @nogc nothrow;
21324     /// Ditto
21325     @OpenGL_Version(OGLIntroducedIn.Unknown)
21326     @OpenGL_Extension("GL_OES_fixed_point")
21327     fn_glGetFixedvOES glGetFixedvOES;
21328     alias fn_glGetFloatIndexedvEXT = extern(C) void function(GLenum target, GLuint index, GLfloat* data) @system @nogc nothrow;
21329     /// Ditto
21330     @OpenGL_Version(OGLIntroducedIn.Unknown)
21331     @OpenGL_Extension("GL_EXT_direct_state_access")
21332     fn_glGetFloatIndexedvEXT glGetFloatIndexedvEXT;
21333     alias fn_glGetFloati_v = extern(C) void function(GLenum target, GLuint index, GLfloat* data) @system @nogc nothrow;
21334     /// Ditto
21335     @OpenGL_Version(OGLIntroducedIn.V4P1)
21336     @OpenGL_Extension("GL_ARB_viewport_array")
21337     fn_glGetFloati_v glGetFloati_v;
21338     alias fn_glGetFloati_vEXT = extern(C) void function(GLenum pname, GLuint index, GLfloat* params) @system @nogc nothrow;
21339     /// Ditto
21340     @OpenGL_Version(OGLIntroducedIn.Unknown)
21341     @OpenGL_Extension("GL_EXT_direct_state_access")
21342     fn_glGetFloati_vEXT glGetFloati_vEXT;
21343     alias fn_glGetFloati_vNV = extern(C) void function(GLenum target, GLuint index, GLfloat* data) @system @nogc nothrow;
21344     /// Ditto
21345     @OpenGL_Version(OGLIntroducedIn.Unknown)
21346     @OpenGL_Extension("GL_NV_viewport_array")
21347     fn_glGetFloati_vNV glGetFloati_vNV;
21348     alias fn_glGetFloati_vOES = extern(C) void function(GLenum target, GLuint index, GLfloat* data) @system @nogc nothrow;
21349     /// Ditto
21350     @OpenGL_Version(OGLIntroducedIn.Unknown)
21351     @OpenGL_Extension("GL_OES_viewport_array")
21352     fn_glGetFloati_vOES glGetFloati_vOES;
21353     alias fn_glGetFloatv = extern(C) void function(GLenum pname, GLfloat* data) @system @nogc nothrow;
21354     /// Ditto
21355     @OpenGL_Version(OGLIntroducedIn.V1P0)
21356     fn_glGetFloatv glGetFloatv;
21357     alias fn_glGetFogFuncSGIS = extern(C) void function(GLfloat* points) @system @nogc nothrow;
21358     /// Ditto
21359     @OpenGL_Version(OGLIntroducedIn.Unknown)
21360     @OpenGL_Extension("GL_SGIS_fog_function")
21361     fn_glGetFogFuncSGIS glGetFogFuncSGIS;
21362     alias fn_glGetFragDataIndexEXT = extern(C) GLint function(GLuint program, const GLchar* name) @system @nogc nothrow;
21363     /// Ditto
21364     @OpenGL_Version(OGLIntroducedIn.Unknown)
21365     @OpenGL_Extension("GL_EXT_blend_func_extended")
21366     fn_glGetFragDataIndexEXT glGetFragDataIndexEXT;
21367     alias fn_glGetFragDataLocationEXT = extern(C) GLint function(GLuint program, const GLchar* name) @system @nogc nothrow;
21368     /// Ditto
21369     @OpenGL_Version(OGLIntroducedIn.Unknown)
21370     @OpenGL_Extension("GL_EXT_gpu_shader4")
21371     fn_glGetFragDataLocationEXT glGetFragDataLocationEXT;
21372     alias fn_glGetFragmentLightfvSGIX = extern(C) void function(GLenum light, GLenum pname, GLfloat* params) @system @nogc nothrow;
21373     /// Ditto
21374     @OpenGL_Version(OGLIntroducedIn.Unknown)
21375     @OpenGL_Extension("GL_SGIX_fragment_lighting")
21376     fn_glGetFragmentLightfvSGIX glGetFragmentLightfvSGIX;
21377     alias fn_glGetFragmentLightivSGIX = extern(C) void function(GLenum light, GLenum pname, GLint* params) @system @nogc nothrow;
21378     /// Ditto
21379     @OpenGL_Version(OGLIntroducedIn.Unknown)
21380     @OpenGL_Extension("GL_SGIX_fragment_lighting")
21381     fn_glGetFragmentLightivSGIX glGetFragmentLightivSGIX;
21382     alias fn_glGetFragmentMaterialfvSGIX = extern(C) void function(GLenum face, GLenum pname, GLfloat* params) @system @nogc nothrow;
21383     /// Ditto
21384     @OpenGL_Version(OGLIntroducedIn.Unknown)
21385     @OpenGL_Extension("GL_SGIX_fragment_lighting")
21386     fn_glGetFragmentMaterialfvSGIX glGetFragmentMaterialfvSGIX;
21387     alias fn_glGetFragmentMaterialivSGIX = extern(C) void function(GLenum face, GLenum pname, GLint* params) @system @nogc nothrow;
21388     /// Ditto
21389     @OpenGL_Version(OGLIntroducedIn.Unknown)
21390     @OpenGL_Extension("GL_SGIX_fragment_lighting")
21391     fn_glGetFragmentMaterialivSGIX glGetFragmentMaterialivSGIX;
21392     alias fn_glGetFramebufferAttachmentParameterivEXT = extern(C) void function(GLenum target, GLenum attachment, GLenum pname, GLint* params) @system @nogc nothrow;
21393     /// Ditto
21394     @OpenGL_Version(OGLIntroducedIn.Unknown)
21395     @OpenGL_Extension("GL_EXT_framebuffer_object")
21396     fn_glGetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT;
21397     alias fn_glGetFramebufferAttachmentParameterivOES = extern(C) void function(GLenum target, GLenum attachment, GLenum pname, GLint* params) @system @nogc nothrow;
21398     /// Ditto
21399     @OpenGL_Version(OGLIntroducedIn.Unknown)
21400     @OpenGL_Extension("GL_OES_framebuffer_object")
21401     fn_glGetFramebufferAttachmentParameterivOES glGetFramebufferAttachmentParameterivOES;
21402     alias fn_glGetFramebufferParameterivEXT = extern(C) void function(GLuint framebuffer, GLenum pname, GLint* params) @system @nogc nothrow;
21403     /// Ditto
21404     @OpenGL_Version(OGLIntroducedIn.Unknown)
21405     @OpenGL_Extension("GL_EXT_direct_state_access")
21406     fn_glGetFramebufferParameterivEXT glGetFramebufferParameterivEXT;
21407     alias fn_glGetFramebufferPixelLocalStorageSizeEXT = extern(C) GLsizei function(GLuint target) @system @nogc nothrow;
21408     /// Ditto
21409     @OpenGL_Version(OGLIntroducedIn.Unknown)
21410     @OpenGL_Extension("GL_EXT_shader_pixel_local_storage2")
21411     fn_glGetFramebufferPixelLocalStorageSizeEXT glGetFramebufferPixelLocalStorageSizeEXT;
21412     alias fn_glGetGraphicsResetStatusARB = extern(C) GLenum function() @system @nogc nothrow;
21413     /// Ditto
21414     @OpenGL_Version(OGLIntroducedIn.Unknown)
21415     @OpenGL_Extension("GL_ARB_robustness")
21416     fn_glGetGraphicsResetStatusARB glGetGraphicsResetStatusARB;
21417     alias fn_glGetGraphicsResetStatusEXT = extern(C) GLenum function() @system @nogc nothrow;
21418     /// Ditto
21419     @OpenGL_Version(OGLIntroducedIn.Unknown)
21420     @OpenGL_Extension("GL_EXT_robustness")
21421     fn_glGetGraphicsResetStatusEXT glGetGraphicsResetStatusEXT;
21422     alias fn_glGetGraphicsResetStatusKHR = extern(C) GLenum function() @system @nogc nothrow;
21423     /// Ditto
21424     @OpenGL_Version(OGLIntroducedIn.Unknown)
21425     @OpenGL_Extension("GL_KHR_robustness")
21426     fn_glGetGraphicsResetStatusKHR glGetGraphicsResetStatusKHR;
21427     alias fn_glGetHandleARB = extern(C) GLhandleARB function(GLenum pname) @system @nogc nothrow;
21428     /// Ditto
21429     @OpenGL_Version(OGLIntroducedIn.Unknown)
21430     @OpenGL_Extension("GL_ARB_shader_objects")
21431     fn_glGetHandleARB glGetHandleARB;
21432     alias fn_glGetHistogram = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, void* values) @system @nogc nothrow;
21433     /// Ditto
21434     @OpenGL_Version(OGLIntroducedIn.Unknown)
21435     @OpenGL_Extension("GL_ARB_imaging")
21436     fn_glGetHistogram glGetHistogram;
21437     alias fn_glGetHistogramEXT = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, void* values) @system @nogc nothrow;
21438     /// Ditto
21439     @OpenGL_Version(OGLIntroducedIn.Unknown)
21440     @OpenGL_Extension("GL_EXT_histogram")
21441     fn_glGetHistogramEXT glGetHistogramEXT;
21442     alias fn_glGetHistogramParameterfv = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21443     /// Ditto
21444     @OpenGL_Version(OGLIntroducedIn.Unknown)
21445     @OpenGL_Extension("GL_ARB_imaging")
21446     fn_glGetHistogramParameterfv glGetHistogramParameterfv;
21447     alias fn_glGetHistogramParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21448     /// Ditto
21449     @OpenGL_Version(OGLIntroducedIn.Unknown)
21450     @OpenGL_Extension("GL_EXT_histogram")
21451     fn_glGetHistogramParameterfvEXT glGetHistogramParameterfvEXT;
21452     alias fn_glGetHistogramParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21453     /// Ditto
21454     @OpenGL_Version(OGLIntroducedIn.Unknown)
21455     @OpenGL_Extension("GL_ARB_imaging")
21456     fn_glGetHistogramParameteriv glGetHistogramParameteriv;
21457     alias fn_glGetHistogramParameterivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21458     /// Ditto
21459     @OpenGL_Version(OGLIntroducedIn.Unknown)
21460     @OpenGL_Extension("GL_EXT_histogram")
21461     fn_glGetHistogramParameterivEXT glGetHistogramParameterivEXT;
21462     alias fn_glGetHistogramParameterxvOES = extern(C) void function(GLenum target, GLenum pname, GLfixed* params) @system @nogc nothrow;
21463     /// Ditto
21464     @OpenGL_Version(OGLIntroducedIn.Unknown)
21465     @OpenGL_Extension("GL_OES_fixed_point")
21466     fn_glGetHistogramParameterxvOES glGetHistogramParameterxvOES;
21467     alias fn_glGetImageHandleARB = extern(C) GLuint64 function(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) @system @nogc nothrow;
21468     /// Ditto
21469     @OpenGL_Version(OGLIntroducedIn.Unknown)
21470     @OpenGL_Extension("GL_ARB_bindless_texture")
21471     fn_glGetImageHandleARB glGetImageHandleARB;
21472     alias fn_glGetImageHandleNV = extern(C) GLuint64 function(GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format) @system @nogc nothrow;
21473     /// Ditto
21474     @OpenGL_Version(OGLIntroducedIn.Unknown)
21475     @OpenGL_Extension("GL_NV_bindless_texture")
21476     fn_glGetImageHandleNV glGetImageHandleNV;
21477     alias fn_glGetImageTransformParameterfvHP = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21478     /// Ditto
21479     @OpenGL_Version(OGLIntroducedIn.Unknown)
21480     @OpenGL_Extension("GL_HP_image_transform")
21481     fn_glGetImageTransformParameterfvHP glGetImageTransformParameterfvHP;
21482     alias fn_glGetImageTransformParameterivHP = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21483     /// Ditto
21484     @OpenGL_Version(OGLIntroducedIn.Unknown)
21485     @OpenGL_Extension("GL_HP_image_transform")
21486     fn_glGetImageTransformParameterivHP glGetImageTransformParameterivHP;
21487     alias fn_glGetInfoLogARB = extern(C) void function(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* infoLog) @system @nogc nothrow;
21488     /// Ditto
21489     @OpenGL_Version(OGLIntroducedIn.Unknown)
21490     @OpenGL_Extension("GL_ARB_shader_objects")
21491     fn_glGetInfoLogARB glGetInfoLogARB;
21492     alias fn_glGetInstrumentsSGIX = extern(C) GLint function() @system @nogc nothrow;
21493     /// Ditto
21494     @OpenGL_Version(OGLIntroducedIn.Unknown)
21495     @OpenGL_Extension("GL_SGIX_instruments")
21496     fn_glGetInstrumentsSGIX glGetInstrumentsSGIX;
21497     alias fn_glGetInteger64i_v = extern(C) void function(GLenum target, GLuint index, GLint64* data) @system @nogc nothrow;
21498     /// Ditto
21499     @OpenGL_Version(OGLIntroducedIn.V3P2)
21500     fn_glGetInteger64i_v glGetInteger64i_v;
21501     alias fn_glGetInteger64v = extern(C) void function(GLenum pname, GLint64* data) @system @nogc nothrow;
21502     /// Ditto
21503     @OpenGL_Version(OGLIntroducedIn.V3P2)
21504     @OpenGL_Extension("GL_ARB_sync")
21505     fn_glGetInteger64v glGetInteger64v;
21506     alias fn_glGetInteger64vAPPLE = extern(C) void function(GLenum pname, GLint64* params) @system @nogc nothrow;
21507     /// Ditto
21508     @OpenGL_Version(OGLIntroducedIn.Unknown)
21509     @OpenGL_Extension("GL_APPLE_sync")
21510     fn_glGetInteger64vAPPLE glGetInteger64vAPPLE;
21511     alias fn_glGetIntegerIndexedvEXT = extern(C) void function(GLenum target, GLuint index, GLint* data) @system @nogc nothrow;
21512     /// Ditto
21513     @OpenGL_Version(OGLIntroducedIn.Unknown)
21514     @OpenGL_Extension("GL_EXT_direct_state_access")
21515     fn_glGetIntegerIndexedvEXT glGetIntegerIndexedvEXT;
21516     alias fn_glGetIntegeri_v = extern(C) void function(GLenum target, GLuint index, GLint* data) @system @nogc nothrow;
21517     /// Ditto
21518     @OpenGL_Version(OGLIntroducedIn.V3P0)
21519     @OpenGL_Extension("GL_ARB_uniform_buffer_object")
21520     fn_glGetIntegeri_v glGetIntegeri_v;
21521     alias fn_glGetIntegeri_vEXT = extern(C) void function(GLenum target, GLuint index, GLint* data) @system @nogc nothrow;
21522     /// Ditto
21523     @OpenGL_Version(OGLIntroducedIn.Unknown)
21524     @OpenGL_Extension("GL_EXT_multiview_draw_buffers")
21525     fn_glGetIntegeri_vEXT glGetIntegeri_vEXT;
21526     alias fn_glGetIntegerui64i_vNV = extern(C) void function(GLenum value, GLuint index, GLuint64EXT* result) @system @nogc nothrow;
21527     /// Ditto
21528     @OpenGL_Version(OGLIntroducedIn.Unknown)
21529     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
21530     fn_glGetIntegerui64i_vNV glGetIntegerui64i_vNV;
21531     alias fn_glGetIntegerui64vNV = extern(C) void function(GLenum value, GLuint64EXT* result) @system @nogc nothrow;
21532     /// Ditto
21533     @OpenGL_Version(OGLIntroducedIn.Unknown)
21534     @OpenGL_Extension("GL_NV_shader_buffer_load")
21535     fn_glGetIntegerui64vNV glGetIntegerui64vNV;
21536     alias fn_glGetIntegerv = extern(C) void function(GLenum pname, GLint* data) @system @nogc nothrow;
21537     /// Ditto
21538     @OpenGL_Version(OGLIntroducedIn.V1P0)
21539     fn_glGetIntegerv glGetIntegerv;
21540     alias fn_glGetInternalformatSampleivNV = extern(C) void function(GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint* params) @system @nogc nothrow;
21541     /// Ditto
21542     @OpenGL_Version(OGLIntroducedIn.Unknown)
21543     @OpenGL_Extension("GL_NV_internalformat_sample_query")
21544     fn_glGetInternalformatSampleivNV glGetInternalformatSampleivNV;
21545     alias fn_glGetInvariantBooleanvEXT = extern(C) void function(GLuint id, GLenum value, GLboolean* data) @system @nogc nothrow;
21546     /// Ditto
21547     @OpenGL_Version(OGLIntroducedIn.Unknown)
21548     @OpenGL_Extension("GL_EXT_vertex_shader")
21549     fn_glGetInvariantBooleanvEXT glGetInvariantBooleanvEXT;
21550     alias fn_glGetInvariantFloatvEXT = extern(C) void function(GLuint id, GLenum value, GLfloat* data) @system @nogc nothrow;
21551     /// Ditto
21552     @OpenGL_Version(OGLIntroducedIn.Unknown)
21553     @OpenGL_Extension("GL_EXT_vertex_shader")
21554     fn_glGetInvariantFloatvEXT glGetInvariantFloatvEXT;
21555     alias fn_glGetInvariantIntegervEXT = extern(C) void function(GLuint id, GLenum value, GLint* data) @system @nogc nothrow;
21556     /// Ditto
21557     @OpenGL_Version(OGLIntroducedIn.Unknown)
21558     @OpenGL_Extension("GL_EXT_vertex_shader")
21559     fn_glGetInvariantIntegervEXT glGetInvariantIntegervEXT;
21560     alias fn_glGetLightfv = extern(C) void function(GLenum light, GLenum pname, GLfloat* params) @system @nogc nothrow;
21561     /// Ditto
21562     @OpenGL_Version(OGLIntroducedIn.V1P0)
21563     fn_glGetLightfv glGetLightfv;
21564     alias fn_glGetLightiv = extern(C) void function(GLenum light, GLenum pname, GLint* params) @system @nogc nothrow;
21565     /// Ditto
21566     @OpenGL_Version(OGLIntroducedIn.V1P0)
21567     fn_glGetLightiv glGetLightiv;
21568     alias fn_glGetLightxOES = extern(C) void function(GLenum light, GLenum pname, GLfixed* params) @system @nogc nothrow;
21569     /// Ditto
21570     @OpenGL_Version(OGLIntroducedIn.Unknown)
21571     @OpenGL_Extension("GL_OES_fixed_point")
21572     fn_glGetLightxOES glGetLightxOES;
21573     alias fn_glGetLightxv = extern(C) void function(GLenum light, GLenum pname, GLfixed* params) @system @nogc nothrow;
21574     /// Ditto
21575     @OpenGL_Version(OGLIntroducedIn.Unknown)
21576     fn_glGetLightxv glGetLightxv;
21577     alias fn_glGetLightxvOES = extern(C) void function(GLenum light, GLenum pname, GLfixed* params) @system @nogc nothrow;
21578     /// Ditto
21579     @OpenGL_Version(OGLIntroducedIn.Unknown)
21580     @OpenGL_Extension("GL_OES_fixed_point")
21581     fn_glGetLightxvOES glGetLightxvOES;
21582     alias fn_glGetListParameterfvSGIX = extern(C) void function(GLuint list, GLenum pname, GLfloat* params) @system @nogc nothrow;
21583     /// Ditto
21584     @OpenGL_Version(OGLIntroducedIn.Unknown)
21585     @OpenGL_Extension("GL_SGIX_list_priority")
21586     fn_glGetListParameterfvSGIX glGetListParameterfvSGIX;
21587     alias fn_glGetListParameterivSGIX = extern(C) void function(GLuint list, GLenum pname, GLint* params) @system @nogc nothrow;
21588     /// Ditto
21589     @OpenGL_Version(OGLIntroducedIn.Unknown)
21590     @OpenGL_Extension("GL_SGIX_list_priority")
21591     fn_glGetListParameterivSGIX glGetListParameterivSGIX;
21592     alias fn_glGetLocalConstantBooleanvEXT = extern(C) void function(GLuint id, GLenum value, GLboolean* data) @system @nogc nothrow;
21593     /// Ditto
21594     @OpenGL_Version(OGLIntroducedIn.Unknown)
21595     @OpenGL_Extension("GL_EXT_vertex_shader")
21596     fn_glGetLocalConstantBooleanvEXT glGetLocalConstantBooleanvEXT;
21597     alias fn_glGetLocalConstantFloatvEXT = extern(C) void function(GLuint id, GLenum value, GLfloat* data) @system @nogc nothrow;
21598     /// Ditto
21599     @OpenGL_Version(OGLIntroducedIn.Unknown)
21600     @OpenGL_Extension("GL_EXT_vertex_shader")
21601     fn_glGetLocalConstantFloatvEXT glGetLocalConstantFloatvEXT;
21602     alias fn_glGetLocalConstantIntegervEXT = extern(C) void function(GLuint id, GLenum value, GLint* data) @system @nogc nothrow;
21603     /// Ditto
21604     @OpenGL_Version(OGLIntroducedIn.Unknown)
21605     @OpenGL_Extension("GL_EXT_vertex_shader")
21606     fn_glGetLocalConstantIntegervEXT glGetLocalConstantIntegervEXT;
21607     alias fn_glGetMapAttribParameterfvNV = extern(C) void function(GLenum target, GLuint index, GLenum pname, GLfloat* params) @system @nogc nothrow;
21608     /// Ditto
21609     @OpenGL_Version(OGLIntroducedIn.Unknown)
21610     @OpenGL_Extension("GL_NV_evaluators")
21611     fn_glGetMapAttribParameterfvNV glGetMapAttribParameterfvNV;
21612     alias fn_glGetMapAttribParameterivNV = extern(C) void function(GLenum target, GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
21613     /// Ditto
21614     @OpenGL_Version(OGLIntroducedIn.Unknown)
21615     @OpenGL_Extension("GL_NV_evaluators")
21616     fn_glGetMapAttribParameterivNV glGetMapAttribParameterivNV;
21617     alias fn_glGetMapControlPointsNV = extern(C) void function(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void* points) @system @nogc nothrow;
21618     /// Ditto
21619     @OpenGL_Version(OGLIntroducedIn.Unknown)
21620     @OpenGL_Extension("GL_NV_evaluators")
21621     fn_glGetMapControlPointsNV glGetMapControlPointsNV;
21622     alias fn_glGetMapParameterfvNV = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21623     /// Ditto
21624     @OpenGL_Version(OGLIntroducedIn.Unknown)
21625     @OpenGL_Extension("GL_NV_evaluators")
21626     fn_glGetMapParameterfvNV glGetMapParameterfvNV;
21627     alias fn_glGetMapParameterivNV = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21628     /// Ditto
21629     @OpenGL_Version(OGLIntroducedIn.Unknown)
21630     @OpenGL_Extension("GL_NV_evaluators")
21631     fn_glGetMapParameterivNV glGetMapParameterivNV;
21632     alias fn_glGetMapdv = extern(C) void function(GLenum target, GLenum query, GLdouble* v) @system @nogc nothrow;
21633     /// Ditto
21634     @OpenGL_Version(OGLIntroducedIn.V1P0)
21635     fn_glGetMapdv glGetMapdv;
21636     alias fn_glGetMapfv = extern(C) void function(GLenum target, GLenum query, GLfloat* v) @system @nogc nothrow;
21637     /// Ditto
21638     @OpenGL_Version(OGLIntroducedIn.V1P0)
21639     fn_glGetMapfv glGetMapfv;
21640     alias fn_glGetMapiv = extern(C) void function(GLenum target, GLenum query, GLint* v) @system @nogc nothrow;
21641     /// Ditto
21642     @OpenGL_Version(OGLIntroducedIn.V1P0)
21643     fn_glGetMapiv glGetMapiv;
21644     alias fn_glGetMapxvOES = extern(C) void function(GLenum target, GLenum query, GLfixed* v) @system @nogc nothrow;
21645     /// Ditto
21646     @OpenGL_Version(OGLIntroducedIn.Unknown)
21647     @OpenGL_Extension("GL_OES_fixed_point")
21648     fn_glGetMapxvOES glGetMapxvOES;
21649     alias fn_glGetMaterialfv = extern(C) void function(GLenum face, GLenum pname, GLfloat* params) @system @nogc nothrow;
21650     /// Ditto
21651     @OpenGL_Version(OGLIntroducedIn.V1P0)
21652     fn_glGetMaterialfv glGetMaterialfv;
21653     alias fn_glGetMaterialiv = extern(C) void function(GLenum face, GLenum pname, GLint* params) @system @nogc nothrow;
21654     /// Ditto
21655     @OpenGL_Version(OGLIntroducedIn.V1P0)
21656     fn_glGetMaterialiv glGetMaterialiv;
21657     alias fn_glGetMaterialxOES = extern(C) void function(GLenum face, GLenum pname, GLfixed param) @system @nogc nothrow;
21658     /// Ditto
21659     @OpenGL_Version(OGLIntroducedIn.Unknown)
21660     @OpenGL_Extension("GL_OES_fixed_point")
21661     fn_glGetMaterialxOES glGetMaterialxOES;
21662     alias fn_glGetMaterialxv = extern(C) void function(GLenum face, GLenum pname, GLfixed* params) @system @nogc nothrow;
21663     /// Ditto
21664     @OpenGL_Version(OGLIntroducedIn.Unknown)
21665     fn_glGetMaterialxv glGetMaterialxv;
21666     alias fn_glGetMaterialxvOES = extern(C) void function(GLenum face, GLenum pname, GLfixed* params) @system @nogc nothrow;
21667     /// Ditto
21668     @OpenGL_Version(OGLIntroducedIn.Unknown)
21669     @OpenGL_Extension("GL_OES_fixed_point")
21670     fn_glGetMaterialxvOES glGetMaterialxvOES;
21671     alias fn_glGetMinmax = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, void* values) @system @nogc nothrow;
21672     /// Ditto
21673     @OpenGL_Version(OGLIntroducedIn.Unknown)
21674     @OpenGL_Extension("GL_ARB_imaging")
21675     fn_glGetMinmax glGetMinmax;
21676     alias fn_glGetMinmaxEXT = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, void* values) @system @nogc nothrow;
21677     /// Ditto
21678     @OpenGL_Version(OGLIntroducedIn.Unknown)
21679     @OpenGL_Extension("GL_EXT_histogram")
21680     fn_glGetMinmaxEXT glGetMinmaxEXT;
21681     alias fn_glGetMinmaxParameterfv = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21682     /// Ditto
21683     @OpenGL_Version(OGLIntroducedIn.Unknown)
21684     @OpenGL_Extension("GL_ARB_imaging")
21685     fn_glGetMinmaxParameterfv glGetMinmaxParameterfv;
21686     alias fn_glGetMinmaxParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21687     /// Ditto
21688     @OpenGL_Version(OGLIntroducedIn.Unknown)
21689     @OpenGL_Extension("GL_EXT_histogram")
21690     fn_glGetMinmaxParameterfvEXT glGetMinmaxParameterfvEXT;
21691     alias fn_glGetMinmaxParameteriv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21692     /// Ditto
21693     @OpenGL_Version(OGLIntroducedIn.Unknown)
21694     @OpenGL_Extension("GL_ARB_imaging")
21695     fn_glGetMinmaxParameteriv glGetMinmaxParameteriv;
21696     alias fn_glGetMinmaxParameterivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21697     /// Ditto
21698     @OpenGL_Version(OGLIntroducedIn.Unknown)
21699     @OpenGL_Extension("GL_EXT_histogram")
21700     fn_glGetMinmaxParameterivEXT glGetMinmaxParameterivEXT;
21701     alias fn_glGetMultiTexEnvfvEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21702     /// Ditto
21703     @OpenGL_Version(OGLIntroducedIn.Unknown)
21704     @OpenGL_Extension("GL_EXT_direct_state_access")
21705     fn_glGetMultiTexEnvfvEXT glGetMultiTexEnvfvEXT;
21706     alias fn_glGetMultiTexEnvivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21707     /// Ditto
21708     @OpenGL_Version(OGLIntroducedIn.Unknown)
21709     @OpenGL_Extension("GL_EXT_direct_state_access")
21710     fn_glGetMultiTexEnvivEXT glGetMultiTexEnvivEXT;
21711     alias fn_glGetMultiTexGendvEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, GLdouble* params) @system @nogc nothrow;
21712     /// Ditto
21713     @OpenGL_Version(OGLIntroducedIn.Unknown)
21714     @OpenGL_Extension("GL_EXT_direct_state_access")
21715     fn_glGetMultiTexGendvEXT glGetMultiTexGendvEXT;
21716     alias fn_glGetMultiTexGenfvEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, GLfloat* params) @system @nogc nothrow;
21717     /// Ditto
21718     @OpenGL_Version(OGLIntroducedIn.Unknown)
21719     @OpenGL_Extension("GL_EXT_direct_state_access")
21720     fn_glGetMultiTexGenfvEXT glGetMultiTexGenfvEXT;
21721     alias fn_glGetMultiTexGenivEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, GLint* params) @system @nogc nothrow;
21722     /// Ditto
21723     @OpenGL_Version(OGLIntroducedIn.Unknown)
21724     @OpenGL_Extension("GL_EXT_direct_state_access")
21725     fn_glGetMultiTexGenivEXT glGetMultiTexGenivEXT;
21726     alias fn_glGetMultiTexImageEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels) @system @nogc nothrow;
21727     /// Ditto
21728     @OpenGL_Version(OGLIntroducedIn.Unknown)
21729     @OpenGL_Extension("GL_EXT_direct_state_access")
21730     fn_glGetMultiTexImageEXT glGetMultiTexImageEXT;
21731     alias fn_glGetMultiTexLevelParameterfvEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params) @system @nogc nothrow;
21732     /// Ditto
21733     @OpenGL_Version(OGLIntroducedIn.Unknown)
21734     @OpenGL_Extension("GL_EXT_direct_state_access")
21735     fn_glGetMultiTexLevelParameterfvEXT glGetMultiTexLevelParameterfvEXT;
21736     alias fn_glGetMultiTexLevelParameterivEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params) @system @nogc nothrow;
21737     /// Ditto
21738     @OpenGL_Version(OGLIntroducedIn.Unknown)
21739     @OpenGL_Extension("GL_EXT_direct_state_access")
21740     fn_glGetMultiTexLevelParameterivEXT glGetMultiTexLevelParameterivEXT;
21741     alias fn_glGetMultiTexParameterIivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21742     /// Ditto
21743     @OpenGL_Version(OGLIntroducedIn.Unknown)
21744     @OpenGL_Extension("GL_EXT_direct_state_access")
21745     fn_glGetMultiTexParameterIivEXT glGetMultiTexParameterIivEXT;
21746     alias fn_glGetMultiTexParameterIuivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLuint* params) @system @nogc nothrow;
21747     /// Ditto
21748     @OpenGL_Version(OGLIntroducedIn.Unknown)
21749     @OpenGL_Extension("GL_EXT_direct_state_access")
21750     fn_glGetMultiTexParameterIuivEXT glGetMultiTexParameterIuivEXT;
21751     alias fn_glGetMultiTexParameterfvEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
21752     /// Ditto
21753     @OpenGL_Version(OGLIntroducedIn.Unknown)
21754     @OpenGL_Extension("GL_EXT_direct_state_access")
21755     fn_glGetMultiTexParameterfvEXT glGetMultiTexParameterfvEXT;
21756     alias fn_glGetMultiTexParameterivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21757     /// Ditto
21758     @OpenGL_Version(OGLIntroducedIn.Unknown)
21759     @OpenGL_Extension("GL_EXT_direct_state_access")
21760     fn_glGetMultiTexParameterivEXT glGetMultiTexParameterivEXT;
21761     alias fn_glGetMultisamplefvNV = extern(C) void function(GLenum pname, GLuint index, GLfloat* val) @system @nogc nothrow;
21762     /// Ditto
21763     @OpenGL_Version(OGLIntroducedIn.Unknown)
21764     @OpenGL_Extension("GL_NV_explicit_multisample")
21765     fn_glGetMultisamplefvNV glGetMultisamplefvNV;
21766     alias fn_glGetNamedBufferParameterivEXT = extern(C) void function(GLuint buffer, GLenum pname, GLint* params) @system @nogc nothrow;
21767     /// Ditto
21768     @OpenGL_Version(OGLIntroducedIn.Unknown)
21769     @OpenGL_Extension("GL_EXT_direct_state_access")
21770     fn_glGetNamedBufferParameterivEXT glGetNamedBufferParameterivEXT;
21771     alias fn_glGetNamedBufferParameterui64vNV = extern(C) void function(GLuint buffer, GLenum pname, GLuint64EXT* params) @system @nogc nothrow;
21772     /// Ditto
21773     @OpenGL_Version(OGLIntroducedIn.Unknown)
21774     @OpenGL_Extension("GL_NV_shader_buffer_load")
21775     fn_glGetNamedBufferParameterui64vNV glGetNamedBufferParameterui64vNV;
21776     alias fn_glGetNamedBufferPointervEXT = extern(C) void function(GLuint buffer, GLenum pname, void** params) @system @nogc nothrow;
21777     /// Ditto
21778     @OpenGL_Version(OGLIntroducedIn.Unknown)
21779     @OpenGL_Extension("GL_EXT_direct_state_access")
21780     fn_glGetNamedBufferPointervEXT glGetNamedBufferPointervEXT;
21781     alias fn_glGetNamedBufferSubDataEXT = extern(C) void function(GLuint buffer, GLintptr offset, GLsizeiptr size, void* data) @system @nogc nothrow;
21782     /// Ditto
21783     @OpenGL_Version(OGLIntroducedIn.Unknown)
21784     @OpenGL_Extension("GL_EXT_direct_state_access")
21785     fn_glGetNamedBufferSubDataEXT glGetNamedBufferSubDataEXT;
21786     alias fn_glGetNamedFramebufferAttachmentParameterivEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params) @system @nogc nothrow;
21787     /// Ditto
21788     @OpenGL_Version(OGLIntroducedIn.Unknown)
21789     @OpenGL_Extension("GL_EXT_direct_state_access")
21790     fn_glGetNamedFramebufferAttachmentParameterivEXT glGetNamedFramebufferAttachmentParameterivEXT;
21791     alias fn_glGetNamedFramebufferParameterivEXT = extern(C) void function(GLuint framebuffer, GLenum pname, GLint* params) @system @nogc nothrow;
21792     /// Ditto
21793     @OpenGL_Version(OGLIntroducedIn.Unknown)
21794     @OpenGL_Extension("GL_EXT_direct_state_access")
21795     fn_glGetNamedFramebufferParameterivEXT glGetNamedFramebufferParameterivEXT;
21796     alias fn_glGetNamedProgramLocalParameterIivEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLint* params) @system @nogc nothrow;
21797     /// Ditto
21798     @OpenGL_Version(OGLIntroducedIn.Unknown)
21799     @OpenGL_Extension("GL_EXT_direct_state_access")
21800     fn_glGetNamedProgramLocalParameterIivEXT glGetNamedProgramLocalParameterIivEXT;
21801     alias fn_glGetNamedProgramLocalParameterIuivEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLuint* params) @system @nogc nothrow;
21802     /// Ditto
21803     @OpenGL_Version(OGLIntroducedIn.Unknown)
21804     @OpenGL_Extension("GL_EXT_direct_state_access")
21805     fn_glGetNamedProgramLocalParameterIuivEXT glGetNamedProgramLocalParameterIuivEXT;
21806     alias fn_glGetNamedProgramLocalParameterdvEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLdouble* params) @system @nogc nothrow;
21807     /// Ditto
21808     @OpenGL_Version(OGLIntroducedIn.Unknown)
21809     @OpenGL_Extension("GL_EXT_direct_state_access")
21810     fn_glGetNamedProgramLocalParameterdvEXT glGetNamedProgramLocalParameterdvEXT;
21811     alias fn_glGetNamedProgramLocalParameterfvEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLfloat* params) @system @nogc nothrow;
21812     /// Ditto
21813     @OpenGL_Version(OGLIntroducedIn.Unknown)
21814     @OpenGL_Extension("GL_EXT_direct_state_access")
21815     fn_glGetNamedProgramLocalParameterfvEXT glGetNamedProgramLocalParameterfvEXT;
21816     alias fn_glGetNamedProgramStringEXT = extern(C) void function(GLuint program, GLenum target, GLenum pname, void* string) @system @nogc nothrow;
21817     /// Ditto
21818     @OpenGL_Version(OGLIntroducedIn.Unknown)
21819     @OpenGL_Extension("GL_EXT_direct_state_access")
21820     fn_glGetNamedProgramStringEXT glGetNamedProgramStringEXT;
21821     alias fn_glGetNamedProgramivEXT = extern(C) void function(GLuint program, GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
21822     /// Ditto
21823     @OpenGL_Version(OGLIntroducedIn.Unknown)
21824     @OpenGL_Extension("GL_EXT_direct_state_access")
21825     fn_glGetNamedProgramivEXT glGetNamedProgramivEXT;
21826     alias fn_glGetNamedRenderbufferParameterivEXT = extern(C) void function(GLuint renderbuffer, GLenum pname, GLint* params) @system @nogc nothrow;
21827     /// Ditto
21828     @OpenGL_Version(OGLIntroducedIn.Unknown)
21829     @OpenGL_Extension("GL_EXT_direct_state_access")
21830     fn_glGetNamedRenderbufferParameterivEXT glGetNamedRenderbufferParameterivEXT;
21831     alias fn_glGetNamedStringARB = extern(C) void function(GLint namelen, const GLchar* name, GLsizei bufSize, GLint* stringlen, GLchar* string) @system @nogc nothrow;
21832     /// Ditto
21833     @OpenGL_Version(OGLIntroducedIn.Unknown)
21834     @OpenGL_Extension("GL_ARB_shading_language_include")
21835     fn_glGetNamedStringARB glGetNamedStringARB;
21836     alias fn_glGetNamedStringivARB = extern(C) void function(GLint namelen, const GLchar* name, GLenum pname, GLint* params) @system @nogc nothrow;
21837     /// Ditto
21838     @OpenGL_Version(OGLIntroducedIn.Unknown)
21839     @OpenGL_Extension("GL_ARB_shading_language_include")
21840     fn_glGetNamedStringivARB glGetNamedStringivARB;
21841     alias fn_glGetNextPerfQueryIdINTEL = extern(C) void function(GLuint queryId, GLuint* nextQueryId) @system @nogc nothrow;
21842     /// Ditto
21843     @OpenGL_Version(OGLIntroducedIn.Unknown)
21844     @OpenGL_Extension("GL_INTEL_performance_query")
21845     fn_glGetNextPerfQueryIdINTEL glGetNextPerfQueryIdINTEL;
21846     alias fn_glGetObjectBufferfvATI = extern(C) void function(GLuint buffer, GLenum pname, GLfloat* params) @system @nogc nothrow;
21847     /// Ditto
21848     @OpenGL_Version(OGLIntroducedIn.Unknown)
21849     @OpenGL_Extension("GL_ATI_vertex_array_object")
21850     fn_glGetObjectBufferfvATI glGetObjectBufferfvATI;
21851     alias fn_glGetObjectBufferivATI = extern(C) void function(GLuint buffer, GLenum pname, GLint* params) @system @nogc nothrow;
21852     /// Ditto
21853     @OpenGL_Version(OGLIntroducedIn.Unknown)
21854     @OpenGL_Extension("GL_ATI_vertex_array_object")
21855     fn_glGetObjectBufferivATI glGetObjectBufferivATI;
21856     alias fn_glGetObjectLabelEXT = extern(C) void function(GLenum type, GLuint object, GLsizei bufSize, GLsizei* length, GLchar* label) @system @nogc nothrow;
21857     /// Ditto
21858     @OpenGL_Version(OGLIntroducedIn.Unknown)
21859     @OpenGL_Extension("GL_EXT_debug_label")
21860     fn_glGetObjectLabelEXT glGetObjectLabelEXT;
21861     alias fn_glGetObjectLabelKHR = extern(C) void function(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label) @system @nogc nothrow;
21862     /// Ditto
21863     @OpenGL_Version(OGLIntroducedIn.Unknown)
21864     @OpenGL_Extension("GL_KHR_debug")
21865     fn_glGetObjectLabelKHR glGetObjectLabelKHR;
21866     alias fn_glGetObjectParameterfvARB = extern(C) void function(GLhandleARB obj, GLenum pname, GLfloat* params) @system @nogc nothrow;
21867     /// Ditto
21868     @OpenGL_Version(OGLIntroducedIn.Unknown)
21869     @OpenGL_Extension("GL_ARB_shader_objects")
21870     fn_glGetObjectParameterfvARB glGetObjectParameterfvARB;
21871     alias fn_glGetObjectParameterivAPPLE = extern(C) void function(GLenum objectType, GLuint name, GLenum pname, GLint* params) @system @nogc nothrow;
21872     /// Ditto
21873     @OpenGL_Version(OGLIntroducedIn.Unknown)
21874     @OpenGL_Extension("GL_APPLE_object_purgeable")
21875     fn_glGetObjectParameterivAPPLE glGetObjectParameterivAPPLE;
21876     alias fn_glGetObjectParameterivARB = extern(C) void function(GLhandleARB obj, GLenum pname, GLint* params) @system @nogc nothrow;
21877     /// Ditto
21878     @OpenGL_Version(OGLIntroducedIn.Unknown)
21879     @OpenGL_Extension("GL_ARB_shader_objects")
21880     fn_glGetObjectParameterivARB glGetObjectParameterivARB;
21881     alias fn_glGetObjectPtrLabelKHR = extern(C) void function(const void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label) @system @nogc nothrow;
21882     /// Ditto
21883     @OpenGL_Version(OGLIntroducedIn.Unknown)
21884     @OpenGL_Extension("GL_KHR_debug")
21885     fn_glGetObjectPtrLabelKHR glGetObjectPtrLabelKHR;
21886     alias fn_glGetOcclusionQueryivNV = extern(C) void function(GLuint id, GLenum pname, GLint* params) @system @nogc nothrow;
21887     /// Ditto
21888     @OpenGL_Version(OGLIntroducedIn.Unknown)
21889     @OpenGL_Extension("GL_NV_occlusion_query")
21890     fn_glGetOcclusionQueryivNV glGetOcclusionQueryivNV;
21891     alias fn_glGetOcclusionQueryuivNV = extern(C) void function(GLuint id, GLenum pname, GLuint* params) @system @nogc nothrow;
21892     /// Ditto
21893     @OpenGL_Version(OGLIntroducedIn.Unknown)
21894     @OpenGL_Extension("GL_NV_occlusion_query")
21895     fn_glGetOcclusionQueryuivNV glGetOcclusionQueryuivNV;
21896     alias fn_glGetPathColorGenfvNV = extern(C) void function(GLenum color, GLenum pname, GLfloat* value) @system @nogc nothrow;
21897     /// Ditto
21898     @OpenGL_Version(OGLIntroducedIn.Unknown)
21899     @OpenGL_Extension("GL_NV_path_rendering")
21900     fn_glGetPathColorGenfvNV glGetPathColorGenfvNV;
21901     alias fn_glGetPathColorGenivNV = extern(C) void function(GLenum color, GLenum pname, GLint* value) @system @nogc nothrow;
21902     /// Ditto
21903     @OpenGL_Version(OGLIntroducedIn.Unknown)
21904     @OpenGL_Extension("GL_NV_path_rendering")
21905     fn_glGetPathColorGenivNV glGetPathColorGenivNV;
21906     alias fn_glGetPathCommandsNV = extern(C) void function(GLuint path, GLubyte* commands) @system @nogc nothrow;
21907     /// Ditto
21908     @OpenGL_Version(OGLIntroducedIn.Unknown)
21909     @OpenGL_Extension("GL_NV_path_rendering")
21910     fn_glGetPathCommandsNV glGetPathCommandsNV;
21911     alias fn_glGetPathCoordsNV = extern(C) void function(GLuint path, GLfloat* coords) @system @nogc nothrow;
21912     /// Ditto
21913     @OpenGL_Version(OGLIntroducedIn.Unknown)
21914     @OpenGL_Extension("GL_NV_path_rendering")
21915     fn_glGetPathCoordsNV glGetPathCoordsNV;
21916     alias fn_glGetPathDashArrayNV = extern(C) void function(GLuint path, GLfloat* dashArray) @system @nogc nothrow;
21917     /// Ditto
21918     @OpenGL_Version(OGLIntroducedIn.Unknown)
21919     @OpenGL_Extension("GL_NV_path_rendering")
21920     fn_glGetPathDashArrayNV glGetPathDashArrayNV;
21921     alias fn_glGetPathLengthNV = extern(C) GLfloat function(GLuint path, GLsizei startSegment, GLsizei numSegments) @system @nogc nothrow;
21922     /// Ditto
21923     @OpenGL_Version(OGLIntroducedIn.Unknown)
21924     @OpenGL_Extension("GL_NV_path_rendering")
21925     fn_glGetPathLengthNV glGetPathLengthNV;
21926     alias fn_glGetPathMetricRangeNV = extern(C) void function(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics) @system @nogc nothrow;
21927     /// Ditto
21928     @OpenGL_Version(OGLIntroducedIn.Unknown)
21929     @OpenGL_Extension("GL_NV_path_rendering")
21930     fn_glGetPathMetricRangeNV glGetPathMetricRangeNV;
21931     alias fn_glGetPathMetricsNV = extern(C) void function(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLsizei stride, GLfloat* metrics) @system @nogc nothrow;
21932     /// Ditto
21933     @OpenGL_Version(OGLIntroducedIn.Unknown)
21934     @OpenGL_Extension("GL_NV_path_rendering")
21935     fn_glGetPathMetricsNV glGetPathMetricsNV;
21936     alias fn_glGetPathParameterfvNV = extern(C) void function(GLuint path, GLenum pname, GLfloat* value) @system @nogc nothrow;
21937     /// Ditto
21938     @OpenGL_Version(OGLIntroducedIn.Unknown)
21939     @OpenGL_Extension("GL_NV_path_rendering")
21940     fn_glGetPathParameterfvNV glGetPathParameterfvNV;
21941     alias fn_glGetPathParameterivNV = extern(C) void function(GLuint path, GLenum pname, GLint* value) @system @nogc nothrow;
21942     /// Ditto
21943     @OpenGL_Version(OGLIntroducedIn.Unknown)
21944     @OpenGL_Extension("GL_NV_path_rendering")
21945     fn_glGetPathParameterivNV glGetPathParameterivNV;
21946     alias fn_glGetPathSpacingNV = extern(C) void function(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat* returnedSpacing) @system @nogc nothrow;
21947     /// Ditto
21948     @OpenGL_Version(OGLIntroducedIn.Unknown)
21949     @OpenGL_Extension("GL_NV_path_rendering")
21950     fn_glGetPathSpacingNV glGetPathSpacingNV;
21951     alias fn_glGetPathTexGenfvNV = extern(C) void function(GLenum texCoordSet, GLenum pname, GLfloat* value) @system @nogc nothrow;
21952     /// Ditto
21953     @OpenGL_Version(OGLIntroducedIn.Unknown)
21954     @OpenGL_Extension("GL_NV_path_rendering")
21955     fn_glGetPathTexGenfvNV glGetPathTexGenfvNV;
21956     alias fn_glGetPathTexGenivNV = extern(C) void function(GLenum texCoordSet, GLenum pname, GLint* value) @system @nogc nothrow;
21957     /// Ditto
21958     @OpenGL_Version(OGLIntroducedIn.Unknown)
21959     @OpenGL_Extension("GL_NV_path_rendering")
21960     fn_glGetPathTexGenivNV glGetPathTexGenivNV;
21961     alias fn_glGetPerfCounterInfoINTEL = extern(C) void function(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar* counterName, GLuint counterDescLength, GLchar* counterDesc, GLuint* counterOffset, GLuint* counterDataSize, GLuint* counterTypeEnum, GLuint* counterDataTypeEnum, GLuint64* rawCounterMaxValue) @system @nogc nothrow;
21962     /// Ditto
21963     @OpenGL_Version(OGLIntroducedIn.Unknown)
21964     @OpenGL_Extension("GL_INTEL_performance_query")
21965     fn_glGetPerfCounterInfoINTEL glGetPerfCounterInfoINTEL;
21966     alias fn_glGetPerfMonitorCounterDataAMD = extern(C) void function(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten) @system @nogc nothrow;
21967     /// Ditto
21968     @OpenGL_Version(OGLIntroducedIn.Unknown)
21969     @OpenGL_Extension("GL_AMD_performance_monitor")
21970     fn_glGetPerfMonitorCounterDataAMD glGetPerfMonitorCounterDataAMD;
21971     alias fn_glGetPerfMonitorCounterInfoAMD = extern(C) void function(GLuint group, GLuint counter, GLenum pname, void* data) @system @nogc nothrow;
21972     /// Ditto
21973     @OpenGL_Version(OGLIntroducedIn.Unknown)
21974     @OpenGL_Extension("GL_AMD_performance_monitor")
21975     fn_glGetPerfMonitorCounterInfoAMD glGetPerfMonitorCounterInfoAMD;
21976     alias fn_glGetPerfMonitorCounterStringAMD = extern(C) void function(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString) @system @nogc nothrow;
21977     /// Ditto
21978     @OpenGL_Version(OGLIntroducedIn.Unknown)
21979     @OpenGL_Extension("GL_AMD_performance_monitor")
21980     fn_glGetPerfMonitorCounterStringAMD glGetPerfMonitorCounterStringAMD;
21981     alias fn_glGetPerfMonitorCountersAMD = extern(C) void function(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters) @system @nogc nothrow;
21982     /// Ditto
21983     @OpenGL_Version(OGLIntroducedIn.Unknown)
21984     @OpenGL_Extension("GL_AMD_performance_monitor")
21985     fn_glGetPerfMonitorCountersAMD glGetPerfMonitorCountersAMD;
21986     alias fn_glGetPerfMonitorGroupStringAMD = extern(C) void function(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString) @system @nogc nothrow;
21987     /// Ditto
21988     @OpenGL_Version(OGLIntroducedIn.Unknown)
21989     @OpenGL_Extension("GL_AMD_performance_monitor")
21990     fn_glGetPerfMonitorGroupStringAMD glGetPerfMonitorGroupStringAMD;
21991     alias fn_glGetPerfMonitorGroupsAMD = extern(C) void function(GLint* numGroups, GLsizei groupsSize, GLuint* groups) @system @nogc nothrow;
21992     /// Ditto
21993     @OpenGL_Version(OGLIntroducedIn.Unknown)
21994     @OpenGL_Extension("GL_AMD_performance_monitor")
21995     fn_glGetPerfMonitorGroupsAMD glGetPerfMonitorGroupsAMD;
21996     alias fn_glGetPerfQueryDataINTEL = extern(C) void function(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid* data, GLuint* bytesWritten) @system @nogc nothrow;
21997     /// Ditto
21998     @OpenGL_Version(OGLIntroducedIn.Unknown)
21999     @OpenGL_Extension("GL_INTEL_performance_query")
22000     fn_glGetPerfQueryDataINTEL glGetPerfQueryDataINTEL;
22001     alias fn_glGetPerfQueryIdByNameINTEL = extern(C) void function(GLchar* queryName, GLuint* queryId) @system @nogc nothrow;
22002     /// Ditto
22003     @OpenGL_Version(OGLIntroducedIn.Unknown)
22004     @OpenGL_Extension("GL_INTEL_performance_query")
22005     fn_glGetPerfQueryIdByNameINTEL glGetPerfQueryIdByNameINTEL;
22006     alias fn_glGetPerfQueryInfoINTEL = extern(C) void function(GLuint queryId, GLuint queryNameLength, GLchar* queryName, GLuint* dataSize, GLuint* noCounters, GLuint* noInstances, GLuint* capsMask) @system @nogc nothrow;
22007     /// Ditto
22008     @OpenGL_Version(OGLIntroducedIn.Unknown)
22009     @OpenGL_Extension("GL_INTEL_performance_query")
22010     fn_glGetPerfQueryInfoINTEL glGetPerfQueryInfoINTEL;
22011     alias fn_glGetPixelMapfv = extern(C) void function(GLenum map, GLfloat* values) @system @nogc nothrow;
22012     /// Ditto
22013     @OpenGL_Version(OGLIntroducedIn.V1P0)
22014     fn_glGetPixelMapfv glGetPixelMapfv;
22015     alias fn_glGetPixelMapuiv = extern(C) void function(GLenum map, GLuint* values) @system @nogc nothrow;
22016     /// Ditto
22017     @OpenGL_Version(OGLIntroducedIn.V1P0)
22018     fn_glGetPixelMapuiv glGetPixelMapuiv;
22019     alias fn_glGetPixelMapusv = extern(C) void function(GLenum map, GLushort* values) @system @nogc nothrow;
22020     /// Ditto
22021     @OpenGL_Version(OGLIntroducedIn.V1P0)
22022     fn_glGetPixelMapusv glGetPixelMapusv;
22023     alias fn_glGetPixelMapxv = extern(C) void function(GLenum map, GLint size, GLfixed* values) @system @nogc nothrow;
22024     /// Ditto
22025     @OpenGL_Version(OGLIntroducedIn.Unknown)
22026     @OpenGL_Extension("GL_OES_fixed_point")
22027     fn_glGetPixelMapxv glGetPixelMapxv;
22028     alias fn_glGetPixelTexGenParameterfvSGIS = extern(C) void function(GLenum pname, GLfloat* params) @system @nogc nothrow;
22029     /// Ditto
22030     @OpenGL_Version(OGLIntroducedIn.Unknown)
22031     @OpenGL_Extension("GL_SGIS_pixel_texture")
22032     fn_glGetPixelTexGenParameterfvSGIS glGetPixelTexGenParameterfvSGIS;
22033     alias fn_glGetPixelTexGenParameterivSGIS = extern(C) void function(GLenum pname, GLint* params) @system @nogc nothrow;
22034     /// Ditto
22035     @OpenGL_Version(OGLIntroducedIn.Unknown)
22036     @OpenGL_Extension("GL_SGIS_pixel_texture")
22037     fn_glGetPixelTexGenParameterivSGIS glGetPixelTexGenParameterivSGIS;
22038     alias fn_glGetPixelTransformParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
22039     /// Ditto
22040     @OpenGL_Version(OGLIntroducedIn.Unknown)
22041     @OpenGL_Extension("GL_EXT_pixel_transform")
22042     fn_glGetPixelTransformParameterfvEXT glGetPixelTransformParameterfvEXT;
22043     alias fn_glGetPixelTransformParameterivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22044     /// Ditto
22045     @OpenGL_Version(OGLIntroducedIn.Unknown)
22046     @OpenGL_Extension("GL_EXT_pixel_transform")
22047     fn_glGetPixelTransformParameterivEXT glGetPixelTransformParameterivEXT;
22048     alias fn_glGetPointerIndexedvEXT = extern(C) void function(GLenum target, GLuint index, void** data) @system @nogc nothrow;
22049     /// Ditto
22050     @OpenGL_Version(OGLIntroducedIn.Unknown)
22051     @OpenGL_Extension("GL_EXT_direct_state_access")
22052     fn_glGetPointerIndexedvEXT glGetPointerIndexedvEXT;
22053     alias fn_glGetPointeri_vEXT = extern(C) void function(GLenum pname, GLuint index, void** params) @system @nogc nothrow;
22054     /// Ditto
22055     @OpenGL_Version(OGLIntroducedIn.Unknown)
22056     @OpenGL_Extension("GL_EXT_direct_state_access")
22057     fn_glGetPointeri_vEXT glGetPointeri_vEXT;
22058     alias fn_glGetPointervEXT = extern(C) void function(GLenum pname, void** params) @system @nogc nothrow;
22059     /// Ditto
22060     @OpenGL_Version(OGLIntroducedIn.Unknown)
22061     @OpenGL_Extension("GL_EXT_vertex_array")
22062     fn_glGetPointervEXT glGetPointervEXT;
22063     alias fn_glGetPointervKHR = extern(C) void function(GLenum pname, void** params) @system @nogc nothrow;
22064     /// Ditto
22065     @OpenGL_Version(OGLIntroducedIn.Unknown)
22066     @OpenGL_Extension("GL_KHR_debug")
22067     fn_glGetPointervKHR glGetPointervKHR;
22068     alias fn_glGetPolygonStipple = extern(C) void function(GLubyte* mask) @system @nogc nothrow;
22069     /// Ditto
22070     @OpenGL_Version(OGLIntroducedIn.V1P0)
22071     fn_glGetPolygonStipple glGetPolygonStipple;
22072     alias fn_glGetProgramBinaryOES = extern(C) void function(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void* binary) @system @nogc nothrow;
22073     /// Ditto
22074     @OpenGL_Version(OGLIntroducedIn.Unknown)
22075     @OpenGL_Extension("GL_OES_get_program_binary")
22076     fn_glGetProgramBinaryOES glGetProgramBinaryOES;
22077     alias fn_glGetProgramEnvParameterIivNV = extern(C) void function(GLenum target, GLuint index, GLint* params) @system @nogc nothrow;
22078     /// Ditto
22079     @OpenGL_Version(OGLIntroducedIn.Unknown)
22080     @OpenGL_Extension("GL_NV_gpu_program4")
22081     fn_glGetProgramEnvParameterIivNV glGetProgramEnvParameterIivNV;
22082     alias fn_glGetProgramEnvParameterIuivNV = extern(C) void function(GLenum target, GLuint index, GLuint* params) @system @nogc nothrow;
22083     /// Ditto
22084     @OpenGL_Version(OGLIntroducedIn.Unknown)
22085     @OpenGL_Extension("GL_NV_gpu_program4")
22086     fn_glGetProgramEnvParameterIuivNV glGetProgramEnvParameterIuivNV;
22087     alias fn_glGetProgramEnvParameterdvARB = extern(C) void function(GLenum target, GLuint index, GLdouble* params) @system @nogc nothrow;
22088     /// Ditto
22089     @OpenGL_Version(OGLIntroducedIn.Unknown)
22090     @OpenGL_Extension("GL_ARB_fragment_program")
22091     fn_glGetProgramEnvParameterdvARB glGetProgramEnvParameterdvARB;
22092     alias fn_glGetProgramEnvParameterfvARB = extern(C) void function(GLenum target, GLuint index, GLfloat* params) @system @nogc nothrow;
22093     /// Ditto
22094     @OpenGL_Version(OGLIntroducedIn.Unknown)
22095     @OpenGL_Extension("GL_ARB_fragment_program")
22096     fn_glGetProgramEnvParameterfvARB glGetProgramEnvParameterfvARB;
22097     alias fn_glGetProgramLocalParameterIivNV = extern(C) void function(GLenum target, GLuint index, GLint* params) @system @nogc nothrow;
22098     /// Ditto
22099     @OpenGL_Version(OGLIntroducedIn.Unknown)
22100     @OpenGL_Extension("GL_NV_gpu_program4")
22101     fn_glGetProgramLocalParameterIivNV glGetProgramLocalParameterIivNV;
22102     alias fn_glGetProgramLocalParameterIuivNV = extern(C) void function(GLenum target, GLuint index, GLuint* params) @system @nogc nothrow;
22103     /// Ditto
22104     @OpenGL_Version(OGLIntroducedIn.Unknown)
22105     @OpenGL_Extension("GL_NV_gpu_program4")
22106     fn_glGetProgramLocalParameterIuivNV glGetProgramLocalParameterIuivNV;
22107     alias fn_glGetProgramLocalParameterdvARB = extern(C) void function(GLenum target, GLuint index, GLdouble* params) @system @nogc nothrow;
22108     /// Ditto
22109     @OpenGL_Version(OGLIntroducedIn.Unknown)
22110     @OpenGL_Extension("GL_ARB_fragment_program")
22111     fn_glGetProgramLocalParameterdvARB glGetProgramLocalParameterdvARB;
22112     alias fn_glGetProgramLocalParameterfvARB = extern(C) void function(GLenum target, GLuint index, GLfloat* params) @system @nogc nothrow;
22113     /// Ditto
22114     @OpenGL_Version(OGLIntroducedIn.Unknown)
22115     @OpenGL_Extension("GL_ARB_fragment_program")
22116     fn_glGetProgramLocalParameterfvARB glGetProgramLocalParameterfvARB;
22117     alias fn_glGetProgramNamedParameterdvNV = extern(C) void function(GLuint id, GLsizei len, const(GLubyte)* name, GLdouble* params) @system @nogc nothrow;
22118     /// Ditto
22119     @OpenGL_Version(OGLIntroducedIn.Unknown)
22120     @OpenGL_Extension("GL_NV_fragment_program")
22121     fn_glGetProgramNamedParameterdvNV glGetProgramNamedParameterdvNV;
22122     alias fn_glGetProgramNamedParameterfvNV = extern(C) void function(GLuint id, GLsizei len, const(GLubyte)* name, GLfloat* params) @system @nogc nothrow;
22123     /// Ditto
22124     @OpenGL_Version(OGLIntroducedIn.Unknown)
22125     @OpenGL_Extension("GL_NV_fragment_program")
22126     fn_glGetProgramNamedParameterfvNV glGetProgramNamedParameterfvNV;
22127     alias fn_glGetProgramParameterdvNV = extern(C) void function(GLenum target, GLuint index, GLenum pname, GLdouble* params) @system @nogc nothrow;
22128     /// Ditto
22129     @OpenGL_Version(OGLIntroducedIn.Unknown)
22130     @OpenGL_Extension("GL_NV_vertex_program")
22131     fn_glGetProgramParameterdvNV glGetProgramParameterdvNV;
22132     alias fn_glGetProgramParameterfvNV = extern(C) void function(GLenum target, GLuint index, GLenum pname, GLfloat* params) @system @nogc nothrow;
22133     /// Ditto
22134     @OpenGL_Version(OGLIntroducedIn.Unknown)
22135     @OpenGL_Extension("GL_NV_vertex_program")
22136     fn_glGetProgramParameterfvNV glGetProgramParameterfvNV;
22137     alias fn_glGetProgramPipelineInfoLogEXT = extern(C) void function(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) @system @nogc nothrow;
22138     /// Ditto
22139     @OpenGL_Version(OGLIntroducedIn.Unknown)
22140     @OpenGL_Extension("GL_EXT_separate_shader_objects")
22141     fn_glGetProgramPipelineInfoLogEXT glGetProgramPipelineInfoLogEXT;
22142     alias fn_glGetProgramPipelineivEXT = extern(C) void function(GLuint pipeline, GLenum pname, GLint* params) @system @nogc nothrow;
22143     /// Ditto
22144     @OpenGL_Version(OGLIntroducedIn.Unknown)
22145     @OpenGL_Extension("GL_EXT_separate_shader_objects")
22146     fn_glGetProgramPipelineivEXT glGetProgramPipelineivEXT;
22147     alias fn_glGetProgramResourceLocationIndexEXT = extern(C) GLint function(GLuint program, GLenum programInterface, const GLchar* name) @system @nogc nothrow;
22148     /// Ditto
22149     @OpenGL_Version(OGLIntroducedIn.Unknown)
22150     @OpenGL_Extension("GL_EXT_blend_func_extended")
22151     fn_glGetProgramResourceLocationIndexEXT glGetProgramResourceLocationIndexEXT;
22152     alias fn_glGetProgramResourcefvNV = extern(C) void function(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei* length, GLfloat* params) @system @nogc nothrow;
22153     /// Ditto
22154     @OpenGL_Version(OGLIntroducedIn.Unknown)
22155     @OpenGL_Extension("GL_NV_path_rendering")
22156     fn_glGetProgramResourcefvNV glGetProgramResourcefvNV;
22157     alias fn_glGetProgramStringARB = extern(C) void function(GLenum target, GLenum pname, void* string) @system @nogc nothrow;
22158     /// Ditto
22159     @OpenGL_Version(OGLIntroducedIn.Unknown)
22160     @OpenGL_Extension("GL_ARB_fragment_program")
22161     fn_glGetProgramStringARB glGetProgramStringARB;
22162     alias fn_glGetProgramStringNV = extern(C) void function(GLuint id, GLenum pname, GLubyte* program) @system @nogc nothrow;
22163     /// Ditto
22164     @OpenGL_Version(OGLIntroducedIn.Unknown)
22165     @OpenGL_Extension("GL_NV_vertex_program")
22166     fn_glGetProgramStringNV glGetProgramStringNV;
22167     alias fn_glGetProgramSubroutineParameteruivNV = extern(C) void function(GLenum target, GLuint index, GLuint* param) @system @nogc nothrow;
22168     /// Ditto
22169     @OpenGL_Version(OGLIntroducedIn.Unknown)
22170     @OpenGL_Extension("GL_NV_gpu_program5")
22171     fn_glGetProgramSubroutineParameteruivNV glGetProgramSubroutineParameteruivNV;
22172     alias fn_glGetProgramivARB = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22173     /// Ditto
22174     @OpenGL_Version(OGLIntroducedIn.Unknown)
22175     @OpenGL_Extension("GL_ARB_fragment_program")
22176     fn_glGetProgramivARB glGetProgramivARB;
22177     alias fn_glGetProgramivNV = extern(C) void function(GLuint id, GLenum pname, GLint* params) @system @nogc nothrow;
22178     /// Ditto
22179     @OpenGL_Version(OGLIntroducedIn.Unknown)
22180     @OpenGL_Extension("GL_NV_vertex_program")
22181     fn_glGetProgramivNV glGetProgramivNV;
22182     alias fn_glGetQueryBufferObjecti64v = extern(C) void function(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) @system @nogc nothrow;
22183     /// Ditto
22184     @OpenGL_Version(OGLIntroducedIn.V4P5)
22185     @OpenGL_Extension("GL_ARB_direct_state_access")
22186     fn_glGetQueryBufferObjecti64v glGetQueryBufferObjecti64v;
22187     alias fn_glGetQueryBufferObjectiv = extern(C) void function(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) @system @nogc nothrow;
22188     /// Ditto
22189     @OpenGL_Version(OGLIntroducedIn.V4P5)
22190     @OpenGL_Extension("GL_ARB_direct_state_access")
22191     fn_glGetQueryBufferObjectiv glGetQueryBufferObjectiv;
22192     alias fn_glGetQueryBufferObjectui64v = extern(C) void function(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) @system @nogc nothrow;
22193     /// Ditto
22194     @OpenGL_Version(OGLIntroducedIn.V4P5)
22195     @OpenGL_Extension("GL_ARB_direct_state_access")
22196     fn_glGetQueryBufferObjectui64v glGetQueryBufferObjectui64v;
22197     alias fn_glGetQueryBufferObjectuiv = extern(C) void function(GLuint id, GLuint buffer, GLenum pname, GLintptr offset) @system @nogc nothrow;
22198     /// Ditto
22199     @OpenGL_Version(OGLIntroducedIn.V4P5)
22200     @OpenGL_Extension("GL_ARB_direct_state_access")
22201     fn_glGetQueryBufferObjectuiv glGetQueryBufferObjectuiv;
22202     alias fn_glGetQueryObjecti64v = extern(C) void function(GLuint id, GLenum pname, GLint64* params) @system @nogc nothrow;
22203     /// Ditto
22204     @OpenGL_Version(OGLIntroducedIn.V3P3)
22205     @OpenGL_Extension("GL_ARB_timer_query")
22206     fn_glGetQueryObjecti64v glGetQueryObjecti64v;
22207     alias fn_glGetQueryObjecti64vEXT = extern(C) void function(GLuint id, GLenum pname, GLint64* params) @system @nogc nothrow;
22208     /// Ditto
22209     @OpenGL_Version(OGLIntroducedIn.Unknown)
22210     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
22211     fn_glGetQueryObjecti64vEXT glGetQueryObjecti64vEXT;
22212     alias fn_glGetQueryObjectivARB = extern(C) void function(GLuint id, GLenum pname, GLint* params) @system @nogc nothrow;
22213     /// Ditto
22214     @OpenGL_Version(OGLIntroducedIn.Unknown)
22215     @OpenGL_Extension("GL_ARB_occlusion_query")
22216     fn_glGetQueryObjectivARB glGetQueryObjectivARB;
22217     alias fn_glGetQueryObjectivEXT = extern(C) void function(GLuint id, GLenum pname, GLint* params) @system @nogc nothrow;
22218     /// Ditto
22219     @OpenGL_Version(OGLIntroducedIn.Unknown)
22220     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
22221     fn_glGetQueryObjectivEXT glGetQueryObjectivEXT;
22222     alias fn_glGetQueryObjectui64v = extern(C) void function(GLuint id, GLenum pname, GLuint64* params) @system @nogc nothrow;
22223     /// Ditto
22224     @OpenGL_Version(OGLIntroducedIn.V3P3)
22225     @OpenGL_Extension("GL_ARB_timer_query")
22226     fn_glGetQueryObjectui64v glGetQueryObjectui64v;
22227     alias fn_glGetQueryObjectui64vEXT = extern(C) void function(GLuint id, GLenum pname, GLuint64* params) @system @nogc nothrow;
22228     /// Ditto
22229     @OpenGL_Version(OGLIntroducedIn.Unknown)
22230     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
22231     fn_glGetQueryObjectui64vEXT glGetQueryObjectui64vEXT;
22232     alias fn_glGetQueryObjectuiv = extern(C) void function(GLuint id, GLenum pname, GLuint* params) @system @nogc nothrow;
22233     /// Ditto
22234     @OpenGL_Version(OGLIntroducedIn.V1P5)
22235     fn_glGetQueryObjectuiv glGetQueryObjectuiv;
22236     alias fn_glGetQueryObjectuivARB = extern(C) void function(GLuint id, GLenum pname, GLuint* params) @system @nogc nothrow;
22237     /// Ditto
22238     @OpenGL_Version(OGLIntroducedIn.Unknown)
22239     @OpenGL_Extension("GL_ARB_occlusion_query")
22240     fn_glGetQueryObjectuivARB glGetQueryObjectuivARB;
22241     alias fn_glGetQueryObjectuivEXT = extern(C) void function(GLuint id, GLenum pname, GLuint* params) @system @nogc nothrow;
22242     /// Ditto
22243     @OpenGL_Version(OGLIntroducedIn.Unknown)
22244     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
22245     fn_glGetQueryObjectuivEXT glGetQueryObjectuivEXT;
22246     alias fn_glGetQueryivARB = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22247     /// Ditto
22248     @OpenGL_Version(OGLIntroducedIn.Unknown)
22249     @OpenGL_Extension("GL_ARB_occlusion_query")
22250     fn_glGetQueryivARB glGetQueryivARB;
22251     alias fn_glGetQueryivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22252     /// Ditto
22253     @OpenGL_Version(OGLIntroducedIn.Unknown)
22254     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
22255     fn_glGetQueryivEXT glGetQueryivEXT;
22256     alias fn_glGetRenderbufferParameterivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22257     /// Ditto
22258     @OpenGL_Version(OGLIntroducedIn.Unknown)
22259     @OpenGL_Extension("GL_EXT_framebuffer_object")
22260     fn_glGetRenderbufferParameterivEXT glGetRenderbufferParameterivEXT;
22261     alias fn_glGetRenderbufferParameterivOES = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22262     /// Ditto
22263     @OpenGL_Version(OGLIntroducedIn.Unknown)
22264     @OpenGL_Extension("GL_OES_framebuffer_object")
22265     fn_glGetRenderbufferParameterivOES glGetRenderbufferParameterivOES;
22266     alias fn_glGetSamplerParameterIiv = extern(C) void function(GLuint sampler, GLenum pname, GLint* params) @system @nogc nothrow;
22267     /// Ditto
22268     @OpenGL_Version(OGLIntroducedIn.V3P3)
22269     @OpenGL_Extension("GL_ARB_sampler_objects")
22270     fn_glGetSamplerParameterIiv glGetSamplerParameterIiv;
22271     alias fn_glGetSamplerParameterIivEXT = extern(C) void function(GLuint sampler, GLenum pname, GLint* params) @system @nogc nothrow;
22272     /// Ditto
22273     @OpenGL_Version(OGLIntroducedIn.Unknown)
22274     @OpenGL_Extension("GL_EXT_texture_border_clamp")
22275     fn_glGetSamplerParameterIivEXT glGetSamplerParameterIivEXT;
22276     alias fn_glGetSamplerParameterIivOES = extern(C) void function(GLuint sampler, GLenum pname, GLint* params) @system @nogc nothrow;
22277     /// Ditto
22278     @OpenGL_Version(OGLIntroducedIn.Unknown)
22279     @OpenGL_Extension("GL_OES_texture_border_clamp")
22280     fn_glGetSamplerParameterIivOES glGetSamplerParameterIivOES;
22281     alias fn_glGetSamplerParameterIuiv = extern(C) void function(GLuint sampler, GLenum pname, GLuint* params) @system @nogc nothrow;
22282     /// Ditto
22283     @OpenGL_Version(OGLIntroducedIn.V3P3)
22284     @OpenGL_Extension("GL_ARB_sampler_objects")
22285     fn_glGetSamplerParameterIuiv glGetSamplerParameterIuiv;
22286     alias fn_glGetSamplerParameterIuivEXT = extern(C) void function(GLuint sampler, GLenum pname, GLuint* params) @system @nogc nothrow;
22287     /// Ditto
22288     @OpenGL_Version(OGLIntroducedIn.Unknown)
22289     @OpenGL_Extension("GL_EXT_texture_border_clamp")
22290     fn_glGetSamplerParameterIuivEXT glGetSamplerParameterIuivEXT;
22291     alias fn_glGetSamplerParameterIuivOES = extern(C) void function(GLuint sampler, GLenum pname, GLuint* params) @system @nogc nothrow;
22292     /// Ditto
22293     @OpenGL_Version(OGLIntroducedIn.Unknown)
22294     @OpenGL_Extension("GL_OES_texture_border_clamp")
22295     fn_glGetSamplerParameterIuivOES glGetSamplerParameterIuivOES;
22296     alias fn_glGetSamplerParameteriv = extern(C) void function(GLuint sampler, GLenum pname, GLint* params) @system @nogc nothrow;
22297     /// Ditto
22298     @OpenGL_Version(OGLIntroducedIn.V3P3)
22299     @OpenGL_Extension("GL_ARB_sampler_objects")
22300     fn_glGetSamplerParameteriv glGetSamplerParameteriv;
22301     alias fn_glGetSeparableFilter = extern(C) void function(GLenum target, GLenum format, GLenum type, void* row, void* column, void* span) @system @nogc nothrow;
22302     /// Ditto
22303     @OpenGL_Version(OGLIntroducedIn.Unknown)
22304     @OpenGL_Extension("GL_ARB_imaging")
22305     fn_glGetSeparableFilter glGetSeparableFilter;
22306     alias fn_glGetSeparableFilterEXT = extern(C) void function(GLenum target, GLenum format, GLenum type, void* row, void* column, void* span) @system @nogc nothrow;
22307     /// Ditto
22308     @OpenGL_Version(OGLIntroducedIn.Unknown)
22309     @OpenGL_Extension("GL_EXT_convolution")
22310     fn_glGetSeparableFilterEXT glGetSeparableFilterEXT;
22311     alias fn_glGetShaderSourceARB = extern(C) void function(GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB* source) @system @nogc nothrow;
22312     /// Ditto
22313     @OpenGL_Version(OGLIntroducedIn.Unknown)
22314     @OpenGL_Extension("GL_ARB_shader_objects")
22315     fn_glGetShaderSourceARB glGetShaderSourceARB;
22316     alias fn_glGetSharpenTexFuncSGIS = extern(C) void function(GLenum target, GLfloat* points) @system @nogc nothrow;
22317     /// Ditto
22318     @OpenGL_Version(OGLIntroducedIn.Unknown)
22319     @OpenGL_Extension("GL_SGIS_sharpen_texture")
22320     fn_glGetSharpenTexFuncSGIS glGetSharpenTexFuncSGIS;
22321     alias fn_glGetStageIndexNV = extern(C) GLushort function(GLenum shadertype) @system @nogc nothrow;
22322     /// Ditto
22323     @OpenGL_Version(OGLIntroducedIn.Unknown)
22324     @OpenGL_Extension("GL_NV_command_list")
22325     fn_glGetStageIndexNV glGetStageIndexNV;
22326     alias fn_glGetStringi = extern(C) const(GLubyte)* function(GLenum name, GLuint index) @system @nogc nothrow;
22327     /// Ditto
22328     @OpenGL_Version(OGLIntroducedIn.V3P0)
22329     fn_glGetStringi glGetStringi;
22330     alias fn_glGetSyncivAPPLE = extern(C) void function(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) @system @nogc nothrow;
22331     /// Ditto
22332     @OpenGL_Version(OGLIntroducedIn.Unknown)
22333     @OpenGL_Extension("GL_APPLE_sync")
22334     fn_glGetSyncivAPPLE glGetSyncivAPPLE;
22335     alias fn_glGetTexBumpParameterfvATI = extern(C) void function(GLenum pname, GLfloat* param) @system @nogc nothrow;
22336     /// Ditto
22337     @OpenGL_Version(OGLIntroducedIn.Unknown)
22338     @OpenGL_Extension("GL_ATI_envmap_bumpmap")
22339     fn_glGetTexBumpParameterfvATI glGetTexBumpParameterfvATI;
22340     alias fn_glGetTexBumpParameterivATI = extern(C) void function(GLenum pname, GLint* param) @system @nogc nothrow;
22341     /// Ditto
22342     @OpenGL_Version(OGLIntroducedIn.Unknown)
22343     @OpenGL_Extension("GL_ATI_envmap_bumpmap")
22344     fn_glGetTexBumpParameterivATI glGetTexBumpParameterivATI;
22345     alias fn_glGetTexEnvfv = extern(C) void function(GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
22346     /// Ditto
22347     @OpenGL_Version(OGLIntroducedIn.V1P0)
22348     fn_glGetTexEnvfv glGetTexEnvfv;
22349     alias fn_glGetTexEnviv = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22350     /// Ditto
22351     @OpenGL_Version(OGLIntroducedIn.V1P0)
22352     fn_glGetTexEnviv glGetTexEnviv;
22353     alias fn_glGetTexEnvxv = extern(C) void function(GLenum target, GLenum pname, GLfixed* params) @system @nogc nothrow;
22354     /// Ditto
22355     @OpenGL_Version(OGLIntroducedIn.Unknown)
22356     fn_glGetTexEnvxv glGetTexEnvxv;
22357     alias fn_glGetTexEnvxvOES = extern(C) void function(GLenum target, GLenum pname, GLfixed* params) @system @nogc nothrow;
22358     /// Ditto
22359     @OpenGL_Version(OGLIntroducedIn.Unknown)
22360     @OpenGL_Extension("GL_OES_fixed_point")
22361     fn_glGetTexEnvxvOES glGetTexEnvxvOES;
22362     alias fn_glGetTexFilterFuncSGIS = extern(C) void function(GLenum target, GLenum filter, GLfloat* weights) @system @nogc nothrow;
22363     /// Ditto
22364     @OpenGL_Version(OGLIntroducedIn.Unknown)
22365     @OpenGL_Extension("GL_SGIS_texture_filter4")
22366     fn_glGetTexFilterFuncSGIS glGetTexFilterFuncSGIS;
22367     alias fn_glGetTexGendv = extern(C) void function(GLenum coord, GLenum pname, GLdouble* params) @system @nogc nothrow;
22368     /// Ditto
22369     @OpenGL_Version(OGLIntroducedIn.V1P0)
22370     fn_glGetTexGendv glGetTexGendv;
22371     alias fn_glGetTexGenfv = extern(C) void function(GLenum coord, GLenum pname, GLfloat* params) @system @nogc nothrow;
22372     /// Ditto
22373     @OpenGL_Version(OGLIntroducedIn.V1P0)
22374     fn_glGetTexGenfv glGetTexGenfv;
22375     alias fn_glGetTexGenfvOES = extern(C) void function(GLenum coord, GLenum pname, GLfloat* params) @system @nogc nothrow;
22376     /// Ditto
22377     @OpenGL_Version(OGLIntroducedIn.Unknown)
22378     @OpenGL_Extension("GL_OES_texture_cube_map")
22379     fn_glGetTexGenfvOES glGetTexGenfvOES;
22380     alias fn_glGetTexGeniv = extern(C) void function(GLenum coord, GLenum pname, GLint* params) @system @nogc nothrow;
22381     /// Ditto
22382     @OpenGL_Version(OGLIntroducedIn.V1P0)
22383     fn_glGetTexGeniv glGetTexGeniv;
22384     alias fn_glGetTexGenivOES = extern(C) void function(GLenum coord, GLenum pname, GLint* params) @system @nogc nothrow;
22385     /// Ditto
22386     @OpenGL_Version(OGLIntroducedIn.Unknown)
22387     @OpenGL_Extension("GL_OES_texture_cube_map")
22388     fn_glGetTexGenivOES glGetTexGenivOES;
22389     alias fn_glGetTexGenxvOES = extern(C) void function(GLenum coord, GLenum pname, GLfixed* params) @system @nogc nothrow;
22390     /// Ditto
22391     @OpenGL_Version(OGLIntroducedIn.Unknown)
22392     @OpenGL_Extension("GL_OES_fixed_point")
22393     fn_glGetTexGenxvOES glGetTexGenxvOES;
22394     alias fn_glGetTexLevelParameterxvOES = extern(C) void function(GLenum target, GLint level, GLenum pname, GLfixed* params) @system @nogc nothrow;
22395     /// Ditto
22396     @OpenGL_Version(OGLIntroducedIn.Unknown)
22397     @OpenGL_Extension("GL_OES_fixed_point")
22398     fn_glGetTexLevelParameterxvOES glGetTexLevelParameterxvOES;
22399     alias fn_glGetTexParameterIivEXT = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22400     /// Ditto
22401     @OpenGL_Version(OGLIntroducedIn.Unknown)
22402     @OpenGL_Extension("GL_EXT_texture_border_clamp")
22403     fn_glGetTexParameterIivEXT glGetTexParameterIivEXT;
22404     alias fn_glGetTexParameterIivOES = extern(C) void function(GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22405     /// Ditto
22406     @OpenGL_Version(OGLIntroducedIn.Unknown)
22407     @OpenGL_Extension("GL_OES_texture_border_clamp")
22408     fn_glGetTexParameterIivOES glGetTexParameterIivOES;
22409     alias fn_glGetTexParameterIuivEXT = extern(C) void function(GLenum target, GLenum pname, GLuint* params) @system @nogc nothrow;
22410     /// Ditto
22411     @OpenGL_Version(OGLIntroducedIn.Unknown)
22412     @OpenGL_Extension("GL_EXT_texture_border_clamp")
22413     fn_glGetTexParameterIuivEXT glGetTexParameterIuivEXT;
22414     alias fn_glGetTexParameterIuivOES = extern(C) void function(GLenum target, GLenum pname, GLuint* params) @system @nogc nothrow;
22415     /// Ditto
22416     @OpenGL_Version(OGLIntroducedIn.Unknown)
22417     @OpenGL_Extension("GL_OES_texture_border_clamp")
22418     fn_glGetTexParameterIuivOES glGetTexParameterIuivOES;
22419     alias fn_glGetTexParameterPointervAPPLE = extern(C) void function(GLenum target, GLenum pname, void** params) @system @nogc nothrow;
22420     /// Ditto
22421     @OpenGL_Version(OGLIntroducedIn.Unknown)
22422     @OpenGL_Extension("GL_APPLE_texture_range")
22423     fn_glGetTexParameterPointervAPPLE glGetTexParameterPointervAPPLE;
22424     alias fn_glGetTexParameterxv = extern(C) void function(GLenum target, GLenum pname, GLfixed* params) @system @nogc nothrow;
22425     /// Ditto
22426     @OpenGL_Version(OGLIntroducedIn.Unknown)
22427     fn_glGetTexParameterxv glGetTexParameterxv;
22428     alias fn_glGetTexParameterxvOES = extern(C) void function(GLenum target, GLenum pname, GLfixed* params) @system @nogc nothrow;
22429     /// Ditto
22430     @OpenGL_Version(OGLIntroducedIn.Unknown)
22431     @OpenGL_Extension("GL_OES_fixed_point")
22432     fn_glGetTexParameterxvOES glGetTexParameterxvOES;
22433     alias fn_glGetTextureHandleARB = extern(C) GLuint64 function(GLuint texture) @system @nogc nothrow;
22434     /// Ditto
22435     @OpenGL_Version(OGLIntroducedIn.Unknown)
22436     @OpenGL_Extension("GL_ARB_bindless_texture")
22437     fn_glGetTextureHandleARB glGetTextureHandleARB;
22438     alias fn_glGetTextureHandleIMG = extern(C) GLuint64 function(GLuint texture) @system @nogc nothrow;
22439     /// Ditto
22440     @OpenGL_Version(OGLIntroducedIn.Unknown)
22441     @OpenGL_Extension("GL_IMG_bindless_texture")
22442     fn_glGetTextureHandleIMG glGetTextureHandleIMG;
22443     alias fn_glGetTextureHandleNV = extern(C) GLuint64 function(GLuint texture) @system @nogc nothrow;
22444     /// Ditto
22445     @OpenGL_Version(OGLIntroducedIn.Unknown)
22446     @OpenGL_Extension("GL_NV_bindless_texture")
22447     fn_glGetTextureHandleNV glGetTextureHandleNV;
22448     alias fn_glGetTextureImageEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels) @system @nogc nothrow;
22449     /// Ditto
22450     @OpenGL_Version(OGLIntroducedIn.Unknown)
22451     @OpenGL_Extension("GL_EXT_direct_state_access")
22452     fn_glGetTextureImageEXT glGetTextureImageEXT;
22453     alias fn_glGetTextureLevelParameterfvEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params) @system @nogc nothrow;
22454     /// Ditto
22455     @OpenGL_Version(OGLIntroducedIn.Unknown)
22456     @OpenGL_Extension("GL_EXT_direct_state_access")
22457     fn_glGetTextureLevelParameterfvEXT glGetTextureLevelParameterfvEXT;
22458     alias fn_glGetTextureLevelParameterivEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params) @system @nogc nothrow;
22459     /// Ditto
22460     @OpenGL_Version(OGLIntroducedIn.Unknown)
22461     @OpenGL_Extension("GL_EXT_direct_state_access")
22462     fn_glGetTextureLevelParameterivEXT glGetTextureLevelParameterivEXT;
22463     alias fn_glGetTextureParameterIivEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22464     /// Ditto
22465     @OpenGL_Version(OGLIntroducedIn.Unknown)
22466     @OpenGL_Extension("GL_EXT_direct_state_access")
22467     fn_glGetTextureParameterIivEXT glGetTextureParameterIivEXT;
22468     alias fn_glGetTextureParameterIuivEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, GLuint* params) @system @nogc nothrow;
22469     /// Ditto
22470     @OpenGL_Version(OGLIntroducedIn.Unknown)
22471     @OpenGL_Extension("GL_EXT_direct_state_access")
22472     fn_glGetTextureParameterIuivEXT glGetTextureParameterIuivEXT;
22473     alias fn_glGetTextureParameterfvEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, GLfloat* params) @system @nogc nothrow;
22474     /// Ditto
22475     @OpenGL_Version(OGLIntroducedIn.Unknown)
22476     @OpenGL_Extension("GL_EXT_direct_state_access")
22477     fn_glGetTextureParameterfvEXT glGetTextureParameterfvEXT;
22478     alias fn_glGetTextureParameterivEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, GLint* params) @system @nogc nothrow;
22479     /// Ditto
22480     @OpenGL_Version(OGLIntroducedIn.Unknown)
22481     @OpenGL_Extension("GL_EXT_direct_state_access")
22482     fn_glGetTextureParameterivEXT glGetTextureParameterivEXT;
22483     alias fn_glGetTextureSamplerHandleARB = extern(C) GLuint64 function(GLuint texture, GLuint sampler) @system @nogc nothrow;
22484     /// Ditto
22485     @OpenGL_Version(OGLIntroducedIn.Unknown)
22486     @OpenGL_Extension("GL_ARB_bindless_texture")
22487     fn_glGetTextureSamplerHandleARB glGetTextureSamplerHandleARB;
22488     alias fn_glGetTextureSamplerHandleIMG = extern(C) GLuint64 function(GLuint texture, GLuint sampler) @system @nogc nothrow;
22489     /// Ditto
22490     @OpenGL_Version(OGLIntroducedIn.Unknown)
22491     @OpenGL_Extension("GL_IMG_bindless_texture")
22492     fn_glGetTextureSamplerHandleIMG glGetTextureSamplerHandleIMG;
22493     alias fn_glGetTextureSamplerHandleNV = extern(C) GLuint64 function(GLuint texture, GLuint sampler) @system @nogc nothrow;
22494     /// Ditto
22495     @OpenGL_Version(OGLIntroducedIn.Unknown)
22496     @OpenGL_Extension("GL_NV_bindless_texture")
22497     fn_glGetTextureSamplerHandleNV glGetTextureSamplerHandleNV;
22498     alias fn_glGetTrackMatrixivNV = extern(C) void function(GLenum target, GLuint address, GLenum pname, GLint* params) @system @nogc nothrow;
22499     /// Ditto
22500     @OpenGL_Version(OGLIntroducedIn.Unknown)
22501     @OpenGL_Extension("GL_NV_vertex_program")
22502     fn_glGetTrackMatrixivNV glGetTrackMatrixivNV;
22503     alias fn_glGetTransformFeedbackVaryingEXT = extern(C) void function(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) @system @nogc nothrow;
22504     /// Ditto
22505     @OpenGL_Version(OGLIntroducedIn.Unknown)
22506     @OpenGL_Extension("GL_EXT_transform_feedback")
22507     fn_glGetTransformFeedbackVaryingEXT glGetTransformFeedbackVaryingEXT;
22508     alias fn_glGetTransformFeedbackVaryingNV = extern(C) void function(GLuint program, GLuint index, GLint* location) @system @nogc nothrow;
22509     /// Ditto
22510     @OpenGL_Version(OGLIntroducedIn.Unknown)
22511     @OpenGL_Extension("GL_NV_transform_feedback")
22512     fn_glGetTransformFeedbackVaryingNV glGetTransformFeedbackVaryingNV;
22513     alias fn_glGetTransformFeedbacki64_v = extern(C) void function(GLuint xfb, GLenum pname, GLuint index, GLint64* param) @system @nogc nothrow;
22514     /// Ditto
22515     @OpenGL_Version(OGLIntroducedIn.V4P5)
22516     @OpenGL_Extension("GL_ARB_direct_state_access")
22517     fn_glGetTransformFeedbacki64_v glGetTransformFeedbacki64_v;
22518     alias fn_glGetTransformFeedbacki_v = extern(C) void function(GLuint xfb, GLenum pname, GLuint index, GLint* param) @system @nogc nothrow;
22519     /// Ditto
22520     @OpenGL_Version(OGLIntroducedIn.V4P5)
22521     @OpenGL_Extension("GL_ARB_direct_state_access")
22522     fn_glGetTransformFeedbacki_v glGetTransformFeedbacki_v;
22523     alias fn_glGetTranslatedShaderSourceANGLE = extern(C) void function(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) @system @nogc nothrow;
22524     /// Ditto
22525     @OpenGL_Version(OGLIntroducedIn.Unknown)
22526     @OpenGL_Extension("GL_ANGLE_translated_shader_source")
22527     fn_glGetTranslatedShaderSourceANGLE glGetTranslatedShaderSourceANGLE;
22528     alias fn_glGetUniformBufferSizeEXT = extern(C) GLint function(GLuint program, GLint location) @system @nogc nothrow;
22529     /// Ditto
22530     @OpenGL_Version(OGLIntroducedIn.Unknown)
22531     @OpenGL_Extension("GL_EXT_bindable_uniform")
22532     fn_glGetUniformBufferSizeEXT glGetUniformBufferSizeEXT;
22533     alias fn_glGetUniformLocationARB = extern(C) GLint function(GLhandleARB programObj, const GLcharARB* name) @system @nogc nothrow;
22534     /// Ditto
22535     @OpenGL_Version(OGLIntroducedIn.Unknown)
22536     @OpenGL_Extension("GL_ARB_shader_objects")
22537     fn_glGetUniformLocationARB glGetUniformLocationARB;
22538     alias fn_glGetUniformOffsetEXT = extern(C) GLintptr function(GLuint program, GLint location) @system @nogc nothrow;
22539     /// Ditto
22540     @OpenGL_Version(OGLIntroducedIn.Unknown)
22541     @OpenGL_Extension("GL_EXT_bindable_uniform")
22542     fn_glGetUniformOffsetEXT glGetUniformOffsetEXT;
22543     alias fn_glGetUniformfvARB = extern(C) void function(GLhandleARB programObj, GLint location, GLfloat* params) @system @nogc nothrow;
22544     /// Ditto
22545     @OpenGL_Version(OGLIntroducedIn.Unknown)
22546     @OpenGL_Extension("GL_ARB_shader_objects")
22547     fn_glGetUniformfvARB glGetUniformfvARB;
22548     alias fn_glGetUniformi64vARB = extern(C) void function(GLuint program, GLint location, GLint64* params) @system @nogc nothrow;
22549     /// Ditto
22550     @OpenGL_Version(OGLIntroducedIn.Unknown)
22551     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
22552     fn_glGetUniformi64vARB glGetUniformi64vARB;
22553     alias fn_glGetUniformi64vNV = extern(C) void function(GLuint program, GLint location, GLint64EXT* params) @system @nogc nothrow;
22554     /// Ditto
22555     @OpenGL_Version(OGLIntroducedIn.Unknown)
22556     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
22557     fn_glGetUniformi64vNV glGetUniformi64vNV;
22558     alias fn_glGetUniformivARB = extern(C) void function(GLhandleARB programObj, GLint location, GLint* params) @system @nogc nothrow;
22559     /// Ditto
22560     @OpenGL_Version(OGLIntroducedIn.Unknown)
22561     @OpenGL_Extension("GL_ARB_shader_objects")
22562     fn_glGetUniformivARB glGetUniformivARB;
22563     alias fn_glGetUniformui64vARB = extern(C) void function(GLuint program, GLint location, GLuint64* params) @system @nogc nothrow;
22564     /// Ditto
22565     @OpenGL_Version(OGLIntroducedIn.Unknown)
22566     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
22567     fn_glGetUniformui64vARB glGetUniformui64vARB;
22568     alias fn_glGetUniformui64vNV = extern(C) void function(GLuint program, GLint location, GLuint64EXT* params) @system @nogc nothrow;
22569     /// Ditto
22570     @OpenGL_Version(OGLIntroducedIn.Unknown)
22571     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
22572     fn_glGetUniformui64vNV glGetUniformui64vNV;
22573     alias fn_glGetUniformuivEXT = extern(C) void function(GLuint program, GLint location, GLuint* params) @system @nogc nothrow;
22574     /// Ditto
22575     @OpenGL_Version(OGLIntroducedIn.Unknown)
22576     @OpenGL_Extension("GL_EXT_gpu_shader4")
22577     fn_glGetUniformuivEXT glGetUniformuivEXT;
22578     alias fn_glGetVariantArrayObjectfvATI = extern(C) void function(GLuint id, GLenum pname, GLfloat* params) @system @nogc nothrow;
22579     /// Ditto
22580     @OpenGL_Version(OGLIntroducedIn.Unknown)
22581     @OpenGL_Extension("GL_ATI_vertex_array_object")
22582     fn_glGetVariantArrayObjectfvATI glGetVariantArrayObjectfvATI;
22583     alias fn_glGetVariantArrayObjectivATI = extern(C) void function(GLuint id, GLenum pname, GLint* params) @system @nogc nothrow;
22584     /// Ditto
22585     @OpenGL_Version(OGLIntroducedIn.Unknown)
22586     @OpenGL_Extension("GL_ATI_vertex_array_object")
22587     fn_glGetVariantArrayObjectivATI glGetVariantArrayObjectivATI;
22588     alias fn_glGetVariantBooleanvEXT = extern(C) void function(GLuint id, GLenum value, GLboolean* data) @system @nogc nothrow;
22589     /// Ditto
22590     @OpenGL_Version(OGLIntroducedIn.Unknown)
22591     @OpenGL_Extension("GL_EXT_vertex_shader")
22592     fn_glGetVariantBooleanvEXT glGetVariantBooleanvEXT;
22593     alias fn_glGetVariantFloatvEXT = extern(C) void function(GLuint id, GLenum value, GLfloat* data) @system @nogc nothrow;
22594     /// Ditto
22595     @OpenGL_Version(OGLIntroducedIn.Unknown)
22596     @OpenGL_Extension("GL_EXT_vertex_shader")
22597     fn_glGetVariantFloatvEXT glGetVariantFloatvEXT;
22598     alias fn_glGetVariantIntegervEXT = extern(C) void function(GLuint id, GLenum value, GLint* data) @system @nogc nothrow;
22599     /// Ditto
22600     @OpenGL_Version(OGLIntroducedIn.Unknown)
22601     @OpenGL_Extension("GL_EXT_vertex_shader")
22602     fn_glGetVariantIntegervEXT glGetVariantIntegervEXT;
22603     alias fn_glGetVariantPointervEXT = extern(C) void function(GLuint id, GLenum value, void** data) @system @nogc nothrow;
22604     /// Ditto
22605     @OpenGL_Version(OGLIntroducedIn.Unknown)
22606     @OpenGL_Extension("GL_EXT_vertex_shader")
22607     fn_glGetVariantPointervEXT glGetVariantPointervEXT;
22608     alias fn_glGetVaryingLocationNV = extern(C) GLint function(GLuint program, const GLchar* name) @system @nogc nothrow;
22609     /// Ditto
22610     @OpenGL_Version(OGLIntroducedIn.Unknown)
22611     @OpenGL_Extension("GL_NV_transform_feedback")
22612     fn_glGetVaryingLocationNV glGetVaryingLocationNV;
22613     alias fn_glGetVertexArrayIndexediv = extern(C) void function(GLuint vaobj, GLuint index, GLenum pname, GLint* param) @system @nogc nothrow;
22614     /// Ditto
22615     @OpenGL_Version(OGLIntroducedIn.V4P5)
22616     @OpenGL_Extension("GL_ARB_direct_state_access")
22617     fn_glGetVertexArrayIndexediv glGetVertexArrayIndexediv;
22618     alias fn_glGetVertexArrayIntegeri_vEXT = extern(C) void function(GLuint vaobj, GLuint index, GLenum pname, GLint* param) @system @nogc nothrow;
22619     /// Ditto
22620     @OpenGL_Version(OGLIntroducedIn.Unknown)
22621     @OpenGL_Extension("GL_EXT_direct_state_access")
22622     fn_glGetVertexArrayIntegeri_vEXT glGetVertexArrayIntegeri_vEXT;
22623     alias fn_glGetVertexArrayIntegervEXT = extern(C) void function(GLuint vaobj, GLenum pname, GLint* param) @system @nogc nothrow;
22624     /// Ditto
22625     @OpenGL_Version(OGLIntroducedIn.Unknown)
22626     @OpenGL_Extension("GL_EXT_direct_state_access")
22627     fn_glGetVertexArrayIntegervEXT glGetVertexArrayIntegervEXT;
22628     alias fn_glGetVertexArrayPointeri_vEXT = extern(C) void function(GLuint vaobj, GLuint index, GLenum pname, void** param) @system @nogc nothrow;
22629     /// Ditto
22630     @OpenGL_Version(OGLIntroducedIn.Unknown)
22631     @OpenGL_Extension("GL_EXT_direct_state_access")
22632     fn_glGetVertexArrayPointeri_vEXT glGetVertexArrayPointeri_vEXT;
22633     alias fn_glGetVertexArrayPointervEXT = extern(C) void function(GLuint vaobj, GLenum pname, void** param) @system @nogc nothrow;
22634     /// Ditto
22635     @OpenGL_Version(OGLIntroducedIn.Unknown)
22636     @OpenGL_Extension("GL_EXT_direct_state_access")
22637     fn_glGetVertexArrayPointervEXT glGetVertexArrayPointervEXT;
22638     alias fn_glGetVertexAttribArrayObjectfvATI = extern(C) void function(GLuint index, GLenum pname, GLfloat* params) @system @nogc nothrow;
22639     /// Ditto
22640     @OpenGL_Version(OGLIntroducedIn.Unknown)
22641     @OpenGL_Extension("GL_ATI_vertex_attrib_array_object")
22642     fn_glGetVertexAttribArrayObjectfvATI glGetVertexAttribArrayObjectfvATI;
22643     alias fn_glGetVertexAttribArrayObjectivATI = extern(C) void function(GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
22644     /// Ditto
22645     @OpenGL_Version(OGLIntroducedIn.Unknown)
22646     @OpenGL_Extension("GL_ATI_vertex_attrib_array_object")
22647     fn_glGetVertexAttribArrayObjectivATI glGetVertexAttribArrayObjectivATI;
22648     alias fn_glGetVertexAttribIivEXT = extern(C) void function(GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
22649     /// Ditto
22650     @OpenGL_Version(OGLIntroducedIn.Unknown)
22651     @OpenGL_Extension("GL_NV_vertex_program4")
22652     fn_glGetVertexAttribIivEXT glGetVertexAttribIivEXT;
22653     alias fn_glGetVertexAttribIuivEXT = extern(C) void function(GLuint index, GLenum pname, GLuint* params) @system @nogc nothrow;
22654     /// Ditto
22655     @OpenGL_Version(OGLIntroducedIn.Unknown)
22656     @OpenGL_Extension("GL_NV_vertex_program4")
22657     fn_glGetVertexAttribIuivEXT glGetVertexAttribIuivEXT;
22658     alias fn_glGetVertexAttribLdvEXT = extern(C) void function(GLuint index, GLenum pname, GLdouble* params) @system @nogc nothrow;
22659     /// Ditto
22660     @OpenGL_Version(OGLIntroducedIn.Unknown)
22661     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
22662     fn_glGetVertexAttribLdvEXT glGetVertexAttribLdvEXT;
22663     alias fn_glGetVertexAttribLi64vNV = extern(C) void function(GLuint index, GLenum pname, GLint64EXT* params) @system @nogc nothrow;
22664     /// Ditto
22665     @OpenGL_Version(OGLIntroducedIn.Unknown)
22666     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
22667     fn_glGetVertexAttribLi64vNV glGetVertexAttribLi64vNV;
22668     alias fn_glGetVertexAttribLui64vARB = extern(C) void function(GLuint index, GLenum pname, GLuint64EXT* params) @system @nogc nothrow;
22669     /// Ditto
22670     @OpenGL_Version(OGLIntroducedIn.Unknown)
22671     @OpenGL_Extension("GL_ARB_bindless_texture")
22672     fn_glGetVertexAttribLui64vARB glGetVertexAttribLui64vARB;
22673     alias fn_glGetVertexAttribLui64vNV = extern(C) void function(GLuint index, GLenum pname, GLuint64EXT* params) @system @nogc nothrow;
22674     /// Ditto
22675     @OpenGL_Version(OGLIntroducedIn.Unknown)
22676     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
22677     fn_glGetVertexAttribLui64vNV glGetVertexAttribLui64vNV;
22678     alias fn_glGetVertexAttribPointervARB = extern(C) void function(GLuint index, GLenum pname, void** pointer) @system @nogc nothrow;
22679     /// Ditto
22680     @OpenGL_Version(OGLIntroducedIn.Unknown)
22681     @OpenGL_Extension("GL_ARB_vertex_program")
22682     fn_glGetVertexAttribPointervARB glGetVertexAttribPointervARB;
22683     alias fn_glGetVertexAttribPointervNV = extern(C) void function(GLuint index, GLenum pname, void** pointer) @system @nogc nothrow;
22684     /// Ditto
22685     @OpenGL_Version(OGLIntroducedIn.Unknown)
22686     @OpenGL_Extension("GL_NV_vertex_program")
22687     fn_glGetVertexAttribPointervNV glGetVertexAttribPointervNV;
22688     alias fn_glGetVertexAttribdvARB = extern(C) void function(GLuint index, GLenum pname, GLdouble* params) @system @nogc nothrow;
22689     /// Ditto
22690     @OpenGL_Version(OGLIntroducedIn.Unknown)
22691     @OpenGL_Extension("GL_ARB_vertex_program")
22692     fn_glGetVertexAttribdvARB glGetVertexAttribdvARB;
22693     alias fn_glGetVertexAttribdvNV = extern(C) void function(GLuint index, GLenum pname, GLdouble* params) @system @nogc nothrow;
22694     /// Ditto
22695     @OpenGL_Version(OGLIntroducedIn.Unknown)
22696     @OpenGL_Extension("GL_NV_vertex_program")
22697     fn_glGetVertexAttribdvNV glGetVertexAttribdvNV;
22698     alias fn_glGetVertexAttribfvARB = extern(C) void function(GLuint index, GLenum pname, GLfloat* params) @system @nogc nothrow;
22699     /// Ditto
22700     @OpenGL_Version(OGLIntroducedIn.Unknown)
22701     @OpenGL_Extension("GL_ARB_vertex_program")
22702     fn_glGetVertexAttribfvARB glGetVertexAttribfvARB;
22703     alias fn_glGetVertexAttribfvNV = extern(C) void function(GLuint index, GLenum pname, GLfloat* params) @system @nogc nothrow;
22704     /// Ditto
22705     @OpenGL_Version(OGLIntroducedIn.Unknown)
22706     @OpenGL_Extension("GL_NV_vertex_program")
22707     fn_glGetVertexAttribfvNV glGetVertexAttribfvNV;
22708     alias fn_glGetVertexAttribivARB = extern(C) void function(GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
22709     /// Ditto
22710     @OpenGL_Version(OGLIntroducedIn.Unknown)
22711     @OpenGL_Extension("GL_ARB_vertex_program")
22712     fn_glGetVertexAttribivARB glGetVertexAttribivARB;
22713     alias fn_glGetVertexAttribivNV = extern(C) void function(GLuint index, GLenum pname, GLint* params) @system @nogc nothrow;
22714     /// Ditto
22715     @OpenGL_Version(OGLIntroducedIn.Unknown)
22716     @OpenGL_Extension("GL_NV_vertex_program")
22717     fn_glGetVertexAttribivNV glGetVertexAttribivNV;
22718     alias fn_glGetVideoCaptureStreamdvNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params) @system @nogc nothrow;
22719     /// Ditto
22720     @OpenGL_Version(OGLIntroducedIn.Unknown)
22721     @OpenGL_Extension("GL_NV_video_capture")
22722     fn_glGetVideoCaptureStreamdvNV glGetVideoCaptureStreamdvNV;
22723     alias fn_glGetVideoCaptureStreamfvNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params) @system @nogc nothrow;
22724     /// Ditto
22725     @OpenGL_Version(OGLIntroducedIn.Unknown)
22726     @OpenGL_Extension("GL_NV_video_capture")
22727     fn_glGetVideoCaptureStreamfvNV glGetVideoCaptureStreamfvNV;
22728     alias fn_glGetVideoCaptureStreamivNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params) @system @nogc nothrow;
22729     /// Ditto
22730     @OpenGL_Version(OGLIntroducedIn.Unknown)
22731     @OpenGL_Extension("GL_NV_video_capture")
22732     fn_glGetVideoCaptureStreamivNV glGetVideoCaptureStreamivNV;
22733     alias fn_glGetVideoCaptureivNV = extern(C) void function(GLuint video_capture_slot, GLenum pname, GLint* params) @system @nogc nothrow;
22734     /// Ditto
22735     @OpenGL_Version(OGLIntroducedIn.Unknown)
22736     @OpenGL_Extension("GL_NV_video_capture")
22737     fn_glGetVideoCaptureivNV glGetVideoCaptureivNV;
22738     alias fn_glGetVideoi64vNV = extern(C) void function(GLuint video_slot, GLenum pname, GLint64EXT* params) @system @nogc nothrow;
22739     /// Ditto
22740     @OpenGL_Version(OGLIntroducedIn.Unknown)
22741     @OpenGL_Extension("GL_NV_present_video")
22742     fn_glGetVideoi64vNV glGetVideoi64vNV;
22743     alias fn_glGetVideoivNV = extern(C) void function(GLuint video_slot, GLenum pname, GLint* params) @system @nogc nothrow;
22744     /// Ditto
22745     @OpenGL_Version(OGLIntroducedIn.Unknown)
22746     @OpenGL_Extension("GL_NV_present_video")
22747     fn_glGetVideoivNV glGetVideoivNV;
22748     alias fn_glGetVideoui64vNV = extern(C) void function(GLuint video_slot, GLenum pname, GLuint64EXT* params) @system @nogc nothrow;
22749     /// Ditto
22750     @OpenGL_Version(OGLIntroducedIn.Unknown)
22751     @OpenGL_Extension("GL_NV_present_video")
22752     fn_glGetVideoui64vNV glGetVideoui64vNV;
22753     alias fn_glGetVideouivNV = extern(C) void function(GLuint video_slot, GLenum pname, GLuint* params) @system @nogc nothrow;
22754     /// Ditto
22755     @OpenGL_Version(OGLIntroducedIn.Unknown)
22756     @OpenGL_Extension("GL_NV_present_video")
22757     fn_glGetVideouivNV glGetVideouivNV;
22758     alias fn_glGetnColorTable = extern(C) void function(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table) @system @nogc nothrow;
22759     /// Ditto
22760     @OpenGL_Version(OGLIntroducedIn.V4P5)
22761     fn_glGetnColorTable glGetnColorTable;
22762     alias fn_glGetnColorTableARB = extern(C) void function(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table) @system @nogc nothrow;
22763     /// Ditto
22764     @OpenGL_Version(OGLIntroducedIn.Unknown)
22765     @OpenGL_Extension("GL_ARB_robustness")
22766     fn_glGetnColorTableARB glGetnColorTableARB;
22767     alias fn_glGetnCompressedTexImageARB = extern(C) void function(GLenum target, GLint lod, GLsizei bufSize, void* img) @system @nogc nothrow;
22768     /// Ditto
22769     @OpenGL_Version(OGLIntroducedIn.Unknown)
22770     @OpenGL_Extension("GL_ARB_robustness")
22771     fn_glGetnCompressedTexImageARB glGetnCompressedTexImageARB;
22772     alias fn_glGetnConvolutionFilter = extern(C) void function(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image) @system @nogc nothrow;
22773     /// Ditto
22774     @OpenGL_Version(OGLIntroducedIn.V4P5)
22775     fn_glGetnConvolutionFilter glGetnConvolutionFilter;
22776     alias fn_glGetnConvolutionFilterARB = extern(C) void function(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image) @system @nogc nothrow;
22777     /// Ditto
22778     @OpenGL_Version(OGLIntroducedIn.Unknown)
22779     @OpenGL_Extension("GL_ARB_robustness")
22780     fn_glGetnConvolutionFilterARB glGetnConvolutionFilterARB;
22781     alias fn_glGetnHistogram = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) @system @nogc nothrow;
22782     /// Ditto
22783     @OpenGL_Version(OGLIntroducedIn.V4P5)
22784     fn_glGetnHistogram glGetnHistogram;
22785     alias fn_glGetnHistogramARB = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) @system @nogc nothrow;
22786     /// Ditto
22787     @OpenGL_Version(OGLIntroducedIn.Unknown)
22788     @OpenGL_Extension("GL_ARB_robustness")
22789     fn_glGetnHistogramARB glGetnHistogramARB;
22790     alias fn_glGetnMapdv = extern(C) void function(GLenum target, GLenum query, GLsizei bufSize, GLdouble* v) @system @nogc nothrow;
22791     /// Ditto
22792     @OpenGL_Version(OGLIntroducedIn.V4P5)
22793     fn_glGetnMapdv glGetnMapdv;
22794     alias fn_glGetnMapdvARB = extern(C) void function(GLenum target, GLenum query, GLsizei bufSize, GLdouble* v) @system @nogc nothrow;
22795     /// Ditto
22796     @OpenGL_Version(OGLIntroducedIn.Unknown)
22797     @OpenGL_Extension("GL_ARB_robustness")
22798     fn_glGetnMapdvARB glGetnMapdvARB;
22799     alias fn_glGetnMapfv = extern(C) void function(GLenum target, GLenum query, GLsizei bufSize, GLfloat* v) @system @nogc nothrow;
22800     /// Ditto
22801     @OpenGL_Version(OGLIntroducedIn.V4P5)
22802     fn_glGetnMapfv glGetnMapfv;
22803     alias fn_glGetnMapfvARB = extern(C) void function(GLenum target, GLenum query, GLsizei bufSize, GLfloat* v) @system @nogc nothrow;
22804     /// Ditto
22805     @OpenGL_Version(OGLIntroducedIn.Unknown)
22806     @OpenGL_Extension("GL_ARB_robustness")
22807     fn_glGetnMapfvARB glGetnMapfvARB;
22808     alias fn_glGetnMapiv = extern(C) void function(GLenum target, GLenum query, GLsizei bufSize, GLint* v) @system @nogc nothrow;
22809     /// Ditto
22810     @OpenGL_Version(OGLIntroducedIn.V4P5)
22811     fn_glGetnMapiv glGetnMapiv;
22812     alias fn_glGetnMapivARB = extern(C) void function(GLenum target, GLenum query, GLsizei bufSize, GLint* v) @system @nogc nothrow;
22813     /// Ditto
22814     @OpenGL_Version(OGLIntroducedIn.Unknown)
22815     @OpenGL_Extension("GL_ARB_robustness")
22816     fn_glGetnMapivARB glGetnMapivARB;
22817     alias fn_glGetnMinmax = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) @system @nogc nothrow;
22818     /// Ditto
22819     @OpenGL_Version(OGLIntroducedIn.V4P5)
22820     fn_glGetnMinmax glGetnMinmax;
22821     alias fn_glGetnMinmaxARB = extern(C) void function(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values) @system @nogc nothrow;
22822     /// Ditto
22823     @OpenGL_Version(OGLIntroducedIn.Unknown)
22824     @OpenGL_Extension("GL_ARB_robustness")
22825     fn_glGetnMinmaxARB glGetnMinmaxARB;
22826     alias fn_glGetnPixelMapfv = extern(C) void function(GLenum map, GLsizei bufSize, GLfloat* values) @system @nogc nothrow;
22827     /// Ditto
22828     @OpenGL_Version(OGLIntroducedIn.V4P5)
22829     fn_glGetnPixelMapfv glGetnPixelMapfv;
22830     alias fn_glGetnPixelMapfvARB = extern(C) void function(GLenum map, GLsizei bufSize, GLfloat* values) @system @nogc nothrow;
22831     /// Ditto
22832     @OpenGL_Version(OGLIntroducedIn.Unknown)
22833     @OpenGL_Extension("GL_ARB_robustness")
22834     fn_glGetnPixelMapfvARB glGetnPixelMapfvARB;
22835     alias fn_glGetnPixelMapuiv = extern(C) void function(GLenum map, GLsizei bufSize, GLuint* values) @system @nogc nothrow;
22836     /// Ditto
22837     @OpenGL_Version(OGLIntroducedIn.V4P5)
22838     fn_glGetnPixelMapuiv glGetnPixelMapuiv;
22839     alias fn_glGetnPixelMapuivARB = extern(C) void function(GLenum map, GLsizei bufSize, GLuint* values) @system @nogc nothrow;
22840     /// Ditto
22841     @OpenGL_Version(OGLIntroducedIn.Unknown)
22842     @OpenGL_Extension("GL_ARB_robustness")
22843     fn_glGetnPixelMapuivARB glGetnPixelMapuivARB;
22844     alias fn_glGetnPixelMapusv = extern(C) void function(GLenum map, GLsizei bufSize, GLushort* values) @system @nogc nothrow;
22845     /// Ditto
22846     @OpenGL_Version(OGLIntroducedIn.V4P5)
22847     fn_glGetnPixelMapusv glGetnPixelMapusv;
22848     alias fn_glGetnPixelMapusvARB = extern(C) void function(GLenum map, GLsizei bufSize, GLushort* values) @system @nogc nothrow;
22849     /// Ditto
22850     @OpenGL_Version(OGLIntroducedIn.Unknown)
22851     @OpenGL_Extension("GL_ARB_robustness")
22852     fn_glGetnPixelMapusvARB glGetnPixelMapusvARB;
22853     alias fn_glGetnPolygonStipple = extern(C) void function(GLsizei bufSize, GLubyte* pattern) @system @nogc nothrow;
22854     /// Ditto
22855     @OpenGL_Version(OGLIntroducedIn.V4P5)
22856     fn_glGetnPolygonStipple glGetnPolygonStipple;
22857     alias fn_glGetnPolygonStippleARB = extern(C) void function(GLsizei bufSize, GLubyte* pattern) @system @nogc nothrow;
22858     /// Ditto
22859     @OpenGL_Version(OGLIntroducedIn.Unknown)
22860     @OpenGL_Extension("GL_ARB_robustness")
22861     fn_glGetnPolygonStippleARB glGetnPolygonStippleARB;
22862     alias fn_glGetnSeparableFilter = extern(C) void function(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void* column, void* span) @system @nogc nothrow;
22863     /// Ditto
22864     @OpenGL_Version(OGLIntroducedIn.V4P5)
22865     fn_glGetnSeparableFilter glGetnSeparableFilter;
22866     alias fn_glGetnSeparableFilterARB = extern(C) void function(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void* column, void* span) @system @nogc nothrow;
22867     /// Ditto
22868     @OpenGL_Version(OGLIntroducedIn.Unknown)
22869     @OpenGL_Extension("GL_ARB_robustness")
22870     fn_glGetnSeparableFilterARB glGetnSeparableFilterARB;
22871     alias fn_glGetnTexImageARB = extern(C) void function(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img) @system @nogc nothrow;
22872     /// Ditto
22873     @OpenGL_Version(OGLIntroducedIn.Unknown)
22874     @OpenGL_Extension("GL_ARB_robustness")
22875     fn_glGetnTexImageARB glGetnTexImageARB;
22876     alias fn_glGetnUniformdvARB = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLdouble* params) @system @nogc nothrow;
22877     /// Ditto
22878     @OpenGL_Version(OGLIntroducedIn.Unknown)
22879     @OpenGL_Extension("GL_ARB_robustness")
22880     fn_glGetnUniformdvARB glGetnUniformdvARB;
22881     alias fn_glGetnUniformfvARB = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) @system @nogc nothrow;
22882     /// Ditto
22883     @OpenGL_Version(OGLIntroducedIn.Unknown)
22884     @OpenGL_Extension("GL_ARB_robustness")
22885     fn_glGetnUniformfvARB glGetnUniformfvARB;
22886     alias fn_glGetnUniformfvEXT = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) @system @nogc nothrow;
22887     /// Ditto
22888     @OpenGL_Version(OGLIntroducedIn.Unknown)
22889     @OpenGL_Extension("GL_EXT_robustness")
22890     fn_glGetnUniformfvEXT glGetnUniformfvEXT;
22891     alias fn_glGetnUniformfvKHR = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLfloat* params) @system @nogc nothrow;
22892     /// Ditto
22893     @OpenGL_Version(OGLIntroducedIn.Unknown)
22894     @OpenGL_Extension("GL_KHR_robustness")
22895     fn_glGetnUniformfvKHR glGetnUniformfvKHR;
22896     alias fn_glGetnUniformi64vARB = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLint64* params) @system @nogc nothrow;
22897     /// Ditto
22898     @OpenGL_Version(OGLIntroducedIn.Unknown)
22899     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
22900     fn_glGetnUniformi64vARB glGetnUniformi64vARB;
22901     alias fn_glGetnUniformivARB = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLint* params) @system @nogc nothrow;
22902     /// Ditto
22903     @OpenGL_Version(OGLIntroducedIn.Unknown)
22904     @OpenGL_Extension("GL_ARB_robustness")
22905     fn_glGetnUniformivARB glGetnUniformivARB;
22906     alias fn_glGetnUniformivEXT = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLint* params) @system @nogc nothrow;
22907     /// Ditto
22908     @OpenGL_Version(OGLIntroducedIn.Unknown)
22909     @OpenGL_Extension("GL_EXT_robustness")
22910     fn_glGetnUniformivEXT glGetnUniformivEXT;
22911     alias fn_glGetnUniformivKHR = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLint* params) @system @nogc nothrow;
22912     /// Ditto
22913     @OpenGL_Version(OGLIntroducedIn.Unknown)
22914     @OpenGL_Extension("GL_KHR_robustness")
22915     fn_glGetnUniformivKHR glGetnUniformivKHR;
22916     alias fn_glGetnUniformui64vARB = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLuint64* params) @system @nogc nothrow;
22917     /// Ditto
22918     @OpenGL_Version(OGLIntroducedIn.Unknown)
22919     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
22920     fn_glGetnUniformui64vARB glGetnUniformui64vARB;
22921     alias fn_glGetnUniformuivARB = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLuint* params) @system @nogc nothrow;
22922     /// Ditto
22923     @OpenGL_Version(OGLIntroducedIn.Unknown)
22924     @OpenGL_Extension("GL_ARB_robustness")
22925     fn_glGetnUniformuivARB glGetnUniformuivARB;
22926     alias fn_glGetnUniformuivKHR = extern(C) void function(GLuint program, GLint location, GLsizei bufSize, GLuint* params) @system @nogc nothrow;
22927     /// Ditto
22928     @OpenGL_Version(OGLIntroducedIn.Unknown)
22929     @OpenGL_Extension("GL_KHR_robustness")
22930     fn_glGetnUniformuivKHR glGetnUniformuivKHR;
22931     alias fn_glGlobalAlphaFactorbSUN = extern(C) void function(GLbyte factor) @system @nogc nothrow;
22932     /// Ditto
22933     @OpenGL_Version(OGLIntroducedIn.Unknown)
22934     @OpenGL_Extension("GL_SUN_global_alpha")
22935     fn_glGlobalAlphaFactorbSUN glGlobalAlphaFactorbSUN;
22936     alias fn_glGlobalAlphaFactordSUN = extern(C) void function(GLdouble factor) @system @nogc nothrow;
22937     /// Ditto
22938     @OpenGL_Version(OGLIntroducedIn.Unknown)
22939     @OpenGL_Extension("GL_SUN_global_alpha")
22940     fn_glGlobalAlphaFactordSUN glGlobalAlphaFactordSUN;
22941     alias fn_glGlobalAlphaFactorfSUN = extern(C) void function(GLfloat factor) @system @nogc nothrow;
22942     /// Ditto
22943     @OpenGL_Version(OGLIntroducedIn.Unknown)
22944     @OpenGL_Extension("GL_SUN_global_alpha")
22945     fn_glGlobalAlphaFactorfSUN glGlobalAlphaFactorfSUN;
22946     alias fn_glGlobalAlphaFactoriSUN = extern(C) void function(GLint factor) @system @nogc nothrow;
22947     /// Ditto
22948     @OpenGL_Version(OGLIntroducedIn.Unknown)
22949     @OpenGL_Extension("GL_SUN_global_alpha")
22950     fn_glGlobalAlphaFactoriSUN glGlobalAlphaFactoriSUN;
22951     alias fn_glGlobalAlphaFactorsSUN = extern(C) void function(GLshort factor) @system @nogc nothrow;
22952     /// Ditto
22953     @OpenGL_Version(OGLIntroducedIn.Unknown)
22954     @OpenGL_Extension("GL_SUN_global_alpha")
22955     fn_glGlobalAlphaFactorsSUN glGlobalAlphaFactorsSUN;
22956     alias fn_glGlobalAlphaFactorubSUN = extern(C) void function(GLubyte factor) @system @nogc nothrow;
22957     /// Ditto
22958     @OpenGL_Version(OGLIntroducedIn.Unknown)
22959     @OpenGL_Extension("GL_SUN_global_alpha")
22960     fn_glGlobalAlphaFactorubSUN glGlobalAlphaFactorubSUN;
22961     alias fn_glGlobalAlphaFactoruiSUN = extern(C) void function(GLuint factor) @system @nogc nothrow;
22962     /// Ditto
22963     @OpenGL_Version(OGLIntroducedIn.Unknown)
22964     @OpenGL_Extension("GL_SUN_global_alpha")
22965     fn_glGlobalAlphaFactoruiSUN glGlobalAlphaFactoruiSUN;
22966     alias fn_glGlobalAlphaFactorusSUN = extern(C) void function(GLushort factor) @system @nogc nothrow;
22967     /// Ditto
22968     @OpenGL_Version(OGLIntroducedIn.Unknown)
22969     @OpenGL_Extension("GL_SUN_global_alpha")
22970     fn_glGlobalAlphaFactorusSUN glGlobalAlphaFactorusSUN;
22971     alias fn_glHintPGI = extern(C) void function(GLenum target, GLint mode) @system @nogc nothrow;
22972     /// Ditto
22973     @OpenGL_Version(OGLIntroducedIn.Unknown)
22974     @OpenGL_Extension("GL_PGI_misc_hints")
22975     fn_glHintPGI glHintPGI;
22976     alias fn_glHistogram = extern(C) void function(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) @system @nogc nothrow;
22977     /// Ditto
22978     @OpenGL_Version(OGLIntroducedIn.Unknown)
22979     @OpenGL_Extension("GL_ARB_imaging")
22980     fn_glHistogram glHistogram;
22981     alias fn_glHistogramEXT = extern(C) void function(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) @system @nogc nothrow;
22982     /// Ditto
22983     @OpenGL_Version(OGLIntroducedIn.Unknown)
22984     @OpenGL_Extension("GL_EXT_histogram")
22985     fn_glHistogramEXT glHistogramEXT;
22986     alias fn_glIglooInterfaceSGIX = extern(C) void function(GLenum pname, const void* params) @system @nogc nothrow;
22987     /// Ditto
22988     @OpenGL_Version(OGLIntroducedIn.Unknown)
22989     @OpenGL_Extension("GL_SGIX_igloo_interface")
22990     fn_glIglooInterfaceSGIX glIglooInterfaceSGIX;
22991     alias fn_glImageTransformParameterfHP = extern(C) void function(GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
22992     /// Ditto
22993     @OpenGL_Version(OGLIntroducedIn.Unknown)
22994     @OpenGL_Extension("GL_HP_image_transform")
22995     fn_glImageTransformParameterfHP glImageTransformParameterfHP;
22996     alias fn_glImageTransformParameterfvHP = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
22997     /// Ditto
22998     @OpenGL_Version(OGLIntroducedIn.Unknown)
22999     @OpenGL_Extension("GL_HP_image_transform")
23000     fn_glImageTransformParameterfvHP glImageTransformParameterfvHP;
23001     alias fn_glImageTransformParameteriHP = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
23002     /// Ditto
23003     @OpenGL_Version(OGLIntroducedIn.Unknown)
23004     @OpenGL_Extension("GL_HP_image_transform")
23005     fn_glImageTransformParameteriHP glImageTransformParameteriHP;
23006     alias fn_glImageTransformParameterivHP = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
23007     /// Ditto
23008     @OpenGL_Version(OGLIntroducedIn.Unknown)
23009     @OpenGL_Extension("GL_HP_image_transform")
23010     fn_glImageTransformParameterivHP glImageTransformParameterivHP;
23011     alias fn_glImportSyncEXT = extern(C) GLsync function(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags) @system @nogc nothrow;
23012     /// Ditto
23013     @OpenGL_Version(OGLIntroducedIn.Unknown)
23014     @OpenGL_Extension("GL_EXT_x11_sync_object")
23015     fn_glImportSyncEXT glImportSyncEXT;
23016     alias fn_glIndexFormatNV = extern(C) void function(GLenum type, GLsizei stride) @system @nogc nothrow;
23017     /// Ditto
23018     @OpenGL_Version(OGLIntroducedIn.Unknown)
23019     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
23020     fn_glIndexFormatNV glIndexFormatNV;
23021     alias fn_glIndexFuncEXT = extern(C) void function(GLenum func, GLclampf ref_) @system @nogc nothrow;
23022     /// Ditto
23023     @OpenGL_Version(OGLIntroducedIn.Unknown)
23024     @OpenGL_Extension("GL_EXT_index_func")
23025     fn_glIndexFuncEXT glIndexFuncEXT;
23026     alias fn_glIndexMask = extern(C) void function(GLuint mask) @system @nogc nothrow;
23027     /// Ditto
23028     @OpenGL_Version(OGLIntroducedIn.V1P0)
23029     fn_glIndexMask glIndexMask;
23030     alias fn_glIndexMaterialEXT = extern(C) void function(GLenum face, GLenum mode) @system @nogc nothrow;
23031     /// Ditto
23032     @OpenGL_Version(OGLIntroducedIn.Unknown)
23033     @OpenGL_Extension("GL_EXT_index_material")
23034     fn_glIndexMaterialEXT glIndexMaterialEXT;
23035     alias fn_glIndexPointer = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
23036     /// Ditto
23037     @OpenGL_Version(OGLIntroducedIn.V1P1)
23038     fn_glIndexPointer glIndexPointer;
23039     alias fn_glIndexPointerEXT = extern(C) void function(GLenum type, GLsizei stride, GLsizei count, const void* pointer) @system @nogc nothrow;
23040     /// Ditto
23041     @OpenGL_Version(OGLIntroducedIn.Unknown)
23042     @OpenGL_Extension("GL_EXT_vertex_array")
23043     fn_glIndexPointerEXT glIndexPointerEXT;
23044     alias fn_glIndexPointerListIBM = extern(C) void function(GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
23045     /// Ditto
23046     @OpenGL_Version(OGLIntroducedIn.Unknown)
23047     @OpenGL_Extension("GL_IBM_vertex_array_lists")
23048     fn_glIndexPointerListIBM glIndexPointerListIBM;
23049     alias fn_glIndexd = extern(C) void function(GLdouble c) @system @nogc nothrow;
23050     /// Ditto
23051     @OpenGL_Version(OGLIntroducedIn.V1P0)
23052     fn_glIndexd glIndexd;
23053     alias fn_glIndexdv = extern(C) void function(const GLdouble* c) @system @nogc nothrow;
23054     /// Ditto
23055     @OpenGL_Version(OGLIntroducedIn.V1P0)
23056     fn_glIndexdv glIndexdv;
23057     alias fn_glIndexf = extern(C) void function(GLfloat c) @system @nogc nothrow;
23058     /// Ditto
23059     @OpenGL_Version(OGLIntroducedIn.V1P0)
23060     fn_glIndexf glIndexf;
23061     alias fn_glIndexfv = extern(C) void function(const GLfloat* c) @system @nogc nothrow;
23062     /// Ditto
23063     @OpenGL_Version(OGLIntroducedIn.V1P0)
23064     fn_glIndexfv glIndexfv;
23065     alias fn_glIndexi = extern(C) void function(GLint c) @system @nogc nothrow;
23066     /// Ditto
23067     @OpenGL_Version(OGLIntroducedIn.V1P0)
23068     fn_glIndexi glIndexi;
23069     alias fn_glIndexiv = extern(C) void function(const GLint* c) @system @nogc nothrow;
23070     /// Ditto
23071     @OpenGL_Version(OGLIntroducedIn.V1P0)
23072     fn_glIndexiv glIndexiv;
23073     alias fn_glIndexs = extern(C) void function(GLshort c) @system @nogc nothrow;
23074     /// Ditto
23075     @OpenGL_Version(OGLIntroducedIn.V1P0)
23076     fn_glIndexs glIndexs;
23077     alias fn_glIndexsv = extern(C) void function(const GLshort* c) @system @nogc nothrow;
23078     /// Ditto
23079     @OpenGL_Version(OGLIntroducedIn.V1P0)
23080     fn_glIndexsv glIndexsv;
23081     alias fn_glIndexub = extern(C) void function(GLubyte c) @system @nogc nothrow;
23082     /// Ditto
23083     @OpenGL_Version(OGLIntroducedIn.V1P1)
23084     fn_glIndexub glIndexub;
23085     alias fn_glIndexubv = extern(C) void function(const(GLubyte)* c) @system @nogc nothrow;
23086     /// Ditto
23087     @OpenGL_Version(OGLIntroducedIn.V1P1)
23088     fn_glIndexubv glIndexubv;
23089     alias fn_glIndexxOES = extern(C) void function(GLfixed component) @system @nogc nothrow;
23090     /// Ditto
23091     @OpenGL_Version(OGLIntroducedIn.Unknown)
23092     @OpenGL_Extension("GL_OES_fixed_point")
23093     fn_glIndexxOES glIndexxOES;
23094     alias fn_glIndexxvOES = extern(C) void function(const GLfixed* component) @system @nogc nothrow;
23095     /// Ditto
23096     @OpenGL_Version(OGLIntroducedIn.Unknown)
23097     @OpenGL_Extension("GL_OES_fixed_point")
23098     fn_glIndexxvOES glIndexxvOES;
23099     alias fn_glInitNames = extern(C) void function() @system @nogc nothrow;
23100     /// Ditto
23101     @OpenGL_Version(OGLIntroducedIn.V1P0)
23102     fn_glInitNames glInitNames;
23103     alias fn_glInsertComponentEXT = extern(C) void function(GLuint res, GLuint src, GLuint num) @system @nogc nothrow;
23104     /// Ditto
23105     @OpenGL_Version(OGLIntroducedIn.Unknown)
23106     @OpenGL_Extension("GL_EXT_vertex_shader")
23107     fn_glInsertComponentEXT glInsertComponentEXT;
23108     alias fn_glInsertEventMarkerEXT = extern(C) void function(GLsizei length, const GLchar* marker) @system @nogc nothrow;
23109     /// Ditto
23110     @OpenGL_Version(OGLIntroducedIn.Unknown)
23111     @OpenGL_Extension("GL_EXT_debug_marker")
23112     fn_glInsertEventMarkerEXT glInsertEventMarkerEXT;
23113     alias fn_glInstrumentsBufferSGIX = extern(C) void function(GLsizei size, GLint* buffer) @system @nogc nothrow;
23114     /// Ditto
23115     @OpenGL_Version(OGLIntroducedIn.Unknown)
23116     @OpenGL_Extension("GL_SGIX_instruments")
23117     fn_glInstrumentsBufferSGIX glInstrumentsBufferSGIX;
23118     alias fn_glInterleavedArrays = extern(C) void function(GLenum format, GLsizei stride, const void* pointer) @system @nogc nothrow;
23119     /// Ditto
23120     @OpenGL_Version(OGLIntroducedIn.V1P1)
23121     fn_glInterleavedArrays glInterleavedArrays;
23122     alias fn_glInterpolatePathsNV = extern(C) void function(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight) @system @nogc nothrow;
23123     /// Ditto
23124     @OpenGL_Version(OGLIntroducedIn.Unknown)
23125     @OpenGL_Extension("GL_NV_path_rendering")
23126     fn_glInterpolatePathsNV glInterpolatePathsNV;
23127     alias fn_glIsAsyncMarkerSGIX = extern(C) GLboolean function(GLuint marker) @system @nogc nothrow;
23128     /// Ditto
23129     @OpenGL_Version(OGLIntroducedIn.Unknown)
23130     @OpenGL_Extension("GL_SGIX_async")
23131     fn_glIsAsyncMarkerSGIX glIsAsyncMarkerSGIX;
23132     alias fn_glIsBufferARB = extern(C) GLboolean function(GLuint buffer) @system @nogc nothrow;
23133     /// Ditto
23134     @OpenGL_Version(OGLIntroducedIn.Unknown)
23135     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
23136     fn_glIsBufferARB glIsBufferARB;
23137     alias fn_glIsBufferResidentNV = extern(C) GLboolean function(GLenum target) @system @nogc nothrow;
23138     /// Ditto
23139     @OpenGL_Version(OGLIntroducedIn.Unknown)
23140     @OpenGL_Extension("GL_NV_shader_buffer_load")
23141     fn_glIsBufferResidentNV glIsBufferResidentNV;
23142     alias fn_glIsCommandListNV = extern(C) GLboolean function(GLuint list) @system @nogc nothrow;
23143     /// Ditto
23144     @OpenGL_Version(OGLIntroducedIn.Unknown)
23145     @OpenGL_Extension("GL_NV_command_list")
23146     fn_glIsCommandListNV glIsCommandListNV;
23147     alias fn_glIsEnabledIndexedEXT = extern(C) GLboolean function(GLenum target, GLuint index) @system @nogc nothrow;
23148     /// Ditto
23149     @OpenGL_Version(OGLIntroducedIn.Unknown)
23150     @OpenGL_Extension("GL_EXT_direct_state_access")
23151     fn_glIsEnabledIndexedEXT glIsEnabledIndexedEXT;
23152     alias fn_glIsEnabledi = extern(C) GLboolean function(GLenum target, GLuint index) @system @nogc nothrow;
23153     /// Ditto
23154     @OpenGL_Version(OGLIntroducedIn.V3P0)
23155     fn_glIsEnabledi glIsEnabledi;
23156     alias fn_glIsEnablediEXT = extern(C) GLboolean function(GLenum target, GLuint index) @system @nogc nothrow;
23157     /// Ditto
23158     @OpenGL_Version(OGLIntroducedIn.Unknown)
23159     @OpenGL_Extension("GL_EXT_draw_buffers_indexed")
23160     fn_glIsEnablediEXT glIsEnablediEXT;
23161     alias fn_glIsEnablediNV = extern(C) GLboolean function(GLenum target, GLuint index) @system @nogc nothrow;
23162     /// Ditto
23163     @OpenGL_Version(OGLIntroducedIn.Unknown)
23164     @OpenGL_Extension("GL_NV_viewport_array")
23165     fn_glIsEnablediNV glIsEnablediNV;
23166     alias fn_glIsEnablediOES = extern(C) GLboolean function(GLenum target, GLuint index) @system @nogc nothrow;
23167     /// Ditto
23168     @OpenGL_Version(OGLIntroducedIn.Unknown)
23169     @OpenGL_Extension("GL_OES_draw_buffers_indexed")
23170     fn_glIsEnablediOES glIsEnablediOES;
23171     alias fn_glIsFenceAPPLE = extern(C) GLboolean function(GLuint fence) @system @nogc nothrow;
23172     /// Ditto
23173     @OpenGL_Version(OGLIntroducedIn.Unknown)
23174     @OpenGL_Extension("GL_APPLE_fence")
23175     fn_glIsFenceAPPLE glIsFenceAPPLE;
23176     alias fn_glIsFenceNV = extern(C) GLboolean function(GLuint fence) @system @nogc nothrow;
23177     /// Ditto
23178     @OpenGL_Version(OGLIntroducedIn.Unknown)
23179     @OpenGL_Extension("GL_NV_fence")
23180     fn_glIsFenceNV glIsFenceNV;
23181     alias fn_glIsFramebufferEXT = extern(C) GLboolean function(GLuint framebuffer) @system @nogc nothrow;
23182     /// Ditto
23183     @OpenGL_Version(OGLIntroducedIn.Unknown)
23184     @OpenGL_Extension("GL_EXT_framebuffer_object")
23185     fn_glIsFramebufferEXT glIsFramebufferEXT;
23186     alias fn_glIsFramebufferOES = extern(C) GLboolean function(GLuint framebuffer) @system @nogc nothrow;
23187     /// Ditto
23188     @OpenGL_Version(OGLIntroducedIn.Unknown)
23189     @OpenGL_Extension("GL_OES_framebuffer_object")
23190     fn_glIsFramebufferOES glIsFramebufferOES;
23191     alias fn_glIsImageHandleResidentARB = extern(C) GLboolean function(GLuint64 handle) @system @nogc nothrow;
23192     /// Ditto
23193     @OpenGL_Version(OGLIntroducedIn.Unknown)
23194     @OpenGL_Extension("GL_ARB_bindless_texture")
23195     fn_glIsImageHandleResidentARB glIsImageHandleResidentARB;
23196     alias fn_glIsImageHandleResidentNV = extern(C) GLboolean function(GLuint64 handle) @system @nogc nothrow;
23197     /// Ditto
23198     @OpenGL_Version(OGLIntroducedIn.Unknown)
23199     @OpenGL_Extension("GL_NV_bindless_texture")
23200     fn_glIsImageHandleResidentNV glIsImageHandleResidentNV;
23201     alias fn_glIsList = extern(C) GLboolean function(GLuint list) @system @nogc nothrow;
23202     /// Ditto
23203     @OpenGL_Version(OGLIntroducedIn.V1P0)
23204     fn_glIsList glIsList;
23205     alias fn_glIsNameAMD = extern(C) GLboolean function(GLenum identifier, GLuint name) @system @nogc nothrow;
23206     /// Ditto
23207     @OpenGL_Version(OGLIntroducedIn.Unknown)
23208     @OpenGL_Extension("GL_AMD_name_gen_delete")
23209     fn_glIsNameAMD glIsNameAMD;
23210     alias fn_glIsNamedBufferResidentNV = extern(C) GLboolean function(GLuint buffer) @system @nogc nothrow;
23211     /// Ditto
23212     @OpenGL_Version(OGLIntroducedIn.Unknown)
23213     @OpenGL_Extension("GL_NV_shader_buffer_load")
23214     fn_glIsNamedBufferResidentNV glIsNamedBufferResidentNV;
23215     alias fn_glIsNamedStringARB = extern(C) GLboolean function(GLint namelen, const GLchar* name) @system @nogc nothrow;
23216     /// Ditto
23217     @OpenGL_Version(OGLIntroducedIn.Unknown)
23218     @OpenGL_Extension("GL_ARB_shading_language_include")
23219     fn_glIsNamedStringARB glIsNamedStringARB;
23220     alias fn_glIsObjectBufferATI = extern(C) GLboolean function(GLuint buffer) @system @nogc nothrow;
23221     /// Ditto
23222     @OpenGL_Version(OGLIntroducedIn.Unknown)
23223     @OpenGL_Extension("GL_ATI_vertex_array_object")
23224     fn_glIsObjectBufferATI glIsObjectBufferATI;
23225     alias fn_glIsOcclusionQueryNV = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
23226     /// Ditto
23227     @OpenGL_Version(OGLIntroducedIn.Unknown)
23228     @OpenGL_Extension("GL_NV_occlusion_query")
23229     fn_glIsOcclusionQueryNV glIsOcclusionQueryNV;
23230     alias fn_glIsPathNV = extern(C) GLboolean function(GLuint path) @system @nogc nothrow;
23231     /// Ditto
23232     @OpenGL_Version(OGLIntroducedIn.Unknown)
23233     @OpenGL_Extension("GL_NV_path_rendering")
23234     fn_glIsPathNV glIsPathNV;
23235     alias fn_glIsPointInFillPathNV = extern(C) GLboolean function(GLuint path, GLuint mask, GLfloat x, GLfloat y) @system @nogc nothrow;
23236     /// Ditto
23237     @OpenGL_Version(OGLIntroducedIn.Unknown)
23238     @OpenGL_Extension("GL_NV_path_rendering")
23239     fn_glIsPointInFillPathNV glIsPointInFillPathNV;
23240     alias fn_glIsPointInStrokePathNV = extern(C) GLboolean function(GLuint path, GLfloat x, GLfloat y) @system @nogc nothrow;
23241     /// Ditto
23242     @OpenGL_Version(OGLIntroducedIn.Unknown)
23243     @OpenGL_Extension("GL_NV_path_rendering")
23244     fn_glIsPointInStrokePathNV glIsPointInStrokePathNV;
23245     alias fn_glIsProgramARB = extern(C) GLboolean function(GLuint program) @system @nogc nothrow;
23246     /// Ditto
23247     @OpenGL_Version(OGLIntroducedIn.Unknown)
23248     @OpenGL_Extension("GL_ARB_fragment_program")
23249     fn_glIsProgramARB glIsProgramARB;
23250     alias fn_glIsProgramNV = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
23251     /// Ditto
23252     @OpenGL_Version(OGLIntroducedIn.Unknown)
23253     @OpenGL_Extension("GL_NV_vertex_program")
23254     fn_glIsProgramNV glIsProgramNV;
23255     alias fn_glIsProgramPipelineEXT = extern(C) GLboolean function(GLuint pipeline) @system @nogc nothrow;
23256     /// Ditto
23257     @OpenGL_Version(OGLIntroducedIn.Unknown)
23258     @OpenGL_Extension("GL_EXT_separate_shader_objects")
23259     fn_glIsProgramPipelineEXT glIsProgramPipelineEXT;
23260     alias fn_glIsQueryARB = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
23261     /// Ditto
23262     @OpenGL_Version(OGLIntroducedIn.Unknown)
23263     @OpenGL_Extension("GL_ARB_occlusion_query")
23264     fn_glIsQueryARB glIsQueryARB;
23265     alias fn_glIsQueryEXT = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
23266     /// Ditto
23267     @OpenGL_Version(OGLIntroducedIn.Unknown)
23268     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
23269     fn_glIsQueryEXT glIsQueryEXT;
23270     alias fn_glIsRenderbufferEXT = extern(C) GLboolean function(GLuint renderbuffer) @system @nogc nothrow;
23271     /// Ditto
23272     @OpenGL_Version(OGLIntroducedIn.Unknown)
23273     @OpenGL_Extension("GL_EXT_framebuffer_object")
23274     fn_glIsRenderbufferEXT glIsRenderbufferEXT;
23275     alias fn_glIsRenderbufferOES = extern(C) GLboolean function(GLuint renderbuffer) @system @nogc nothrow;
23276     /// Ditto
23277     @OpenGL_Version(OGLIntroducedIn.Unknown)
23278     @OpenGL_Extension("GL_OES_framebuffer_object")
23279     fn_glIsRenderbufferOES glIsRenderbufferOES;
23280     alias fn_glIsStateNV = extern(C) GLboolean function(GLuint state) @system @nogc nothrow;
23281     /// Ditto
23282     @OpenGL_Version(OGLIntroducedIn.Unknown)
23283     @OpenGL_Extension("GL_NV_command_list")
23284     fn_glIsStateNV glIsStateNV;
23285     alias fn_glIsSyncAPPLE = extern(C) GLboolean function(GLsync sync) @system @nogc nothrow;
23286     /// Ditto
23287     @OpenGL_Version(OGLIntroducedIn.Unknown)
23288     @OpenGL_Extension("GL_APPLE_sync")
23289     fn_glIsSyncAPPLE glIsSyncAPPLE;
23290     alias fn_glIsTextureEXT = extern(C) GLboolean function(GLuint texture) @system @nogc nothrow;
23291     /// Ditto
23292     @OpenGL_Version(OGLIntroducedIn.Unknown)
23293     @OpenGL_Extension("GL_EXT_texture_object")
23294     fn_glIsTextureEXT glIsTextureEXT;
23295     alias fn_glIsTextureHandleResidentARB = extern(C) GLboolean function(GLuint64 handle) @system @nogc nothrow;
23296     /// Ditto
23297     @OpenGL_Version(OGLIntroducedIn.Unknown)
23298     @OpenGL_Extension("GL_ARB_bindless_texture")
23299     fn_glIsTextureHandleResidentARB glIsTextureHandleResidentARB;
23300     alias fn_glIsTextureHandleResidentNV = extern(C) GLboolean function(GLuint64 handle) @system @nogc nothrow;
23301     /// Ditto
23302     @OpenGL_Version(OGLIntroducedIn.Unknown)
23303     @OpenGL_Extension("GL_NV_bindless_texture")
23304     fn_glIsTextureHandleResidentNV glIsTextureHandleResidentNV;
23305     alias fn_glIsTransformFeedbackNV = extern(C) GLboolean function(GLuint id) @system @nogc nothrow;
23306     /// Ditto
23307     @OpenGL_Version(OGLIntroducedIn.Unknown)
23308     @OpenGL_Extension("GL_NV_transform_feedback2")
23309     fn_glIsTransformFeedbackNV glIsTransformFeedbackNV;
23310     alias fn_glIsVariantEnabledEXT = extern(C) GLboolean function(GLuint id, GLenum cap) @system @nogc nothrow;
23311     /// Ditto
23312     @OpenGL_Version(OGLIntroducedIn.Unknown)
23313     @OpenGL_Extension("GL_EXT_vertex_shader")
23314     fn_glIsVariantEnabledEXT glIsVariantEnabledEXT;
23315     alias fn_glIsVertexArrayAPPLE = extern(C) GLboolean function(GLuint array) @system @nogc nothrow;
23316     /// Ditto
23317     @OpenGL_Version(OGLIntroducedIn.Unknown)
23318     @OpenGL_Extension("GL_APPLE_vertex_array_object")
23319     fn_glIsVertexArrayAPPLE glIsVertexArrayAPPLE;
23320     alias fn_glIsVertexArrayOES = extern(C) GLboolean function(GLuint array) @system @nogc nothrow;
23321     /// Ditto
23322     @OpenGL_Version(OGLIntroducedIn.Unknown)
23323     @OpenGL_Extension("GL_OES_vertex_array_object")
23324     fn_glIsVertexArrayOES glIsVertexArrayOES;
23325     alias fn_glIsVertexAttribEnabledAPPLE = extern(C) GLboolean function(GLuint index, GLenum pname) @system @nogc nothrow;
23326     /// Ditto
23327     @OpenGL_Version(OGLIntroducedIn.Unknown)
23328     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
23329     fn_glIsVertexAttribEnabledAPPLE glIsVertexAttribEnabledAPPLE;
23330     alias fn_glLabelObjectEXT = extern(C) void function(GLenum type, GLuint object, GLsizei length, const GLchar* label) @system @nogc nothrow;
23331     /// Ditto
23332     @OpenGL_Version(OGLIntroducedIn.Unknown)
23333     @OpenGL_Extension("GL_EXT_debug_label")
23334     fn_glLabelObjectEXT glLabelObjectEXT;
23335     alias fn_glLightEnviSGIX = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
23336     /// Ditto
23337     @OpenGL_Version(OGLIntroducedIn.Unknown)
23338     @OpenGL_Extension("GL_SGIX_fragment_lighting")
23339     fn_glLightEnviSGIX glLightEnviSGIX;
23340     alias fn_glLightModelf = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
23341     /// Ditto
23342     @OpenGL_Version(OGLIntroducedIn.V1P0)
23343     fn_glLightModelf glLightModelf;
23344     alias fn_glLightModelfv = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
23345     /// Ditto
23346     @OpenGL_Version(OGLIntroducedIn.V1P0)
23347     fn_glLightModelfv glLightModelfv;
23348     alias fn_glLightModeli = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
23349     /// Ditto
23350     @OpenGL_Version(OGLIntroducedIn.V1P0)
23351     fn_glLightModeli glLightModeli;
23352     alias fn_glLightModeliv = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
23353     /// Ditto
23354     @OpenGL_Version(OGLIntroducedIn.V1P0)
23355     fn_glLightModeliv glLightModeliv;
23356     alias fn_glLightModelx = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
23357     /// Ditto
23358     @OpenGL_Version(OGLIntroducedIn.Unknown)
23359     fn_glLightModelx glLightModelx;
23360     alias fn_glLightModelxOES = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
23361     /// Ditto
23362     @OpenGL_Version(OGLIntroducedIn.Unknown)
23363     @OpenGL_Extension("GL_OES_fixed_point")
23364     fn_glLightModelxOES glLightModelxOES;
23365     alias fn_glLightModelxv = extern(C) void function(GLenum pname, const GLfixed* param) @system @nogc nothrow;
23366     /// Ditto
23367     @OpenGL_Version(OGLIntroducedIn.Unknown)
23368     fn_glLightModelxv glLightModelxv;
23369     alias fn_glLightModelxvOES = extern(C) void function(GLenum pname, const GLfixed* param) @system @nogc nothrow;
23370     /// Ditto
23371     @OpenGL_Version(OGLIntroducedIn.Unknown)
23372     @OpenGL_Extension("GL_OES_fixed_point")
23373     fn_glLightModelxvOES glLightModelxvOES;
23374     alias fn_glLightf = extern(C) void function(GLenum light, GLenum pname, GLfloat param) @system @nogc nothrow;
23375     /// Ditto
23376     @OpenGL_Version(OGLIntroducedIn.V1P0)
23377     fn_glLightf glLightf;
23378     alias fn_glLightfv = extern(C) void function(GLenum light, GLenum pname, const GLfloat* params) @system @nogc nothrow;
23379     /// Ditto
23380     @OpenGL_Version(OGLIntroducedIn.V1P0)
23381     fn_glLightfv glLightfv;
23382     alias fn_glLighti = extern(C) void function(GLenum light, GLenum pname, GLint param) @system @nogc nothrow;
23383     /// Ditto
23384     @OpenGL_Version(OGLIntroducedIn.V1P0)
23385     fn_glLighti glLighti;
23386     alias fn_glLightiv = extern(C) void function(GLenum light, GLenum pname, const GLint* params) @system @nogc nothrow;
23387     /// Ditto
23388     @OpenGL_Version(OGLIntroducedIn.V1P0)
23389     fn_glLightiv glLightiv;
23390     alias fn_glLightx = extern(C) void function(GLenum light, GLenum pname, GLfixed param) @system @nogc nothrow;
23391     /// Ditto
23392     @OpenGL_Version(OGLIntroducedIn.Unknown)
23393     fn_glLightx glLightx;
23394     alias fn_glLightxOES = extern(C) void function(GLenum light, GLenum pname, GLfixed param) @system @nogc nothrow;
23395     /// Ditto
23396     @OpenGL_Version(OGLIntroducedIn.Unknown)
23397     @OpenGL_Extension("GL_OES_fixed_point")
23398     fn_glLightxOES glLightxOES;
23399     alias fn_glLightxv = extern(C) void function(GLenum light, GLenum pname, const GLfixed* params) @system @nogc nothrow;
23400     /// Ditto
23401     @OpenGL_Version(OGLIntroducedIn.Unknown)
23402     fn_glLightxv glLightxv;
23403     alias fn_glLightxvOES = extern(C) void function(GLenum light, GLenum pname, const GLfixed* params) @system @nogc nothrow;
23404     /// Ditto
23405     @OpenGL_Version(OGLIntroducedIn.Unknown)
23406     @OpenGL_Extension("GL_OES_fixed_point")
23407     fn_glLightxvOES glLightxvOES;
23408     alias fn_glLineStipple = extern(C) void function(GLint factor, GLushort pattern) @system @nogc nothrow;
23409     /// Ditto
23410     @OpenGL_Version(OGLIntroducedIn.V1P0)
23411     fn_glLineStipple glLineStipple;
23412     alias fn_glLineWidthx = extern(C) void function(GLfixed width) @system @nogc nothrow;
23413     /// Ditto
23414     @OpenGL_Version(OGLIntroducedIn.Unknown)
23415     fn_glLineWidthx glLineWidthx;
23416     alias fn_glLineWidthxOES = extern(C) void function(GLfixed width) @system @nogc nothrow;
23417     /// Ditto
23418     @OpenGL_Version(OGLIntroducedIn.Unknown)
23419     @OpenGL_Extension("GL_OES_fixed_point")
23420     fn_glLineWidthxOES glLineWidthxOES;
23421     alias fn_glLinkProgramARB = extern(C) void function(GLhandleARB programObj) @system @nogc nothrow;
23422     /// Ditto
23423     @OpenGL_Version(OGLIntroducedIn.Unknown)
23424     @OpenGL_Extension("GL_ARB_shader_objects")
23425     fn_glLinkProgramARB glLinkProgramARB;
23426     alias fn_glListBase = extern(C) void function(GLuint base) @system @nogc nothrow;
23427     /// Ditto
23428     @OpenGL_Version(OGLIntroducedIn.V1P0)
23429     fn_glListBase glListBase;
23430     alias fn_glListDrawCommandsStatesClientNV = extern(C) void function(GLuint list, GLuint segment, const void** indirects, const GLsizei* sizes, const GLuint* states, const GLuint* fbos, GLuint count) @system @nogc nothrow;
23431     /// Ditto
23432     @OpenGL_Version(OGLIntroducedIn.Unknown)
23433     @OpenGL_Extension("GL_NV_command_list")
23434     fn_glListDrawCommandsStatesClientNV glListDrawCommandsStatesClientNV;
23435     alias fn_glListParameterfSGIX = extern(C) void function(GLuint list, GLenum pname, GLfloat param) @system @nogc nothrow;
23436     /// Ditto
23437     @OpenGL_Version(OGLIntroducedIn.Unknown)
23438     @OpenGL_Extension("GL_SGIX_list_priority")
23439     fn_glListParameterfSGIX glListParameterfSGIX;
23440     alias fn_glListParameterfvSGIX = extern(C) void function(GLuint list, GLenum pname, const GLfloat* params) @system @nogc nothrow;
23441     /// Ditto
23442     @OpenGL_Version(OGLIntroducedIn.Unknown)
23443     @OpenGL_Extension("GL_SGIX_list_priority")
23444     fn_glListParameterfvSGIX glListParameterfvSGIX;
23445     alias fn_glListParameteriSGIX = extern(C) void function(GLuint list, GLenum pname, GLint param) @system @nogc nothrow;
23446     /// Ditto
23447     @OpenGL_Version(OGLIntroducedIn.Unknown)
23448     @OpenGL_Extension("GL_SGIX_list_priority")
23449     fn_glListParameteriSGIX glListParameteriSGIX;
23450     alias fn_glListParameterivSGIX = extern(C) void function(GLuint list, GLenum pname, const GLint* params) @system @nogc nothrow;
23451     /// Ditto
23452     @OpenGL_Version(OGLIntroducedIn.Unknown)
23453     @OpenGL_Extension("GL_SGIX_list_priority")
23454     fn_glListParameterivSGIX glListParameterivSGIX;
23455     alias fn_glLoadIdentity = extern(C) void function() @system @nogc nothrow;
23456     /// Ditto
23457     @OpenGL_Version(OGLIntroducedIn.V1P0)
23458     fn_glLoadIdentity glLoadIdentity;
23459     alias fn_glLoadIdentityDeformationMapSGIX = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
23460     /// Ditto
23461     @OpenGL_Version(OGLIntroducedIn.Unknown)
23462     @OpenGL_Extension("GL_SGIX_polynomial_ffd")
23463     fn_glLoadIdentityDeformationMapSGIX glLoadIdentityDeformationMapSGIX;
23464     alias fn_glLoadMatrixd = extern(C) void function(const GLdouble* m) @system @nogc nothrow;
23465     /// Ditto
23466     @OpenGL_Version(OGLIntroducedIn.V1P0)
23467     fn_glLoadMatrixd glLoadMatrixd;
23468     alias fn_glLoadMatrixf = extern(C) void function(const GLfloat* m) @system @nogc nothrow;
23469     /// Ditto
23470     @OpenGL_Version(OGLIntroducedIn.V1P0)
23471     fn_glLoadMatrixf glLoadMatrixf;
23472     alias fn_glLoadMatrixx = extern(C) void function(const GLfixed* m) @system @nogc nothrow;
23473     /// Ditto
23474     @OpenGL_Version(OGLIntroducedIn.Unknown)
23475     fn_glLoadMatrixx glLoadMatrixx;
23476     alias fn_glLoadMatrixxOES = extern(C) void function(const GLfixed* m) @system @nogc nothrow;
23477     /// Ditto
23478     @OpenGL_Version(OGLIntroducedIn.Unknown)
23479     @OpenGL_Extension("GL_OES_fixed_point")
23480     fn_glLoadMatrixxOES glLoadMatrixxOES;
23481     alias fn_glLoadName = extern(C) void function(GLuint name) @system @nogc nothrow;
23482     /// Ditto
23483     @OpenGL_Version(OGLIntroducedIn.V1P0)
23484     fn_glLoadName glLoadName;
23485     alias fn_glLoadPaletteFromModelViewMatrixOES = extern(C) void function() @system @nogc nothrow;
23486     /// Ditto
23487     @OpenGL_Version(OGLIntroducedIn.Unknown)
23488     @OpenGL_Extension("GL_OES_matrix_palette")
23489     fn_glLoadPaletteFromModelViewMatrixOES glLoadPaletteFromModelViewMatrixOES;
23490     alias fn_glLoadProgramNV = extern(C) void function(GLenum target, GLuint id, GLsizei len, const(GLubyte)* program) @system @nogc nothrow;
23491     /// Ditto
23492     @OpenGL_Version(OGLIntroducedIn.Unknown)
23493     @OpenGL_Extension("GL_NV_vertex_program")
23494     fn_glLoadProgramNV glLoadProgramNV;
23495     alias fn_glLoadTransposeMatrixd = extern(C) void function(const GLdouble* m) @system @nogc nothrow;
23496     /// Ditto
23497     @OpenGL_Version(OGLIntroducedIn.V1P3)
23498     fn_glLoadTransposeMatrixd glLoadTransposeMatrixd;
23499     alias fn_glLoadTransposeMatrixdARB = extern(C) void function(const GLdouble* m) @system @nogc nothrow;
23500     /// Ditto
23501     @OpenGL_Version(OGLIntroducedIn.Unknown)
23502     @OpenGL_Extension("GL_ARB_transpose_matrix")
23503     fn_glLoadTransposeMatrixdARB glLoadTransposeMatrixdARB;
23504     alias fn_glLoadTransposeMatrixf = extern(C) void function(const GLfloat* m) @system @nogc nothrow;
23505     /// Ditto
23506     @OpenGL_Version(OGLIntroducedIn.V1P3)
23507     fn_glLoadTransposeMatrixf glLoadTransposeMatrixf;
23508     alias fn_glLoadTransposeMatrixfARB = extern(C) void function(const GLfloat* m) @system @nogc nothrow;
23509     /// Ditto
23510     @OpenGL_Version(OGLIntroducedIn.Unknown)
23511     @OpenGL_Extension("GL_ARB_transpose_matrix")
23512     fn_glLoadTransposeMatrixfARB glLoadTransposeMatrixfARB;
23513     alias fn_glLoadTransposeMatrixxOES = extern(C) void function(const GLfixed* m) @system @nogc nothrow;
23514     /// Ditto
23515     @OpenGL_Version(OGLIntroducedIn.Unknown)
23516     @OpenGL_Extension("GL_OES_fixed_point")
23517     fn_glLoadTransposeMatrixxOES glLoadTransposeMatrixxOES;
23518     alias fn_glLockArraysEXT = extern(C) void function(GLint first, GLsizei count) @system @nogc nothrow;
23519     /// Ditto
23520     @OpenGL_Version(OGLIntroducedIn.Unknown)
23521     @OpenGL_Extension("GL_EXT_compiled_vertex_array")
23522     fn_glLockArraysEXT glLockArraysEXT;
23523     alias fn_glMakeBufferNonResidentNV = extern(C) void function(GLenum target) @system @nogc nothrow;
23524     /// Ditto
23525     @OpenGL_Version(OGLIntroducedIn.Unknown)
23526     @OpenGL_Extension("GL_NV_shader_buffer_load")
23527     fn_glMakeBufferNonResidentNV glMakeBufferNonResidentNV;
23528     alias fn_glMakeBufferResidentNV = extern(C) void function(GLenum target, GLenum access) @system @nogc nothrow;
23529     /// Ditto
23530     @OpenGL_Version(OGLIntroducedIn.Unknown)
23531     @OpenGL_Extension("GL_NV_shader_buffer_load")
23532     fn_glMakeBufferResidentNV glMakeBufferResidentNV;
23533     alias fn_glMakeImageHandleNonResidentARB = extern(C) void function(GLuint64 handle) @system @nogc nothrow;
23534     /// Ditto
23535     @OpenGL_Version(OGLIntroducedIn.Unknown)
23536     @OpenGL_Extension("GL_ARB_bindless_texture")
23537     fn_glMakeImageHandleNonResidentARB glMakeImageHandleNonResidentARB;
23538     alias fn_glMakeImageHandleNonResidentNV = extern(C) void function(GLuint64 handle) @system @nogc nothrow;
23539     /// Ditto
23540     @OpenGL_Version(OGLIntroducedIn.Unknown)
23541     @OpenGL_Extension("GL_NV_bindless_texture")
23542     fn_glMakeImageHandleNonResidentNV glMakeImageHandleNonResidentNV;
23543     alias fn_glMakeImageHandleResidentARB = extern(C) void function(GLuint64 handle, GLenum access) @system @nogc nothrow;
23544     /// Ditto
23545     @OpenGL_Version(OGLIntroducedIn.Unknown)
23546     @OpenGL_Extension("GL_ARB_bindless_texture")
23547     fn_glMakeImageHandleResidentARB glMakeImageHandleResidentARB;
23548     alias fn_glMakeImageHandleResidentNV = extern(C) void function(GLuint64 handle, GLenum access) @system @nogc nothrow;
23549     /// Ditto
23550     @OpenGL_Version(OGLIntroducedIn.Unknown)
23551     @OpenGL_Extension("GL_NV_bindless_texture")
23552     fn_glMakeImageHandleResidentNV glMakeImageHandleResidentNV;
23553     alias fn_glMakeNamedBufferNonResidentNV = extern(C) void function(GLuint buffer) @system @nogc nothrow;
23554     /// Ditto
23555     @OpenGL_Version(OGLIntroducedIn.Unknown)
23556     @OpenGL_Extension("GL_NV_shader_buffer_load")
23557     fn_glMakeNamedBufferNonResidentNV glMakeNamedBufferNonResidentNV;
23558     alias fn_glMakeNamedBufferResidentNV = extern(C) void function(GLuint buffer, GLenum access) @system @nogc nothrow;
23559     /// Ditto
23560     @OpenGL_Version(OGLIntroducedIn.Unknown)
23561     @OpenGL_Extension("GL_NV_shader_buffer_load")
23562     fn_glMakeNamedBufferResidentNV glMakeNamedBufferResidentNV;
23563     alias fn_glMakeTextureHandleNonResidentARB = extern(C) void function(GLuint64 handle) @system @nogc nothrow;
23564     /// Ditto
23565     @OpenGL_Version(OGLIntroducedIn.Unknown)
23566     @OpenGL_Extension("GL_ARB_bindless_texture")
23567     fn_glMakeTextureHandleNonResidentARB glMakeTextureHandleNonResidentARB;
23568     alias fn_glMakeTextureHandleNonResidentNV = extern(C) void function(GLuint64 handle) @system @nogc nothrow;
23569     /// Ditto
23570     @OpenGL_Version(OGLIntroducedIn.Unknown)
23571     @OpenGL_Extension("GL_NV_bindless_texture")
23572     fn_glMakeTextureHandleNonResidentNV glMakeTextureHandleNonResidentNV;
23573     alias fn_glMakeTextureHandleResidentARB = extern(C) void function(GLuint64 handle) @system @nogc nothrow;
23574     /// Ditto
23575     @OpenGL_Version(OGLIntroducedIn.Unknown)
23576     @OpenGL_Extension("GL_ARB_bindless_texture")
23577     fn_glMakeTextureHandleResidentARB glMakeTextureHandleResidentARB;
23578     alias fn_glMakeTextureHandleResidentNV = extern(C) void function(GLuint64 handle) @system @nogc nothrow;
23579     /// Ditto
23580     @OpenGL_Version(OGLIntroducedIn.Unknown)
23581     @OpenGL_Extension("GL_NV_bindless_texture")
23582     fn_glMakeTextureHandleResidentNV glMakeTextureHandleResidentNV;
23583     alias fn_glMap1d = extern(C) void function(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points) @system @nogc nothrow;
23584     /// Ditto
23585     @OpenGL_Version(OGLIntroducedIn.V1P0)
23586     fn_glMap1d glMap1d;
23587     alias fn_glMap1f = extern(C) void function(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points) @system @nogc nothrow;
23588     /// Ditto
23589     @OpenGL_Version(OGLIntroducedIn.V1P0)
23590     fn_glMap1f glMap1f;
23591     alias fn_glMap1xOES = extern(C) void function(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points) @system @nogc nothrow;
23592     /// Ditto
23593     @OpenGL_Version(OGLIntroducedIn.Unknown)
23594     @OpenGL_Extension("GL_OES_fixed_point")
23595     fn_glMap1xOES glMap1xOES;
23596     alias fn_glMap2d = extern(C) void function(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points) @system @nogc nothrow;
23597     /// Ditto
23598     @OpenGL_Version(OGLIntroducedIn.V1P0)
23599     fn_glMap2d glMap2d;
23600     alias fn_glMap2f = extern(C) void function(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points) @system @nogc nothrow;
23601     /// Ditto
23602     @OpenGL_Version(OGLIntroducedIn.V1P0)
23603     fn_glMap2f glMap2f;
23604     alias fn_glMap2xOES = extern(C) void function(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points) @system @nogc nothrow;
23605     /// Ditto
23606     @OpenGL_Version(OGLIntroducedIn.Unknown)
23607     @OpenGL_Extension("GL_OES_fixed_point")
23608     fn_glMap2xOES glMap2xOES;
23609     alias fn_glMapBufferARB = extern(C) void* function(GLenum target, GLenum access) @system @nogc nothrow;
23610     /// Ditto
23611     @OpenGL_Version(OGLIntroducedIn.Unknown)
23612     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
23613     fn_glMapBufferARB glMapBufferARB;
23614     alias fn_glMapBufferOES = extern(C) void* function(GLenum target, GLenum access) @system @nogc nothrow;
23615     /// Ditto
23616     @OpenGL_Version(OGLIntroducedIn.Unknown)
23617     @OpenGL_Extension("GL_OES_mapbuffer")
23618     fn_glMapBufferOES glMapBufferOES;
23619     alias fn_glMapBufferRangeEXT = extern(C) void* function(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) @system @nogc nothrow;
23620     /// Ditto
23621     @OpenGL_Version(OGLIntroducedIn.Unknown)
23622     @OpenGL_Extension("GL_EXT_map_buffer_range")
23623     fn_glMapBufferRangeEXT glMapBufferRangeEXT;
23624     alias fn_glMapControlPointsNV = extern(C) void function(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void* points) @system @nogc nothrow;
23625     /// Ditto
23626     @OpenGL_Version(OGLIntroducedIn.Unknown)
23627     @OpenGL_Extension("GL_NV_evaluators")
23628     fn_glMapControlPointsNV glMapControlPointsNV;
23629     alias fn_glMapGrid1d = extern(C) void function(GLint un, GLdouble u1, GLdouble u2) @system @nogc nothrow;
23630     /// Ditto
23631     @OpenGL_Version(OGLIntroducedIn.V1P0)
23632     fn_glMapGrid1d glMapGrid1d;
23633     alias fn_glMapGrid1f = extern(C) void function(GLint un, GLfloat u1, GLfloat u2) @system @nogc nothrow;
23634     /// Ditto
23635     @OpenGL_Version(OGLIntroducedIn.V1P0)
23636     fn_glMapGrid1f glMapGrid1f;
23637     alias fn_glMapGrid1xOES = extern(C) void function(GLint n, GLfixed u1, GLfixed u2) @system @nogc nothrow;
23638     /// Ditto
23639     @OpenGL_Version(OGLIntroducedIn.Unknown)
23640     @OpenGL_Extension("GL_OES_fixed_point")
23641     fn_glMapGrid1xOES glMapGrid1xOES;
23642     alias fn_glMapGrid2d = extern(C) void function(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) @system @nogc nothrow;
23643     /// Ditto
23644     @OpenGL_Version(OGLIntroducedIn.V1P0)
23645     fn_glMapGrid2d glMapGrid2d;
23646     alias fn_glMapGrid2f = extern(C) void function(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) @system @nogc nothrow;
23647     /// Ditto
23648     @OpenGL_Version(OGLIntroducedIn.V1P0)
23649     fn_glMapGrid2f glMapGrid2f;
23650     alias fn_glMapGrid2xOES = extern(C) void function(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2) @system @nogc nothrow;
23651     /// Ditto
23652     @OpenGL_Version(OGLIntroducedIn.Unknown)
23653     @OpenGL_Extension("GL_OES_fixed_point")
23654     fn_glMapGrid2xOES glMapGrid2xOES;
23655     alias fn_glMapNamedBufferEXT = extern(C) void* function(GLuint buffer, GLenum access) @system @nogc nothrow;
23656     /// Ditto
23657     @OpenGL_Version(OGLIntroducedIn.Unknown)
23658     @OpenGL_Extension("GL_EXT_direct_state_access")
23659     fn_glMapNamedBufferEXT glMapNamedBufferEXT;
23660     alias fn_glMapNamedBufferRangeEXT = extern(C) void* function(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access) @system @nogc nothrow;
23661     /// Ditto
23662     @OpenGL_Version(OGLIntroducedIn.Unknown)
23663     @OpenGL_Extension("GL_EXT_direct_state_access")
23664     fn_glMapNamedBufferRangeEXT glMapNamedBufferRangeEXT;
23665     alias fn_glMapObjectBufferATI = extern(C) void* function(GLuint buffer) @system @nogc nothrow;
23666     /// Ditto
23667     @OpenGL_Version(OGLIntroducedIn.Unknown)
23668     @OpenGL_Extension("GL_ATI_map_object_buffer")
23669     fn_glMapObjectBufferATI glMapObjectBufferATI;
23670     alias fn_glMapParameterfvNV = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
23671     /// Ditto
23672     @OpenGL_Version(OGLIntroducedIn.Unknown)
23673     @OpenGL_Extension("GL_NV_evaluators")
23674     fn_glMapParameterfvNV glMapParameterfvNV;
23675     alias fn_glMapParameterivNV = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
23676     /// Ditto
23677     @OpenGL_Version(OGLIntroducedIn.Unknown)
23678     @OpenGL_Extension("GL_NV_evaluators")
23679     fn_glMapParameterivNV glMapParameterivNV;
23680     alias fn_glMapTexture2DINTEL = extern(C) void* function(GLuint texture, GLint level, GLbitfield access, GLint* stride, GLenum* layout) @system @nogc nothrow;
23681     /// Ditto
23682     @OpenGL_Version(OGLIntroducedIn.Unknown)
23683     @OpenGL_Extension("GL_INTEL_map_texture")
23684     fn_glMapTexture2DINTEL glMapTexture2DINTEL;
23685     alias fn_glMapVertexAttrib1dAPPLE = extern(C) void function(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points) @system @nogc nothrow;
23686     /// Ditto
23687     @OpenGL_Version(OGLIntroducedIn.Unknown)
23688     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
23689     fn_glMapVertexAttrib1dAPPLE glMapVertexAttrib1dAPPLE;
23690     alias fn_glMapVertexAttrib1fAPPLE = extern(C) void function(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points) @system @nogc nothrow;
23691     /// Ditto
23692     @OpenGL_Version(OGLIntroducedIn.Unknown)
23693     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
23694     fn_glMapVertexAttrib1fAPPLE glMapVertexAttrib1fAPPLE;
23695     alias fn_glMapVertexAttrib2dAPPLE = extern(C) void function(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points) @system @nogc nothrow;
23696     /// Ditto
23697     @OpenGL_Version(OGLIntroducedIn.Unknown)
23698     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
23699     fn_glMapVertexAttrib2dAPPLE glMapVertexAttrib2dAPPLE;
23700     alias fn_glMapVertexAttrib2fAPPLE = extern(C) void function(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points) @system @nogc nothrow;
23701     /// Ditto
23702     @OpenGL_Version(OGLIntroducedIn.Unknown)
23703     @OpenGL_Extension("GL_APPLE_vertex_program_evaluators")
23704     fn_glMapVertexAttrib2fAPPLE glMapVertexAttrib2fAPPLE;
23705     alias fn_glMaterialf = extern(C) void function(GLenum face, GLenum pname, GLfloat param) @system @nogc nothrow;
23706     /// Ditto
23707     @OpenGL_Version(OGLIntroducedIn.V1P0)
23708     fn_glMaterialf glMaterialf;
23709     alias fn_glMaterialfv = extern(C) void function(GLenum face, GLenum pname, const GLfloat* params) @system @nogc nothrow;
23710     /// Ditto
23711     @OpenGL_Version(OGLIntroducedIn.V1P0)
23712     fn_glMaterialfv glMaterialfv;
23713     alias fn_glMateriali = extern(C) void function(GLenum face, GLenum pname, GLint param) @system @nogc nothrow;
23714     /// Ditto
23715     @OpenGL_Version(OGLIntroducedIn.V1P0)
23716     fn_glMateriali glMateriali;
23717     alias fn_glMaterialiv = extern(C) void function(GLenum face, GLenum pname, const GLint* params) @system @nogc nothrow;
23718     /// Ditto
23719     @OpenGL_Version(OGLIntroducedIn.V1P0)
23720     fn_glMaterialiv glMaterialiv;
23721     alias fn_glMaterialx = extern(C) void function(GLenum face, GLenum pname, GLfixed param) @system @nogc nothrow;
23722     /// Ditto
23723     @OpenGL_Version(OGLIntroducedIn.Unknown)
23724     fn_glMaterialx glMaterialx;
23725     alias fn_glMaterialxOES = extern(C) void function(GLenum face, GLenum pname, GLfixed param) @system @nogc nothrow;
23726     /// Ditto
23727     @OpenGL_Version(OGLIntroducedIn.Unknown)
23728     @OpenGL_Extension("GL_OES_fixed_point")
23729     fn_glMaterialxOES glMaterialxOES;
23730     alias fn_glMaterialxv = extern(C) void function(GLenum face, GLenum pname, const GLfixed* param) @system @nogc nothrow;
23731     /// Ditto
23732     @OpenGL_Version(OGLIntroducedIn.Unknown)
23733     fn_glMaterialxv glMaterialxv;
23734     alias fn_glMaterialxvOES = extern(C) void function(GLenum face, GLenum pname, const GLfixed* param) @system @nogc nothrow;
23735     /// Ditto
23736     @OpenGL_Version(OGLIntroducedIn.Unknown)
23737     @OpenGL_Extension("GL_OES_fixed_point")
23738     fn_glMaterialxvOES glMaterialxvOES;
23739     alias fn_glMatrixFrustumEXT = extern(C) void function(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) @system @nogc nothrow;
23740     /// Ditto
23741     @OpenGL_Version(OGLIntroducedIn.Unknown)
23742     @OpenGL_Extension("GL_EXT_direct_state_access")
23743     fn_glMatrixFrustumEXT glMatrixFrustumEXT;
23744     alias fn_glMatrixIndexPointerARB = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
23745     /// Ditto
23746     @OpenGL_Version(OGLIntroducedIn.Unknown)
23747     @OpenGL_Extension("GL_ARB_matrix_palette")
23748     fn_glMatrixIndexPointerARB glMatrixIndexPointerARB;
23749     alias fn_glMatrixIndexPointerOES = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
23750     /// Ditto
23751     @OpenGL_Version(OGLIntroducedIn.Unknown)
23752     @OpenGL_Extension("GL_OES_matrix_palette")
23753     fn_glMatrixIndexPointerOES glMatrixIndexPointerOES;
23754     alias fn_glMatrixIndexubvARB = extern(C) void function(GLint size, const(GLubyte)* indices) @system @nogc nothrow;
23755     /// Ditto
23756     @OpenGL_Version(OGLIntroducedIn.Unknown)
23757     @OpenGL_Extension("GL_ARB_matrix_palette")
23758     fn_glMatrixIndexubvARB glMatrixIndexubvARB;
23759     alias fn_glMatrixIndexuivARB = extern(C) void function(GLint size, const GLuint* indices) @system @nogc nothrow;
23760     /// Ditto
23761     @OpenGL_Version(OGLIntroducedIn.Unknown)
23762     @OpenGL_Extension("GL_ARB_matrix_palette")
23763     fn_glMatrixIndexuivARB glMatrixIndexuivARB;
23764     alias fn_glMatrixIndexusvARB = extern(C) void function(GLint size, const GLushort* indices) @system @nogc nothrow;
23765     /// Ditto
23766     @OpenGL_Version(OGLIntroducedIn.Unknown)
23767     @OpenGL_Extension("GL_ARB_matrix_palette")
23768     fn_glMatrixIndexusvARB glMatrixIndexusvARB;
23769     alias fn_glMatrixLoad3x2fNV = extern(C) void function(GLenum matrixMode, const GLfloat* m) @system @nogc nothrow;
23770     /// Ditto
23771     @OpenGL_Version(OGLIntroducedIn.Unknown)
23772     @OpenGL_Extension("GL_NV_path_rendering")
23773     fn_glMatrixLoad3x2fNV glMatrixLoad3x2fNV;
23774     alias fn_glMatrixLoad3x3fNV = extern(C) void function(GLenum matrixMode, const GLfloat* m) @system @nogc nothrow;
23775     /// Ditto
23776     @OpenGL_Version(OGLIntroducedIn.Unknown)
23777     @OpenGL_Extension("GL_NV_path_rendering")
23778     fn_glMatrixLoad3x3fNV glMatrixLoad3x3fNV;
23779     alias fn_glMatrixLoadIdentityEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
23780     /// Ditto
23781     @OpenGL_Version(OGLIntroducedIn.Unknown)
23782     @OpenGL_Extension("GL_EXT_direct_state_access")
23783     fn_glMatrixLoadIdentityEXT glMatrixLoadIdentityEXT;
23784     alias fn_glMatrixLoadTranspose3x3fNV = extern(C) void function(GLenum matrixMode, const GLfloat* m) @system @nogc nothrow;
23785     /// Ditto
23786     @OpenGL_Version(OGLIntroducedIn.Unknown)
23787     @OpenGL_Extension("GL_NV_path_rendering")
23788     fn_glMatrixLoadTranspose3x3fNV glMatrixLoadTranspose3x3fNV;
23789     alias fn_glMatrixLoadTransposedEXT = extern(C) void function(GLenum mode, const GLdouble* m) @system @nogc nothrow;
23790     /// Ditto
23791     @OpenGL_Version(OGLIntroducedIn.Unknown)
23792     @OpenGL_Extension("GL_EXT_direct_state_access")
23793     fn_glMatrixLoadTransposedEXT glMatrixLoadTransposedEXT;
23794     alias fn_glMatrixLoadTransposefEXT = extern(C) void function(GLenum mode, const GLfloat* m) @system @nogc nothrow;
23795     /// Ditto
23796     @OpenGL_Version(OGLIntroducedIn.Unknown)
23797     @OpenGL_Extension("GL_EXT_direct_state_access")
23798     fn_glMatrixLoadTransposefEXT glMatrixLoadTransposefEXT;
23799     alias fn_glMatrixLoaddEXT = extern(C) void function(GLenum mode, const GLdouble* m) @system @nogc nothrow;
23800     /// Ditto
23801     @OpenGL_Version(OGLIntroducedIn.Unknown)
23802     @OpenGL_Extension("GL_EXT_direct_state_access")
23803     fn_glMatrixLoaddEXT glMatrixLoaddEXT;
23804     alias fn_glMatrixLoadfEXT = extern(C) void function(GLenum mode, const GLfloat* m) @system @nogc nothrow;
23805     /// Ditto
23806     @OpenGL_Version(OGLIntroducedIn.Unknown)
23807     @OpenGL_Extension("GL_EXT_direct_state_access")
23808     fn_glMatrixLoadfEXT glMatrixLoadfEXT;
23809     alias fn_glMatrixMode = extern(C) void function(GLenum mode) @system @nogc nothrow;
23810     /// Ditto
23811     @OpenGL_Version(OGLIntroducedIn.V1P0)
23812     fn_glMatrixMode glMatrixMode;
23813     alias fn_glMatrixMult3x2fNV = extern(C) void function(GLenum matrixMode, const GLfloat* m) @system @nogc nothrow;
23814     /// Ditto
23815     @OpenGL_Version(OGLIntroducedIn.Unknown)
23816     @OpenGL_Extension("GL_NV_path_rendering")
23817     fn_glMatrixMult3x2fNV glMatrixMult3x2fNV;
23818     alias fn_glMatrixMult3x3fNV = extern(C) void function(GLenum matrixMode, const GLfloat* m) @system @nogc nothrow;
23819     /// Ditto
23820     @OpenGL_Version(OGLIntroducedIn.Unknown)
23821     @OpenGL_Extension("GL_NV_path_rendering")
23822     fn_glMatrixMult3x3fNV glMatrixMult3x3fNV;
23823     alias fn_glMatrixMultTranspose3x3fNV = extern(C) void function(GLenum matrixMode, const GLfloat* m) @system @nogc nothrow;
23824     /// Ditto
23825     @OpenGL_Version(OGLIntroducedIn.Unknown)
23826     @OpenGL_Extension("GL_NV_path_rendering")
23827     fn_glMatrixMultTranspose3x3fNV glMatrixMultTranspose3x3fNV;
23828     alias fn_glMatrixMultTransposedEXT = extern(C) void function(GLenum mode, const GLdouble* m) @system @nogc nothrow;
23829     /// Ditto
23830     @OpenGL_Version(OGLIntroducedIn.Unknown)
23831     @OpenGL_Extension("GL_EXT_direct_state_access")
23832     fn_glMatrixMultTransposedEXT glMatrixMultTransposedEXT;
23833     alias fn_glMatrixMultTransposefEXT = extern(C) void function(GLenum mode, const GLfloat* m) @system @nogc nothrow;
23834     /// Ditto
23835     @OpenGL_Version(OGLIntroducedIn.Unknown)
23836     @OpenGL_Extension("GL_EXT_direct_state_access")
23837     fn_glMatrixMultTransposefEXT glMatrixMultTransposefEXT;
23838     alias fn_glMatrixMultdEXT = extern(C) void function(GLenum mode, const GLdouble* m) @system @nogc nothrow;
23839     /// Ditto
23840     @OpenGL_Version(OGLIntroducedIn.Unknown)
23841     @OpenGL_Extension("GL_EXT_direct_state_access")
23842     fn_glMatrixMultdEXT glMatrixMultdEXT;
23843     alias fn_glMatrixMultfEXT = extern(C) void function(GLenum mode, const GLfloat* m) @system @nogc nothrow;
23844     /// Ditto
23845     @OpenGL_Version(OGLIntroducedIn.Unknown)
23846     @OpenGL_Extension("GL_EXT_direct_state_access")
23847     fn_glMatrixMultfEXT glMatrixMultfEXT;
23848     alias fn_glMatrixOrthoEXT = extern(C) void function(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) @system @nogc nothrow;
23849     /// Ditto
23850     @OpenGL_Version(OGLIntroducedIn.Unknown)
23851     @OpenGL_Extension("GL_EXT_direct_state_access")
23852     fn_glMatrixOrthoEXT glMatrixOrthoEXT;
23853     alias fn_glMatrixPopEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
23854     /// Ditto
23855     @OpenGL_Version(OGLIntroducedIn.Unknown)
23856     @OpenGL_Extension("GL_EXT_direct_state_access")
23857     fn_glMatrixPopEXT glMatrixPopEXT;
23858     alias fn_glMatrixPushEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
23859     /// Ditto
23860     @OpenGL_Version(OGLIntroducedIn.Unknown)
23861     @OpenGL_Extension("GL_EXT_direct_state_access")
23862     fn_glMatrixPushEXT glMatrixPushEXT;
23863     alias fn_glMatrixRotatedEXT = extern(C) void function(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
23864     /// Ditto
23865     @OpenGL_Version(OGLIntroducedIn.Unknown)
23866     @OpenGL_Extension("GL_EXT_direct_state_access")
23867     fn_glMatrixRotatedEXT glMatrixRotatedEXT;
23868     alias fn_glMatrixRotatefEXT = extern(C) void function(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
23869     /// Ditto
23870     @OpenGL_Version(OGLIntroducedIn.Unknown)
23871     @OpenGL_Extension("GL_EXT_direct_state_access")
23872     fn_glMatrixRotatefEXT glMatrixRotatefEXT;
23873     alias fn_glMatrixScaledEXT = extern(C) void function(GLenum mode, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
23874     /// Ditto
23875     @OpenGL_Version(OGLIntroducedIn.Unknown)
23876     @OpenGL_Extension("GL_EXT_direct_state_access")
23877     fn_glMatrixScaledEXT glMatrixScaledEXT;
23878     alias fn_glMatrixScalefEXT = extern(C) void function(GLenum mode, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
23879     /// Ditto
23880     @OpenGL_Version(OGLIntroducedIn.Unknown)
23881     @OpenGL_Extension("GL_EXT_direct_state_access")
23882     fn_glMatrixScalefEXT glMatrixScalefEXT;
23883     alias fn_glMatrixTranslatedEXT = extern(C) void function(GLenum mode, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
23884     /// Ditto
23885     @OpenGL_Version(OGLIntroducedIn.Unknown)
23886     @OpenGL_Extension("GL_EXT_direct_state_access")
23887     fn_glMatrixTranslatedEXT glMatrixTranslatedEXT;
23888     alias fn_glMatrixTranslatefEXT = extern(C) void function(GLenum mode, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
23889     /// Ditto
23890     @OpenGL_Version(OGLIntroducedIn.Unknown)
23891     @OpenGL_Extension("GL_EXT_direct_state_access")
23892     fn_glMatrixTranslatefEXT glMatrixTranslatefEXT;
23893     alias fn_glMaxShaderCompilerThreadsARB = extern(C) void function(GLuint count) @system @nogc nothrow;
23894     /// Ditto
23895     @OpenGL_Version(OGLIntroducedIn.Unknown)
23896     @OpenGL_Extension("GL_ARB_parallel_shader_compile")
23897     fn_glMaxShaderCompilerThreadsARB glMaxShaderCompilerThreadsARB;
23898     alias fn_glMemoryBarrierEXT = extern(C) void function(GLbitfield barriers) @system @nogc nothrow;
23899     /// Ditto
23900     @OpenGL_Version(OGLIntroducedIn.Unknown)
23901     @OpenGL_Extension("GL_EXT_shader_image_load_store")
23902     fn_glMemoryBarrierEXT glMemoryBarrierEXT;
23903     alias fn_glMinSampleShadingARB = extern(C) void function(GLfloat value) @system @nogc nothrow;
23904     /// Ditto
23905     @OpenGL_Version(OGLIntroducedIn.Unknown)
23906     @OpenGL_Extension("GL_ARB_sample_shading")
23907     fn_glMinSampleShadingARB glMinSampleShadingARB;
23908     alias fn_glMinSampleShadingOES = extern(C) void function(GLfloat value) @system @nogc nothrow;
23909     /// Ditto
23910     @OpenGL_Version(OGLIntroducedIn.Unknown)
23911     @OpenGL_Extension("GL_OES_sample_shading")
23912     fn_glMinSampleShadingOES glMinSampleShadingOES;
23913     alias fn_glMinmax = extern(C) void function(GLenum target, GLenum internalformat, GLboolean sink) @system @nogc nothrow;
23914     /// Ditto
23915     @OpenGL_Version(OGLIntroducedIn.Unknown)
23916     @OpenGL_Extension("GL_ARB_imaging")
23917     fn_glMinmax glMinmax;
23918     alias fn_glMinmaxEXT = extern(C) void function(GLenum target, GLenum internalformat, GLboolean sink) @system @nogc nothrow;
23919     /// Ditto
23920     @OpenGL_Version(OGLIntroducedIn.Unknown)
23921     @OpenGL_Extension("GL_EXT_histogram")
23922     fn_glMinmaxEXT glMinmaxEXT;
23923     alias fn_glMultMatrixd = extern(C) void function(const GLdouble* m) @system @nogc nothrow;
23924     /// Ditto
23925     @OpenGL_Version(OGLIntroducedIn.V1P0)
23926     fn_glMultMatrixd glMultMatrixd;
23927     alias fn_glMultMatrixf = extern(C) void function(const GLfloat* m) @system @nogc nothrow;
23928     /// Ditto
23929     @OpenGL_Version(OGLIntroducedIn.V1P0)
23930     fn_glMultMatrixf glMultMatrixf;
23931     alias fn_glMultMatrixx = extern(C) void function(const GLfixed* m) @system @nogc nothrow;
23932     /// Ditto
23933     @OpenGL_Version(OGLIntroducedIn.Unknown)
23934     fn_glMultMatrixx glMultMatrixx;
23935     alias fn_glMultMatrixxOES = extern(C) void function(const GLfixed* m) @system @nogc nothrow;
23936     /// Ditto
23937     @OpenGL_Version(OGLIntroducedIn.Unknown)
23938     @OpenGL_Extension("GL_OES_fixed_point")
23939     fn_glMultMatrixxOES glMultMatrixxOES;
23940     alias fn_glMultTransposeMatrixd = extern(C) void function(const GLdouble* m) @system @nogc nothrow;
23941     /// Ditto
23942     @OpenGL_Version(OGLIntroducedIn.V1P3)
23943     fn_glMultTransposeMatrixd glMultTransposeMatrixd;
23944     alias fn_glMultTransposeMatrixdARB = extern(C) void function(const GLdouble* m) @system @nogc nothrow;
23945     /// Ditto
23946     @OpenGL_Version(OGLIntroducedIn.Unknown)
23947     @OpenGL_Extension("GL_ARB_transpose_matrix")
23948     fn_glMultTransposeMatrixdARB glMultTransposeMatrixdARB;
23949     alias fn_glMultTransposeMatrixf = extern(C) void function(const GLfloat* m) @system @nogc nothrow;
23950     /// Ditto
23951     @OpenGL_Version(OGLIntroducedIn.V1P3)
23952     fn_glMultTransposeMatrixf glMultTransposeMatrixf;
23953     alias fn_glMultTransposeMatrixfARB = extern(C) void function(const GLfloat* m) @system @nogc nothrow;
23954     /// Ditto
23955     @OpenGL_Version(OGLIntroducedIn.Unknown)
23956     @OpenGL_Extension("GL_ARB_transpose_matrix")
23957     fn_glMultTransposeMatrixfARB glMultTransposeMatrixfARB;
23958     alias fn_glMultTransposeMatrixxOES = extern(C) void function(const GLfixed* m) @system @nogc nothrow;
23959     /// Ditto
23960     @OpenGL_Version(OGLIntroducedIn.Unknown)
23961     @OpenGL_Extension("GL_OES_fixed_point")
23962     fn_glMultTransposeMatrixxOES glMultTransposeMatrixxOES;
23963     alias fn_glMultiDrawArraysEXT = extern(C) void function(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount) @system @nogc nothrow;
23964     /// Ditto
23965     @OpenGL_Version(OGLIntroducedIn.Unknown)
23966     @OpenGL_Extension("GL_EXT_multi_draw_arrays")
23967     fn_glMultiDrawArraysEXT glMultiDrawArraysEXT;
23968     alias fn_glMultiDrawArraysIndirectAMD = extern(C) void function(GLenum mode, const void* indirect, GLsizei primcount, GLsizei stride) @system @nogc nothrow;
23969     /// Ditto
23970     @OpenGL_Version(OGLIntroducedIn.Unknown)
23971     @OpenGL_Extension("GL_AMD_multi_draw_indirect")
23972     fn_glMultiDrawArraysIndirectAMD glMultiDrawArraysIndirectAMD;
23973     alias fn_glMultiDrawArraysIndirectBindlessCountNV = extern(C) void function(GLenum mode, const void* indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) @system @nogc nothrow;
23974     /// Ditto
23975     @OpenGL_Version(OGLIntroducedIn.Unknown)
23976     @OpenGL_Extension("GL_NV_bindless_multi_draw_indirect_count")
23977     fn_glMultiDrawArraysIndirectBindlessCountNV glMultiDrawArraysIndirectBindlessCountNV;
23978     alias fn_glMultiDrawArraysIndirectBindlessNV = extern(C) void function(GLenum mode, const void* indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) @system @nogc nothrow;
23979     /// Ditto
23980     @OpenGL_Version(OGLIntroducedIn.Unknown)
23981     @OpenGL_Extension("GL_NV_bindless_multi_draw_indirect")
23982     fn_glMultiDrawArraysIndirectBindlessNV glMultiDrawArraysIndirectBindlessNV;
23983     alias fn_glMultiDrawArraysIndirectCountARB = extern(C) void function(GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) @system @nogc nothrow;
23984     /// Ditto
23985     @OpenGL_Version(OGLIntroducedIn.Unknown)
23986     @OpenGL_Extension("GL_ARB_indirect_parameters")
23987     fn_glMultiDrawArraysIndirectCountARB glMultiDrawArraysIndirectCountARB;
23988     alias fn_glMultiDrawArraysIndirectEXT = extern(C) void function(GLenum mode, const void* indirect, GLsizei drawcount, GLsizei stride) @system @nogc nothrow;
23989     /// Ditto
23990     @OpenGL_Version(OGLIntroducedIn.Unknown)
23991     @OpenGL_Extension("GL_EXT_multi_draw_indirect")
23992     fn_glMultiDrawArraysIndirectEXT glMultiDrawArraysIndirectEXT;
23993     alias fn_glMultiDrawElementArrayAPPLE = extern(C) void function(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount) @system @nogc nothrow;
23994     /// Ditto
23995     @OpenGL_Version(OGLIntroducedIn.Unknown)
23996     @OpenGL_Extension("GL_APPLE_element_array")
23997     fn_glMultiDrawElementArrayAPPLE glMultiDrawElementArrayAPPLE;
23998     alias fn_glMultiDrawElementsBaseVertexEXT = extern(C) void function(GLenum mode, const GLsizei* count, GLenum type, const(const(GLvoid*)*) indices, GLsizei primcount, const GLint* basevertex) @system @nogc nothrow;
23999     /// Ditto
24000     @OpenGL_Version(OGLIntroducedIn.Unknown)
24001     @OpenGL_Extension("GL_EXT_draw_elements_base_vertex")
24002     fn_glMultiDrawElementsBaseVertexEXT glMultiDrawElementsBaseVertexEXT;
24003     alias fn_glMultiDrawElementsBaseVertexOES = extern(C) void function(GLenum mode, const GLsizei* count, GLenum type, const(const(GLvoid*)*) indices, GLsizei primcount, const GLint* basevertex) @system @nogc nothrow;
24004     /// Ditto
24005     @OpenGL_Version(OGLIntroducedIn.Unknown)
24006     @OpenGL_Extension("GL_OES_draw_elements_base_vertex")
24007     fn_glMultiDrawElementsBaseVertexOES glMultiDrawElementsBaseVertexOES;
24008     alias fn_glMultiDrawElementsEXT = extern(C) void function(GLenum mode, const GLsizei* count, GLenum type, const(const(GLvoid*)*) indices, GLsizei primcount) @system @nogc nothrow;
24009     /// Ditto
24010     @OpenGL_Version(OGLIntroducedIn.Unknown)
24011     @OpenGL_Extension("GL_EXT_multi_draw_arrays")
24012     fn_glMultiDrawElementsEXT glMultiDrawElementsEXT;
24013     alias fn_glMultiDrawElementsIndirectAMD = extern(C) void function(GLenum mode, GLenum type, const void* indirect, GLsizei primcount, GLsizei stride) @system @nogc nothrow;
24014     /// Ditto
24015     @OpenGL_Version(OGLIntroducedIn.Unknown)
24016     @OpenGL_Extension("GL_AMD_multi_draw_indirect")
24017     fn_glMultiDrawElementsIndirectAMD glMultiDrawElementsIndirectAMD;
24018     alias fn_glMultiDrawElementsIndirectBindlessCountNV = extern(C) void function(GLenum mode, GLenum type, const void* indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount) @system @nogc nothrow;
24019     /// Ditto
24020     @OpenGL_Version(OGLIntroducedIn.Unknown)
24021     @OpenGL_Extension("GL_NV_bindless_multi_draw_indirect_count")
24022     fn_glMultiDrawElementsIndirectBindlessCountNV glMultiDrawElementsIndirectBindlessCountNV;
24023     alias fn_glMultiDrawElementsIndirectBindlessNV = extern(C) void function(GLenum mode, GLenum type, const void* indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount) @system @nogc nothrow;
24024     /// Ditto
24025     @OpenGL_Version(OGLIntroducedIn.Unknown)
24026     @OpenGL_Extension("GL_NV_bindless_multi_draw_indirect")
24027     fn_glMultiDrawElementsIndirectBindlessNV glMultiDrawElementsIndirectBindlessNV;
24028     alias fn_glMultiDrawElementsIndirectCountARB = extern(C) void function(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) @system @nogc nothrow;
24029     /// Ditto
24030     @OpenGL_Version(OGLIntroducedIn.Unknown)
24031     @OpenGL_Extension("GL_ARB_indirect_parameters")
24032     fn_glMultiDrawElementsIndirectCountARB glMultiDrawElementsIndirectCountARB;
24033     alias fn_glMultiDrawElementsIndirectEXT = extern(C) void function(GLenum mode, GLenum type, const void* indirect, GLsizei drawcount, GLsizei stride) @system @nogc nothrow;
24034     /// Ditto
24035     @OpenGL_Version(OGLIntroducedIn.Unknown)
24036     @OpenGL_Extension("GL_EXT_multi_draw_indirect")
24037     fn_glMultiDrawElementsIndirectEXT glMultiDrawElementsIndirectEXT;
24038     alias fn_glMultiDrawRangeElementArrayAPPLE = extern(C) void function(GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei* count, GLsizei primcount) @system @nogc nothrow;
24039     /// Ditto
24040     @OpenGL_Version(OGLIntroducedIn.Unknown)
24041     @OpenGL_Extension("GL_APPLE_element_array")
24042     fn_glMultiDrawRangeElementArrayAPPLE glMultiDrawRangeElementArrayAPPLE;
24043     alias fn_glMultiModeDrawArraysIBM = extern(C) void function(const GLenum* mode, const GLint* first, const GLsizei* count, GLsizei primcount, GLint modestride) @system @nogc nothrow;
24044     /// Ditto
24045     @OpenGL_Version(OGLIntroducedIn.Unknown)
24046     @OpenGL_Extension("GL_IBM_multimode_draw_arrays")
24047     fn_glMultiModeDrawArraysIBM glMultiModeDrawArraysIBM;
24048     alias fn_glMultiModeDrawElementsIBM = extern(C) void function(const GLenum* mode, const GLsizei* count, GLenum type, const(const(GLvoid*)*) indices, GLsizei primcount, GLint modestride) @system @nogc nothrow;
24049     /// Ditto
24050     @OpenGL_Version(OGLIntroducedIn.Unknown)
24051     @OpenGL_Extension("GL_IBM_multimode_draw_arrays")
24052     fn_glMultiModeDrawElementsIBM glMultiModeDrawElementsIBM;
24053     alias fn_glMultiTexBufferEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer) @system @nogc nothrow;
24054     /// Ditto
24055     @OpenGL_Version(OGLIntroducedIn.Unknown)
24056     @OpenGL_Extension("GL_EXT_direct_state_access")
24057     fn_glMultiTexBufferEXT glMultiTexBufferEXT;
24058     alias fn_glMultiTexCoord1bOES = extern(C) void function(GLenum texture, GLbyte s) @system @nogc nothrow;
24059     /// Ditto
24060     @OpenGL_Version(OGLIntroducedIn.Unknown)
24061     @OpenGL_Extension("GL_OES_byte_coordinates")
24062     fn_glMultiTexCoord1bOES glMultiTexCoord1bOES;
24063     alias fn_glMultiTexCoord1bvOES = extern(C) void function(GLenum texture, const GLbyte* coords) @system @nogc nothrow;
24064     /// Ditto
24065     @OpenGL_Version(OGLIntroducedIn.Unknown)
24066     @OpenGL_Extension("GL_OES_byte_coordinates")
24067     fn_glMultiTexCoord1bvOES glMultiTexCoord1bvOES;
24068     alias fn_glMultiTexCoord1d = extern(C) void function(GLenum target, GLdouble s) @system @nogc nothrow;
24069     /// Ditto
24070     @OpenGL_Version(OGLIntroducedIn.V1P3)
24071     fn_glMultiTexCoord1d glMultiTexCoord1d;
24072     alias fn_glMultiTexCoord1dARB = extern(C) void function(GLenum target, GLdouble s) @system @nogc nothrow;
24073     /// Ditto
24074     @OpenGL_Version(OGLIntroducedIn.Unknown)
24075     @OpenGL_Extension("GL_ARB_multitexture")
24076     fn_glMultiTexCoord1dARB glMultiTexCoord1dARB;
24077     alias fn_glMultiTexCoord1dv = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24078     /// Ditto
24079     @OpenGL_Version(OGLIntroducedIn.V1P3)
24080     fn_glMultiTexCoord1dv glMultiTexCoord1dv;
24081     alias fn_glMultiTexCoord1dvARB = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24082     /// Ditto
24083     @OpenGL_Version(OGLIntroducedIn.Unknown)
24084     @OpenGL_Extension("GL_ARB_multitexture")
24085     fn_glMultiTexCoord1dvARB glMultiTexCoord1dvARB;
24086     alias fn_glMultiTexCoord1f = extern(C) void function(GLenum target, GLfloat s) @system @nogc nothrow;
24087     /// Ditto
24088     @OpenGL_Version(OGLIntroducedIn.V1P3)
24089     fn_glMultiTexCoord1f glMultiTexCoord1f;
24090     alias fn_glMultiTexCoord1fARB = extern(C) void function(GLenum target, GLfloat s) @system @nogc nothrow;
24091     /// Ditto
24092     @OpenGL_Version(OGLIntroducedIn.Unknown)
24093     @OpenGL_Extension("GL_ARB_multitexture")
24094     fn_glMultiTexCoord1fARB glMultiTexCoord1fARB;
24095     alias fn_glMultiTexCoord1fv = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24096     /// Ditto
24097     @OpenGL_Version(OGLIntroducedIn.V1P3)
24098     fn_glMultiTexCoord1fv glMultiTexCoord1fv;
24099     alias fn_glMultiTexCoord1fvARB = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24100     /// Ditto
24101     @OpenGL_Version(OGLIntroducedIn.Unknown)
24102     @OpenGL_Extension("GL_ARB_multitexture")
24103     fn_glMultiTexCoord1fvARB glMultiTexCoord1fvARB;
24104     alias fn_glMultiTexCoord1hNV = extern(C) void function(GLenum target, GLhalfNV s) @system @nogc nothrow;
24105     /// Ditto
24106     @OpenGL_Version(OGLIntroducedIn.Unknown)
24107     @OpenGL_Extension("GL_NV_half_float")
24108     fn_glMultiTexCoord1hNV glMultiTexCoord1hNV;
24109     alias fn_glMultiTexCoord1hvNV = extern(C) void function(GLenum target, const GLhalfNV* v) @system @nogc nothrow;
24110     /// Ditto
24111     @OpenGL_Version(OGLIntroducedIn.Unknown)
24112     @OpenGL_Extension("GL_NV_half_float")
24113     fn_glMultiTexCoord1hvNV glMultiTexCoord1hvNV;
24114     alias fn_glMultiTexCoord1i = extern(C) void function(GLenum target, GLint s) @system @nogc nothrow;
24115     /// Ditto
24116     @OpenGL_Version(OGLIntroducedIn.V1P3)
24117     fn_glMultiTexCoord1i glMultiTexCoord1i;
24118     alias fn_glMultiTexCoord1iARB = extern(C) void function(GLenum target, GLint s) @system @nogc nothrow;
24119     /// Ditto
24120     @OpenGL_Version(OGLIntroducedIn.Unknown)
24121     @OpenGL_Extension("GL_ARB_multitexture")
24122     fn_glMultiTexCoord1iARB glMultiTexCoord1iARB;
24123     alias fn_glMultiTexCoord1iv = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24124     /// Ditto
24125     @OpenGL_Version(OGLIntroducedIn.V1P3)
24126     fn_glMultiTexCoord1iv glMultiTexCoord1iv;
24127     alias fn_glMultiTexCoord1ivARB = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24128     /// Ditto
24129     @OpenGL_Version(OGLIntroducedIn.Unknown)
24130     @OpenGL_Extension("GL_ARB_multitexture")
24131     fn_glMultiTexCoord1ivARB glMultiTexCoord1ivARB;
24132     alias fn_glMultiTexCoord1s = extern(C) void function(GLenum target, GLshort s) @system @nogc nothrow;
24133     /// Ditto
24134     @OpenGL_Version(OGLIntroducedIn.V1P3)
24135     fn_glMultiTexCoord1s glMultiTexCoord1s;
24136     alias fn_glMultiTexCoord1sARB = extern(C) void function(GLenum target, GLshort s) @system @nogc nothrow;
24137     /// Ditto
24138     @OpenGL_Version(OGLIntroducedIn.Unknown)
24139     @OpenGL_Extension("GL_ARB_multitexture")
24140     fn_glMultiTexCoord1sARB glMultiTexCoord1sARB;
24141     alias fn_glMultiTexCoord1sv = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24142     /// Ditto
24143     @OpenGL_Version(OGLIntroducedIn.V1P3)
24144     fn_glMultiTexCoord1sv glMultiTexCoord1sv;
24145     alias fn_glMultiTexCoord1svARB = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24146     /// Ditto
24147     @OpenGL_Version(OGLIntroducedIn.Unknown)
24148     @OpenGL_Extension("GL_ARB_multitexture")
24149     fn_glMultiTexCoord1svARB glMultiTexCoord1svARB;
24150     alias fn_glMultiTexCoord1xOES = extern(C) void function(GLenum texture, GLfixed s) @system @nogc nothrow;
24151     /// Ditto
24152     @OpenGL_Version(OGLIntroducedIn.Unknown)
24153     @OpenGL_Extension("GL_OES_fixed_point")
24154     fn_glMultiTexCoord1xOES glMultiTexCoord1xOES;
24155     alias fn_glMultiTexCoord1xvOES = extern(C) void function(GLenum texture, const GLfixed* coords) @system @nogc nothrow;
24156     /// Ditto
24157     @OpenGL_Version(OGLIntroducedIn.Unknown)
24158     @OpenGL_Extension("GL_OES_fixed_point")
24159     fn_glMultiTexCoord1xvOES glMultiTexCoord1xvOES;
24160     alias fn_glMultiTexCoord2bOES = extern(C) void function(GLenum texture, GLbyte s, GLbyte t) @system @nogc nothrow;
24161     /// Ditto
24162     @OpenGL_Version(OGLIntroducedIn.Unknown)
24163     @OpenGL_Extension("GL_OES_byte_coordinates")
24164     fn_glMultiTexCoord2bOES glMultiTexCoord2bOES;
24165     alias fn_glMultiTexCoord2bvOES = extern(C) void function(GLenum texture, const GLbyte* coords) @system @nogc nothrow;
24166     /// Ditto
24167     @OpenGL_Version(OGLIntroducedIn.Unknown)
24168     @OpenGL_Extension("GL_OES_byte_coordinates")
24169     fn_glMultiTexCoord2bvOES glMultiTexCoord2bvOES;
24170     alias fn_glMultiTexCoord2d = extern(C) void function(GLenum target, GLdouble s, GLdouble t) @system @nogc nothrow;
24171     /// Ditto
24172     @OpenGL_Version(OGLIntroducedIn.V1P3)
24173     fn_glMultiTexCoord2d glMultiTexCoord2d;
24174     alias fn_glMultiTexCoord2dARB = extern(C) void function(GLenum target, GLdouble s, GLdouble t) @system @nogc nothrow;
24175     /// Ditto
24176     @OpenGL_Version(OGLIntroducedIn.Unknown)
24177     @OpenGL_Extension("GL_ARB_multitexture")
24178     fn_glMultiTexCoord2dARB glMultiTexCoord2dARB;
24179     alias fn_glMultiTexCoord2dv = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24180     /// Ditto
24181     @OpenGL_Version(OGLIntroducedIn.V1P3)
24182     fn_glMultiTexCoord2dv glMultiTexCoord2dv;
24183     alias fn_glMultiTexCoord2dvARB = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24184     /// Ditto
24185     @OpenGL_Version(OGLIntroducedIn.Unknown)
24186     @OpenGL_Extension("GL_ARB_multitexture")
24187     fn_glMultiTexCoord2dvARB glMultiTexCoord2dvARB;
24188     alias fn_glMultiTexCoord2f = extern(C) void function(GLenum target, GLfloat s, GLfloat t) @system @nogc nothrow;
24189     /// Ditto
24190     @OpenGL_Version(OGLIntroducedIn.V1P3)
24191     fn_glMultiTexCoord2f glMultiTexCoord2f;
24192     alias fn_glMultiTexCoord2fARB = extern(C) void function(GLenum target, GLfloat s, GLfloat t) @system @nogc nothrow;
24193     /// Ditto
24194     @OpenGL_Version(OGLIntroducedIn.Unknown)
24195     @OpenGL_Extension("GL_ARB_multitexture")
24196     fn_glMultiTexCoord2fARB glMultiTexCoord2fARB;
24197     alias fn_glMultiTexCoord2fv = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24198     /// Ditto
24199     @OpenGL_Version(OGLIntroducedIn.V1P3)
24200     fn_glMultiTexCoord2fv glMultiTexCoord2fv;
24201     alias fn_glMultiTexCoord2fvARB = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24202     /// Ditto
24203     @OpenGL_Version(OGLIntroducedIn.Unknown)
24204     @OpenGL_Extension("GL_ARB_multitexture")
24205     fn_glMultiTexCoord2fvARB glMultiTexCoord2fvARB;
24206     alias fn_glMultiTexCoord2hNV = extern(C) void function(GLenum target, GLhalfNV s, GLhalfNV t) @system @nogc nothrow;
24207     /// Ditto
24208     @OpenGL_Version(OGLIntroducedIn.Unknown)
24209     @OpenGL_Extension("GL_NV_half_float")
24210     fn_glMultiTexCoord2hNV glMultiTexCoord2hNV;
24211     alias fn_glMultiTexCoord2hvNV = extern(C) void function(GLenum target, const GLhalfNV* v) @system @nogc nothrow;
24212     /// Ditto
24213     @OpenGL_Version(OGLIntroducedIn.Unknown)
24214     @OpenGL_Extension("GL_NV_half_float")
24215     fn_glMultiTexCoord2hvNV glMultiTexCoord2hvNV;
24216     alias fn_glMultiTexCoord2i = extern(C) void function(GLenum target, GLint s, GLint t) @system @nogc nothrow;
24217     /// Ditto
24218     @OpenGL_Version(OGLIntroducedIn.V1P3)
24219     fn_glMultiTexCoord2i glMultiTexCoord2i;
24220     alias fn_glMultiTexCoord2iARB = extern(C) void function(GLenum target, GLint s, GLint t) @system @nogc nothrow;
24221     /// Ditto
24222     @OpenGL_Version(OGLIntroducedIn.Unknown)
24223     @OpenGL_Extension("GL_ARB_multitexture")
24224     fn_glMultiTexCoord2iARB glMultiTexCoord2iARB;
24225     alias fn_glMultiTexCoord2iv = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24226     /// Ditto
24227     @OpenGL_Version(OGLIntroducedIn.V1P3)
24228     fn_glMultiTexCoord2iv glMultiTexCoord2iv;
24229     alias fn_glMultiTexCoord2ivARB = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24230     /// Ditto
24231     @OpenGL_Version(OGLIntroducedIn.Unknown)
24232     @OpenGL_Extension("GL_ARB_multitexture")
24233     fn_glMultiTexCoord2ivARB glMultiTexCoord2ivARB;
24234     alias fn_glMultiTexCoord2s = extern(C) void function(GLenum target, GLshort s, GLshort t) @system @nogc nothrow;
24235     /// Ditto
24236     @OpenGL_Version(OGLIntroducedIn.V1P3)
24237     fn_glMultiTexCoord2s glMultiTexCoord2s;
24238     alias fn_glMultiTexCoord2sARB = extern(C) void function(GLenum target, GLshort s, GLshort t) @system @nogc nothrow;
24239     /// Ditto
24240     @OpenGL_Version(OGLIntroducedIn.Unknown)
24241     @OpenGL_Extension("GL_ARB_multitexture")
24242     fn_glMultiTexCoord2sARB glMultiTexCoord2sARB;
24243     alias fn_glMultiTexCoord2sv = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24244     /// Ditto
24245     @OpenGL_Version(OGLIntroducedIn.V1P3)
24246     fn_glMultiTexCoord2sv glMultiTexCoord2sv;
24247     alias fn_glMultiTexCoord2svARB = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24248     /// Ditto
24249     @OpenGL_Version(OGLIntroducedIn.Unknown)
24250     @OpenGL_Extension("GL_ARB_multitexture")
24251     fn_glMultiTexCoord2svARB glMultiTexCoord2svARB;
24252     alias fn_glMultiTexCoord2xOES = extern(C) void function(GLenum texture, GLfixed s, GLfixed t) @system @nogc nothrow;
24253     /// Ditto
24254     @OpenGL_Version(OGLIntroducedIn.Unknown)
24255     @OpenGL_Extension("GL_OES_fixed_point")
24256     fn_glMultiTexCoord2xOES glMultiTexCoord2xOES;
24257     alias fn_glMultiTexCoord2xvOES = extern(C) void function(GLenum texture, const GLfixed* coords) @system @nogc nothrow;
24258     /// Ditto
24259     @OpenGL_Version(OGLIntroducedIn.Unknown)
24260     @OpenGL_Extension("GL_OES_fixed_point")
24261     fn_glMultiTexCoord2xvOES glMultiTexCoord2xvOES;
24262     alias fn_glMultiTexCoord3bOES = extern(C) void function(GLenum texture, GLbyte s, GLbyte t, GLbyte r) @system @nogc nothrow;
24263     /// Ditto
24264     @OpenGL_Version(OGLIntroducedIn.Unknown)
24265     @OpenGL_Extension("GL_OES_byte_coordinates")
24266     fn_glMultiTexCoord3bOES glMultiTexCoord3bOES;
24267     alias fn_glMultiTexCoord3bvOES = extern(C) void function(GLenum texture, const GLbyte* coords) @system @nogc nothrow;
24268     /// Ditto
24269     @OpenGL_Version(OGLIntroducedIn.Unknown)
24270     @OpenGL_Extension("GL_OES_byte_coordinates")
24271     fn_glMultiTexCoord3bvOES glMultiTexCoord3bvOES;
24272     alias fn_glMultiTexCoord3d = extern(C) void function(GLenum target, GLdouble s, GLdouble t, GLdouble r) @system @nogc nothrow;
24273     /// Ditto
24274     @OpenGL_Version(OGLIntroducedIn.V1P3)
24275     fn_glMultiTexCoord3d glMultiTexCoord3d;
24276     alias fn_glMultiTexCoord3dARB = extern(C) void function(GLenum target, GLdouble s, GLdouble t, GLdouble r) @system @nogc nothrow;
24277     /// Ditto
24278     @OpenGL_Version(OGLIntroducedIn.Unknown)
24279     @OpenGL_Extension("GL_ARB_multitexture")
24280     fn_glMultiTexCoord3dARB glMultiTexCoord3dARB;
24281     alias fn_glMultiTexCoord3dv = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24282     /// Ditto
24283     @OpenGL_Version(OGLIntroducedIn.V1P3)
24284     fn_glMultiTexCoord3dv glMultiTexCoord3dv;
24285     alias fn_glMultiTexCoord3dvARB = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24286     /// Ditto
24287     @OpenGL_Version(OGLIntroducedIn.Unknown)
24288     @OpenGL_Extension("GL_ARB_multitexture")
24289     fn_glMultiTexCoord3dvARB glMultiTexCoord3dvARB;
24290     alias fn_glMultiTexCoord3f = extern(C) void function(GLenum target, GLfloat s, GLfloat t, GLfloat r) @system @nogc nothrow;
24291     /// Ditto
24292     @OpenGL_Version(OGLIntroducedIn.V1P3)
24293     fn_glMultiTexCoord3f glMultiTexCoord3f;
24294     alias fn_glMultiTexCoord3fARB = extern(C) void function(GLenum target, GLfloat s, GLfloat t, GLfloat r) @system @nogc nothrow;
24295     /// Ditto
24296     @OpenGL_Version(OGLIntroducedIn.Unknown)
24297     @OpenGL_Extension("GL_ARB_multitexture")
24298     fn_glMultiTexCoord3fARB glMultiTexCoord3fARB;
24299     alias fn_glMultiTexCoord3fv = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24300     /// Ditto
24301     @OpenGL_Version(OGLIntroducedIn.V1P3)
24302     fn_glMultiTexCoord3fv glMultiTexCoord3fv;
24303     alias fn_glMultiTexCoord3fvARB = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24304     /// Ditto
24305     @OpenGL_Version(OGLIntroducedIn.Unknown)
24306     @OpenGL_Extension("GL_ARB_multitexture")
24307     fn_glMultiTexCoord3fvARB glMultiTexCoord3fvARB;
24308     alias fn_glMultiTexCoord3hNV = extern(C) void function(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r) @system @nogc nothrow;
24309     /// Ditto
24310     @OpenGL_Version(OGLIntroducedIn.Unknown)
24311     @OpenGL_Extension("GL_NV_half_float")
24312     fn_glMultiTexCoord3hNV glMultiTexCoord3hNV;
24313     alias fn_glMultiTexCoord3hvNV = extern(C) void function(GLenum target, const GLhalfNV* v) @system @nogc nothrow;
24314     /// Ditto
24315     @OpenGL_Version(OGLIntroducedIn.Unknown)
24316     @OpenGL_Extension("GL_NV_half_float")
24317     fn_glMultiTexCoord3hvNV glMultiTexCoord3hvNV;
24318     alias fn_glMultiTexCoord3i = extern(C) void function(GLenum target, GLint s, GLint t, GLint r) @system @nogc nothrow;
24319     /// Ditto
24320     @OpenGL_Version(OGLIntroducedIn.V1P3)
24321     fn_glMultiTexCoord3i glMultiTexCoord3i;
24322     alias fn_glMultiTexCoord3iARB = extern(C) void function(GLenum target, GLint s, GLint t, GLint r) @system @nogc nothrow;
24323     /// Ditto
24324     @OpenGL_Version(OGLIntroducedIn.Unknown)
24325     @OpenGL_Extension("GL_ARB_multitexture")
24326     fn_glMultiTexCoord3iARB glMultiTexCoord3iARB;
24327     alias fn_glMultiTexCoord3iv = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24328     /// Ditto
24329     @OpenGL_Version(OGLIntroducedIn.V1P3)
24330     fn_glMultiTexCoord3iv glMultiTexCoord3iv;
24331     alias fn_glMultiTexCoord3ivARB = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24332     /// Ditto
24333     @OpenGL_Version(OGLIntroducedIn.Unknown)
24334     @OpenGL_Extension("GL_ARB_multitexture")
24335     fn_glMultiTexCoord3ivARB glMultiTexCoord3ivARB;
24336     alias fn_glMultiTexCoord3s = extern(C) void function(GLenum target, GLshort s, GLshort t, GLshort r) @system @nogc nothrow;
24337     /// Ditto
24338     @OpenGL_Version(OGLIntroducedIn.V1P3)
24339     fn_glMultiTexCoord3s glMultiTexCoord3s;
24340     alias fn_glMultiTexCoord3sARB = extern(C) void function(GLenum target, GLshort s, GLshort t, GLshort r) @system @nogc nothrow;
24341     /// Ditto
24342     @OpenGL_Version(OGLIntroducedIn.Unknown)
24343     @OpenGL_Extension("GL_ARB_multitexture")
24344     fn_glMultiTexCoord3sARB glMultiTexCoord3sARB;
24345     alias fn_glMultiTexCoord3sv = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24346     /// Ditto
24347     @OpenGL_Version(OGLIntroducedIn.V1P3)
24348     fn_glMultiTexCoord3sv glMultiTexCoord3sv;
24349     alias fn_glMultiTexCoord3svARB = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24350     /// Ditto
24351     @OpenGL_Version(OGLIntroducedIn.Unknown)
24352     @OpenGL_Extension("GL_ARB_multitexture")
24353     fn_glMultiTexCoord3svARB glMultiTexCoord3svARB;
24354     alias fn_glMultiTexCoord3xOES = extern(C) void function(GLenum texture, GLfixed s, GLfixed t, GLfixed r) @system @nogc nothrow;
24355     /// Ditto
24356     @OpenGL_Version(OGLIntroducedIn.Unknown)
24357     @OpenGL_Extension("GL_OES_fixed_point")
24358     fn_glMultiTexCoord3xOES glMultiTexCoord3xOES;
24359     alias fn_glMultiTexCoord3xvOES = extern(C) void function(GLenum texture, const GLfixed* coords) @system @nogc nothrow;
24360     /// Ditto
24361     @OpenGL_Version(OGLIntroducedIn.Unknown)
24362     @OpenGL_Extension("GL_OES_fixed_point")
24363     fn_glMultiTexCoord3xvOES glMultiTexCoord3xvOES;
24364     alias fn_glMultiTexCoord4bOES = extern(C) void function(GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q) @system @nogc nothrow;
24365     /// Ditto
24366     @OpenGL_Version(OGLIntroducedIn.Unknown)
24367     @OpenGL_Extension("GL_OES_byte_coordinates")
24368     fn_glMultiTexCoord4bOES glMultiTexCoord4bOES;
24369     alias fn_glMultiTexCoord4bvOES = extern(C) void function(GLenum texture, const GLbyte* coords) @system @nogc nothrow;
24370     /// Ditto
24371     @OpenGL_Version(OGLIntroducedIn.Unknown)
24372     @OpenGL_Extension("GL_OES_byte_coordinates")
24373     fn_glMultiTexCoord4bvOES glMultiTexCoord4bvOES;
24374     alias fn_glMultiTexCoord4d = extern(C) void function(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) @system @nogc nothrow;
24375     /// Ditto
24376     @OpenGL_Version(OGLIntroducedIn.V1P3)
24377     fn_glMultiTexCoord4d glMultiTexCoord4d;
24378     alias fn_glMultiTexCoord4dARB = extern(C) void function(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) @system @nogc nothrow;
24379     /// Ditto
24380     @OpenGL_Version(OGLIntroducedIn.Unknown)
24381     @OpenGL_Extension("GL_ARB_multitexture")
24382     fn_glMultiTexCoord4dARB glMultiTexCoord4dARB;
24383     alias fn_glMultiTexCoord4dv = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24384     /// Ditto
24385     @OpenGL_Version(OGLIntroducedIn.V1P3)
24386     fn_glMultiTexCoord4dv glMultiTexCoord4dv;
24387     alias fn_glMultiTexCoord4dvARB = extern(C) void function(GLenum target, const GLdouble* v) @system @nogc nothrow;
24388     /// Ditto
24389     @OpenGL_Version(OGLIntroducedIn.Unknown)
24390     @OpenGL_Extension("GL_ARB_multitexture")
24391     fn_glMultiTexCoord4dvARB glMultiTexCoord4dvARB;
24392     alias fn_glMultiTexCoord4f = extern(C) void function(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) @system @nogc nothrow;
24393     /// Ditto
24394     @OpenGL_Version(OGLIntroducedIn.V1P3)
24395     fn_glMultiTexCoord4f glMultiTexCoord4f;
24396     alias fn_glMultiTexCoord4fARB = extern(C) void function(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) @system @nogc nothrow;
24397     /// Ditto
24398     @OpenGL_Version(OGLIntroducedIn.Unknown)
24399     @OpenGL_Extension("GL_ARB_multitexture")
24400     fn_glMultiTexCoord4fARB glMultiTexCoord4fARB;
24401     alias fn_glMultiTexCoord4fv = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24402     /// Ditto
24403     @OpenGL_Version(OGLIntroducedIn.V1P3)
24404     fn_glMultiTexCoord4fv glMultiTexCoord4fv;
24405     alias fn_glMultiTexCoord4fvARB = extern(C) void function(GLenum target, const GLfloat* v) @system @nogc nothrow;
24406     /// Ditto
24407     @OpenGL_Version(OGLIntroducedIn.Unknown)
24408     @OpenGL_Extension("GL_ARB_multitexture")
24409     fn_glMultiTexCoord4fvARB glMultiTexCoord4fvARB;
24410     alias fn_glMultiTexCoord4hNV = extern(C) void function(GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) @system @nogc nothrow;
24411     /// Ditto
24412     @OpenGL_Version(OGLIntroducedIn.Unknown)
24413     @OpenGL_Extension("GL_NV_half_float")
24414     fn_glMultiTexCoord4hNV glMultiTexCoord4hNV;
24415     alias fn_glMultiTexCoord4hvNV = extern(C) void function(GLenum target, const GLhalfNV* v) @system @nogc nothrow;
24416     /// Ditto
24417     @OpenGL_Version(OGLIntroducedIn.Unknown)
24418     @OpenGL_Extension("GL_NV_half_float")
24419     fn_glMultiTexCoord4hvNV glMultiTexCoord4hvNV;
24420     alias fn_glMultiTexCoord4i = extern(C) void function(GLenum target, GLint s, GLint t, GLint r, GLint q) @system @nogc nothrow;
24421     /// Ditto
24422     @OpenGL_Version(OGLIntroducedIn.V1P3)
24423     fn_glMultiTexCoord4i glMultiTexCoord4i;
24424     alias fn_glMultiTexCoord4iARB = extern(C) void function(GLenum target, GLint s, GLint t, GLint r, GLint q) @system @nogc nothrow;
24425     /// Ditto
24426     @OpenGL_Version(OGLIntroducedIn.Unknown)
24427     @OpenGL_Extension("GL_ARB_multitexture")
24428     fn_glMultiTexCoord4iARB glMultiTexCoord4iARB;
24429     alias fn_glMultiTexCoord4iv = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24430     /// Ditto
24431     @OpenGL_Version(OGLIntroducedIn.V1P3)
24432     fn_glMultiTexCoord4iv glMultiTexCoord4iv;
24433     alias fn_glMultiTexCoord4ivARB = extern(C) void function(GLenum target, const GLint* v) @system @nogc nothrow;
24434     /// Ditto
24435     @OpenGL_Version(OGLIntroducedIn.Unknown)
24436     @OpenGL_Extension("GL_ARB_multitexture")
24437     fn_glMultiTexCoord4ivARB glMultiTexCoord4ivARB;
24438     alias fn_glMultiTexCoord4s = extern(C) void function(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) @system @nogc nothrow;
24439     /// Ditto
24440     @OpenGL_Version(OGLIntroducedIn.V1P3)
24441     fn_glMultiTexCoord4s glMultiTexCoord4s;
24442     alias fn_glMultiTexCoord4sARB = extern(C) void function(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) @system @nogc nothrow;
24443     /// Ditto
24444     @OpenGL_Version(OGLIntroducedIn.Unknown)
24445     @OpenGL_Extension("GL_ARB_multitexture")
24446     fn_glMultiTexCoord4sARB glMultiTexCoord4sARB;
24447     alias fn_glMultiTexCoord4sv = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24448     /// Ditto
24449     @OpenGL_Version(OGLIntroducedIn.V1P3)
24450     fn_glMultiTexCoord4sv glMultiTexCoord4sv;
24451     alias fn_glMultiTexCoord4svARB = extern(C) void function(GLenum target, const GLshort* v) @system @nogc nothrow;
24452     /// Ditto
24453     @OpenGL_Version(OGLIntroducedIn.Unknown)
24454     @OpenGL_Extension("GL_ARB_multitexture")
24455     fn_glMultiTexCoord4svARB glMultiTexCoord4svARB;
24456     alias fn_glMultiTexCoord4x = extern(C) void function(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) @system @nogc nothrow;
24457     /// Ditto
24458     @OpenGL_Version(OGLIntroducedIn.Unknown)
24459     fn_glMultiTexCoord4x glMultiTexCoord4x;
24460     alias fn_glMultiTexCoord4xOES = extern(C) void function(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) @system @nogc nothrow;
24461     /// Ditto
24462     @OpenGL_Version(OGLIntroducedIn.Unknown)
24463     @OpenGL_Extension("GL_OES_fixed_point")
24464     fn_glMultiTexCoord4xOES glMultiTexCoord4xOES;
24465     alias fn_glMultiTexCoord4xvOES = extern(C) void function(GLenum texture, const GLfixed* coords) @system @nogc nothrow;
24466     /// Ditto
24467     @OpenGL_Version(OGLIntroducedIn.Unknown)
24468     @OpenGL_Extension("GL_OES_fixed_point")
24469     fn_glMultiTexCoord4xvOES glMultiTexCoord4xvOES;
24470     alias fn_glMultiTexCoordP1ui = extern(C) void function(GLenum texture, GLenum type, GLuint coords) @system @nogc nothrow;
24471     /// Ditto
24472     @OpenGL_Version(OGLIntroducedIn.V3P3)
24473     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24474     fn_glMultiTexCoordP1ui glMultiTexCoordP1ui;
24475     alias fn_glMultiTexCoordP1uiv = extern(C) void function(GLenum texture, GLenum type, const GLuint* coords) @system @nogc nothrow;
24476     /// Ditto
24477     @OpenGL_Version(OGLIntroducedIn.V3P3)
24478     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24479     fn_glMultiTexCoordP1uiv glMultiTexCoordP1uiv;
24480     alias fn_glMultiTexCoordP2ui = extern(C) void function(GLenum texture, GLenum type, GLuint coords) @system @nogc nothrow;
24481     /// Ditto
24482     @OpenGL_Version(OGLIntroducedIn.V3P3)
24483     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24484     fn_glMultiTexCoordP2ui glMultiTexCoordP2ui;
24485     alias fn_glMultiTexCoordP2uiv = extern(C) void function(GLenum texture, GLenum type, const GLuint* coords) @system @nogc nothrow;
24486     /// Ditto
24487     @OpenGL_Version(OGLIntroducedIn.V3P3)
24488     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24489     fn_glMultiTexCoordP2uiv glMultiTexCoordP2uiv;
24490     alias fn_glMultiTexCoordP3ui = extern(C) void function(GLenum texture, GLenum type, GLuint coords) @system @nogc nothrow;
24491     /// Ditto
24492     @OpenGL_Version(OGLIntroducedIn.V3P3)
24493     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24494     fn_glMultiTexCoordP3ui glMultiTexCoordP3ui;
24495     alias fn_glMultiTexCoordP3uiv = extern(C) void function(GLenum texture, GLenum type, const GLuint* coords) @system @nogc nothrow;
24496     /// Ditto
24497     @OpenGL_Version(OGLIntroducedIn.V3P3)
24498     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24499     fn_glMultiTexCoordP3uiv glMultiTexCoordP3uiv;
24500     alias fn_glMultiTexCoordP4ui = extern(C) void function(GLenum texture, GLenum type, GLuint coords) @system @nogc nothrow;
24501     /// Ditto
24502     @OpenGL_Version(OGLIntroducedIn.V3P3)
24503     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24504     fn_glMultiTexCoordP4ui glMultiTexCoordP4ui;
24505     alias fn_glMultiTexCoordP4uiv = extern(C) void function(GLenum texture, GLenum type, const GLuint* coords) @system @nogc nothrow;
24506     /// Ditto
24507     @OpenGL_Version(OGLIntroducedIn.V3P3)
24508     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24509     fn_glMultiTexCoordP4uiv glMultiTexCoordP4uiv;
24510     alias fn_glMultiTexCoordPointerEXT = extern(C) void function(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
24511     /// Ditto
24512     @OpenGL_Version(OGLIntroducedIn.Unknown)
24513     @OpenGL_Extension("GL_EXT_direct_state_access")
24514     fn_glMultiTexCoordPointerEXT glMultiTexCoordPointerEXT;
24515     alias fn_glMultiTexEnvfEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
24516     /// Ditto
24517     @OpenGL_Version(OGLIntroducedIn.Unknown)
24518     @OpenGL_Extension("GL_EXT_direct_state_access")
24519     fn_glMultiTexEnvfEXT glMultiTexEnvfEXT;
24520     alias fn_glMultiTexEnvfvEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
24521     /// Ditto
24522     @OpenGL_Version(OGLIntroducedIn.Unknown)
24523     @OpenGL_Extension("GL_EXT_direct_state_access")
24524     fn_glMultiTexEnvfvEXT glMultiTexEnvfvEXT;
24525     alias fn_glMultiTexEnviEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
24526     /// Ditto
24527     @OpenGL_Version(OGLIntroducedIn.Unknown)
24528     @OpenGL_Extension("GL_EXT_direct_state_access")
24529     fn_glMultiTexEnviEXT glMultiTexEnviEXT;
24530     alias fn_glMultiTexEnvivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
24531     /// Ditto
24532     @OpenGL_Version(OGLIntroducedIn.Unknown)
24533     @OpenGL_Extension("GL_EXT_direct_state_access")
24534     fn_glMultiTexEnvivEXT glMultiTexEnvivEXT;
24535     alias fn_glMultiTexGendEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, GLdouble param) @system @nogc nothrow;
24536     /// Ditto
24537     @OpenGL_Version(OGLIntroducedIn.Unknown)
24538     @OpenGL_Extension("GL_EXT_direct_state_access")
24539     fn_glMultiTexGendEXT glMultiTexGendEXT;
24540     alias fn_glMultiTexGendvEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params) @system @nogc nothrow;
24541     /// Ditto
24542     @OpenGL_Version(OGLIntroducedIn.Unknown)
24543     @OpenGL_Extension("GL_EXT_direct_state_access")
24544     fn_glMultiTexGendvEXT glMultiTexGendvEXT;
24545     alias fn_glMultiTexGenfEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, GLfloat param) @system @nogc nothrow;
24546     /// Ditto
24547     @OpenGL_Version(OGLIntroducedIn.Unknown)
24548     @OpenGL_Extension("GL_EXT_direct_state_access")
24549     fn_glMultiTexGenfEXT glMultiTexGenfEXT;
24550     alias fn_glMultiTexGenfvEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params) @system @nogc nothrow;
24551     /// Ditto
24552     @OpenGL_Version(OGLIntroducedIn.Unknown)
24553     @OpenGL_Extension("GL_EXT_direct_state_access")
24554     fn_glMultiTexGenfvEXT glMultiTexGenfvEXT;
24555     alias fn_glMultiTexGeniEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, GLint param) @system @nogc nothrow;
24556     /// Ditto
24557     @OpenGL_Version(OGLIntroducedIn.Unknown)
24558     @OpenGL_Extension("GL_EXT_direct_state_access")
24559     fn_glMultiTexGeniEXT glMultiTexGeniEXT;
24560     alias fn_glMultiTexGenivEXT = extern(C) void function(GLenum texunit, GLenum coord, GLenum pname, const GLint* params) @system @nogc nothrow;
24561     /// Ditto
24562     @OpenGL_Version(OGLIntroducedIn.Unknown)
24563     @OpenGL_Extension("GL_EXT_direct_state_access")
24564     fn_glMultiTexGenivEXT glMultiTexGenivEXT;
24565     alias fn_glMultiTexImage1DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
24566     /// Ditto
24567     @OpenGL_Version(OGLIntroducedIn.Unknown)
24568     @OpenGL_Extension("GL_EXT_direct_state_access")
24569     fn_glMultiTexImage1DEXT glMultiTexImage1DEXT;
24570     alias fn_glMultiTexImage2DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
24571     /// Ditto
24572     @OpenGL_Version(OGLIntroducedIn.Unknown)
24573     @OpenGL_Extension("GL_EXT_direct_state_access")
24574     fn_glMultiTexImage2DEXT glMultiTexImage2DEXT;
24575     alias fn_glMultiTexImage3DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
24576     /// Ditto
24577     @OpenGL_Version(OGLIntroducedIn.Unknown)
24578     @OpenGL_Extension("GL_EXT_direct_state_access")
24579     fn_glMultiTexImage3DEXT glMultiTexImage3DEXT;
24580     alias fn_glMultiTexParameterIivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
24581     /// Ditto
24582     @OpenGL_Version(OGLIntroducedIn.Unknown)
24583     @OpenGL_Extension("GL_EXT_direct_state_access")
24584     fn_glMultiTexParameterIivEXT glMultiTexParameterIivEXT;
24585     alias fn_glMultiTexParameterIuivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, const GLuint* params) @system @nogc nothrow;
24586     /// Ditto
24587     @OpenGL_Version(OGLIntroducedIn.Unknown)
24588     @OpenGL_Extension("GL_EXT_direct_state_access")
24589     fn_glMultiTexParameterIuivEXT glMultiTexParameterIuivEXT;
24590     alias fn_glMultiTexParameterfEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
24591     /// Ditto
24592     @OpenGL_Version(OGLIntroducedIn.Unknown)
24593     @OpenGL_Extension("GL_EXT_direct_state_access")
24594     fn_glMultiTexParameterfEXT glMultiTexParameterfEXT;
24595     alias fn_glMultiTexParameterfvEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
24596     /// Ditto
24597     @OpenGL_Version(OGLIntroducedIn.Unknown)
24598     @OpenGL_Extension("GL_EXT_direct_state_access")
24599     fn_glMultiTexParameterfvEXT glMultiTexParameterfvEXT;
24600     alias fn_glMultiTexParameteriEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
24601     /// Ditto
24602     @OpenGL_Version(OGLIntroducedIn.Unknown)
24603     @OpenGL_Extension("GL_EXT_direct_state_access")
24604     fn_glMultiTexParameteriEXT glMultiTexParameteriEXT;
24605     alias fn_glMultiTexParameterivEXT = extern(C) void function(GLenum texunit, GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
24606     /// Ditto
24607     @OpenGL_Version(OGLIntroducedIn.Unknown)
24608     @OpenGL_Extension("GL_EXT_direct_state_access")
24609     fn_glMultiTexParameterivEXT glMultiTexParameterivEXT;
24610     alias fn_glMultiTexRenderbufferEXT = extern(C) void function(GLenum texunit, GLenum target, GLuint renderbuffer) @system @nogc nothrow;
24611     /// Ditto
24612     @OpenGL_Version(OGLIntroducedIn.Unknown)
24613     @OpenGL_Extension("GL_EXT_direct_state_access")
24614     fn_glMultiTexRenderbufferEXT glMultiTexRenderbufferEXT;
24615     alias fn_glMultiTexSubImage1DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
24616     /// Ditto
24617     @OpenGL_Version(OGLIntroducedIn.Unknown)
24618     @OpenGL_Extension("GL_EXT_direct_state_access")
24619     fn_glMultiTexSubImage1DEXT glMultiTexSubImage1DEXT;
24620     alias fn_glMultiTexSubImage2DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
24621     /// Ditto
24622     @OpenGL_Version(OGLIntroducedIn.Unknown)
24623     @OpenGL_Extension("GL_EXT_direct_state_access")
24624     fn_glMultiTexSubImage2DEXT glMultiTexSubImage2DEXT;
24625     alias fn_glMultiTexSubImage3DEXT = extern(C) void function(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
24626     /// Ditto
24627     @OpenGL_Version(OGLIntroducedIn.Unknown)
24628     @OpenGL_Extension("GL_EXT_direct_state_access")
24629     fn_glMultiTexSubImage3DEXT glMultiTexSubImage3DEXT;
24630     alias fn_glNamedBufferDataEXT = extern(C) void function(GLuint buffer, GLsizeiptr size, const void* data, GLenum usage) @system @nogc nothrow;
24631     /// Ditto
24632     @OpenGL_Version(OGLIntroducedIn.Unknown)
24633     @OpenGL_Extension("GL_EXT_direct_state_access")
24634     fn_glNamedBufferDataEXT glNamedBufferDataEXT;
24635     alias fn_glNamedBufferPageCommitmentARB = extern(C) void function(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit) @system @nogc nothrow;
24636     /// Ditto
24637     @OpenGL_Version(OGLIntroducedIn.Unknown)
24638     @OpenGL_Extension("GL_ARB_sparse_buffer")
24639     fn_glNamedBufferPageCommitmentARB glNamedBufferPageCommitmentARB;
24640     alias fn_glNamedBufferPageCommitmentEXT = extern(C) void function(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit) @system @nogc nothrow;
24641     /// Ditto
24642     @OpenGL_Version(OGLIntroducedIn.Unknown)
24643     @OpenGL_Extension("GL_ARB_sparse_buffer")
24644     fn_glNamedBufferPageCommitmentEXT glNamedBufferPageCommitmentEXT;
24645     alias fn_glNamedBufferStorageEXT = extern(C) void function(GLuint buffer, GLsizeiptr size, const void* data, GLbitfield flags) @system @nogc nothrow;
24646     /// Ditto
24647     @OpenGL_Version(OGLIntroducedIn.Unknown)
24648     @OpenGL_Extension("GL_EXT_direct_state_access")
24649     fn_glNamedBufferStorageEXT glNamedBufferStorageEXT;
24650     alias fn_glNamedBufferSubDataEXT = extern(C) void function(GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data) @system @nogc nothrow;
24651     /// Ditto
24652     @OpenGL_Version(OGLIntroducedIn.Unknown)
24653     @OpenGL_Extension("GL_EXT_direct_state_access")
24654     fn_glNamedBufferSubDataEXT glNamedBufferSubDataEXT;
24655     alias fn_glNamedCopyBufferSubDataEXT = extern(C) void function(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) @system @nogc nothrow;
24656     /// Ditto
24657     @OpenGL_Version(OGLIntroducedIn.Unknown)
24658     @OpenGL_Extension("GL_EXT_direct_state_access")
24659     fn_glNamedCopyBufferSubDataEXT glNamedCopyBufferSubDataEXT;
24660     alias fn_glNamedFramebufferParameteriEXT = extern(C) void function(GLuint framebuffer, GLenum pname, GLint param) @system @nogc nothrow;
24661     /// Ditto
24662     @OpenGL_Version(OGLIntroducedIn.Unknown)
24663     @OpenGL_Extension("GL_EXT_direct_state_access")
24664     fn_glNamedFramebufferParameteriEXT glNamedFramebufferParameteriEXT;
24665     alias fn_glNamedFramebufferRenderbufferEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) @system @nogc nothrow;
24666     /// Ditto
24667     @OpenGL_Version(OGLIntroducedIn.Unknown)
24668     @OpenGL_Extension("GL_EXT_direct_state_access")
24669     fn_glNamedFramebufferRenderbufferEXT glNamedFramebufferRenderbufferEXT;
24670     alias fn_glNamedFramebufferSampleLocationsfvARB = extern(C) void function(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v) @system @nogc nothrow;
24671     /// Ditto
24672     @OpenGL_Version(OGLIntroducedIn.Unknown)
24673     @OpenGL_Extension("GL_ARB_sample_locations")
24674     fn_glNamedFramebufferSampleLocationsfvARB glNamedFramebufferSampleLocationsfvARB;
24675     alias fn_glNamedFramebufferSampleLocationsfvNV = extern(C) void function(GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v) @system @nogc nothrow;
24676     /// Ditto
24677     @OpenGL_Version(OGLIntroducedIn.Unknown)
24678     @OpenGL_Extension("GL_NV_sample_locations")
24679     fn_glNamedFramebufferSampleLocationsfvNV glNamedFramebufferSampleLocationsfvNV;
24680     alias fn_glNamedFramebufferTexture1DEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
24681     /// Ditto
24682     @OpenGL_Version(OGLIntroducedIn.Unknown)
24683     @OpenGL_Extension("GL_EXT_direct_state_access")
24684     fn_glNamedFramebufferTexture1DEXT glNamedFramebufferTexture1DEXT;
24685     alias fn_glNamedFramebufferTexture2DEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level) @system @nogc nothrow;
24686     /// Ditto
24687     @OpenGL_Version(OGLIntroducedIn.Unknown)
24688     @OpenGL_Extension("GL_EXT_direct_state_access")
24689     fn_glNamedFramebufferTexture2DEXT glNamedFramebufferTexture2DEXT;
24690     alias fn_glNamedFramebufferTexture3DEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) @system @nogc nothrow;
24691     /// Ditto
24692     @OpenGL_Version(OGLIntroducedIn.Unknown)
24693     @OpenGL_Extension("GL_EXT_direct_state_access")
24694     fn_glNamedFramebufferTexture3DEXT glNamedFramebufferTexture3DEXT;
24695     alias fn_glNamedFramebufferTextureEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) @system @nogc nothrow;
24696     /// Ditto
24697     @OpenGL_Version(OGLIntroducedIn.Unknown)
24698     @OpenGL_Extension("GL_EXT_direct_state_access")
24699     fn_glNamedFramebufferTextureEXT glNamedFramebufferTextureEXT;
24700     alias fn_glNamedFramebufferTextureFaceEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face) @system @nogc nothrow;
24701     /// Ditto
24702     @OpenGL_Version(OGLIntroducedIn.Unknown)
24703     @OpenGL_Extension("GL_EXT_direct_state_access")
24704     fn_glNamedFramebufferTextureFaceEXT glNamedFramebufferTextureFaceEXT;
24705     alias fn_glNamedFramebufferTextureLayerEXT = extern(C) void function(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) @system @nogc nothrow;
24706     /// Ditto
24707     @OpenGL_Version(OGLIntroducedIn.Unknown)
24708     @OpenGL_Extension("GL_EXT_direct_state_access")
24709     fn_glNamedFramebufferTextureLayerEXT glNamedFramebufferTextureLayerEXT;
24710     alias fn_glNamedProgramLocalParameter4dEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
24711     /// Ditto
24712     @OpenGL_Version(OGLIntroducedIn.Unknown)
24713     @OpenGL_Extension("GL_EXT_direct_state_access")
24714     fn_glNamedProgramLocalParameter4dEXT glNamedProgramLocalParameter4dEXT;
24715     alias fn_glNamedProgramLocalParameter4dvEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, const GLdouble* params) @system @nogc nothrow;
24716     /// Ditto
24717     @OpenGL_Version(OGLIntroducedIn.Unknown)
24718     @OpenGL_Extension("GL_EXT_direct_state_access")
24719     fn_glNamedProgramLocalParameter4dvEXT glNamedProgramLocalParameter4dvEXT;
24720     alias fn_glNamedProgramLocalParameter4fEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
24721     /// Ditto
24722     @OpenGL_Version(OGLIntroducedIn.Unknown)
24723     @OpenGL_Extension("GL_EXT_direct_state_access")
24724     fn_glNamedProgramLocalParameter4fEXT glNamedProgramLocalParameter4fEXT;
24725     alias fn_glNamedProgramLocalParameter4fvEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, const GLfloat* params) @system @nogc nothrow;
24726     /// Ditto
24727     @OpenGL_Version(OGLIntroducedIn.Unknown)
24728     @OpenGL_Extension("GL_EXT_direct_state_access")
24729     fn_glNamedProgramLocalParameter4fvEXT glNamedProgramLocalParameter4fvEXT;
24730     alias fn_glNamedProgramLocalParameterI4iEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
24731     /// Ditto
24732     @OpenGL_Version(OGLIntroducedIn.Unknown)
24733     @OpenGL_Extension("GL_EXT_direct_state_access")
24734     fn_glNamedProgramLocalParameterI4iEXT glNamedProgramLocalParameterI4iEXT;
24735     alias fn_glNamedProgramLocalParameterI4ivEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, const GLint* params) @system @nogc nothrow;
24736     /// Ditto
24737     @OpenGL_Version(OGLIntroducedIn.Unknown)
24738     @OpenGL_Extension("GL_EXT_direct_state_access")
24739     fn_glNamedProgramLocalParameterI4ivEXT glNamedProgramLocalParameterI4ivEXT;
24740     alias fn_glNamedProgramLocalParameterI4uiEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) @system @nogc nothrow;
24741     /// Ditto
24742     @OpenGL_Version(OGLIntroducedIn.Unknown)
24743     @OpenGL_Extension("GL_EXT_direct_state_access")
24744     fn_glNamedProgramLocalParameterI4uiEXT glNamedProgramLocalParameterI4uiEXT;
24745     alias fn_glNamedProgramLocalParameterI4uivEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, const GLuint* params) @system @nogc nothrow;
24746     /// Ditto
24747     @OpenGL_Version(OGLIntroducedIn.Unknown)
24748     @OpenGL_Extension("GL_EXT_direct_state_access")
24749     fn_glNamedProgramLocalParameterI4uivEXT glNamedProgramLocalParameterI4uivEXT;
24750     alias fn_glNamedProgramLocalParameters4fvEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params) @system @nogc nothrow;
24751     /// Ditto
24752     @OpenGL_Version(OGLIntroducedIn.Unknown)
24753     @OpenGL_Extension("GL_EXT_direct_state_access")
24754     fn_glNamedProgramLocalParameters4fvEXT glNamedProgramLocalParameters4fvEXT;
24755     alias fn_glNamedProgramLocalParametersI4ivEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params) @system @nogc nothrow;
24756     /// Ditto
24757     @OpenGL_Version(OGLIntroducedIn.Unknown)
24758     @OpenGL_Extension("GL_EXT_direct_state_access")
24759     fn_glNamedProgramLocalParametersI4ivEXT glNamedProgramLocalParametersI4ivEXT;
24760     alias fn_glNamedProgramLocalParametersI4uivEXT = extern(C) void function(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params) @system @nogc nothrow;
24761     /// Ditto
24762     @OpenGL_Version(OGLIntroducedIn.Unknown)
24763     @OpenGL_Extension("GL_EXT_direct_state_access")
24764     fn_glNamedProgramLocalParametersI4uivEXT glNamedProgramLocalParametersI4uivEXT;
24765     alias fn_glNamedProgramStringEXT = extern(C) void function(GLuint program, GLenum target, GLenum format, GLsizei len, const void* string) @system @nogc nothrow;
24766     /// Ditto
24767     @OpenGL_Version(OGLIntroducedIn.Unknown)
24768     @OpenGL_Extension("GL_EXT_direct_state_access")
24769     fn_glNamedProgramStringEXT glNamedProgramStringEXT;
24770     alias fn_glNamedRenderbufferStorageEXT = extern(C) void function(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
24771     /// Ditto
24772     @OpenGL_Version(OGLIntroducedIn.Unknown)
24773     @OpenGL_Extension("GL_EXT_direct_state_access")
24774     fn_glNamedRenderbufferStorageEXT glNamedRenderbufferStorageEXT;
24775     alias fn_glNamedRenderbufferStorageMultisampleCoverageEXT = extern(C) void function(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
24776     /// Ditto
24777     @OpenGL_Version(OGLIntroducedIn.Unknown)
24778     @OpenGL_Extension("GL_EXT_direct_state_access")
24779     fn_glNamedRenderbufferStorageMultisampleCoverageEXT glNamedRenderbufferStorageMultisampleCoverageEXT;
24780     alias fn_glNamedRenderbufferStorageMultisampleEXT = extern(C) void function(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
24781     /// Ditto
24782     @OpenGL_Version(OGLIntroducedIn.Unknown)
24783     @OpenGL_Extension("GL_EXT_direct_state_access")
24784     fn_glNamedRenderbufferStorageMultisampleEXT glNamedRenderbufferStorageMultisampleEXT;
24785     alias fn_glNamedStringARB = extern(C) void function(GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar* string) @system @nogc nothrow;
24786     /// Ditto
24787     @OpenGL_Version(OGLIntroducedIn.Unknown)
24788     @OpenGL_Extension("GL_ARB_shading_language_include")
24789     fn_glNamedStringARB glNamedStringARB;
24790     alias fn_glNewList = extern(C) void function(GLuint list, GLenum mode) @system @nogc nothrow;
24791     /// Ditto
24792     @OpenGL_Version(OGLIntroducedIn.V1P0)
24793     fn_glNewList glNewList;
24794     alias fn_glNewObjectBufferATI = extern(C) GLuint function(GLsizei size, const void* pointer, GLenum usage) @system @nogc nothrow;
24795     /// Ditto
24796     @OpenGL_Version(OGLIntroducedIn.Unknown)
24797     @OpenGL_Extension("GL_ATI_vertex_array_object")
24798     fn_glNewObjectBufferATI glNewObjectBufferATI;
24799     alias fn_glNormal3b = extern(C) void function(GLbyte nx, GLbyte ny, GLbyte nz) @system @nogc nothrow;
24800     /// Ditto
24801     @OpenGL_Version(OGLIntroducedIn.V1P0)
24802     fn_glNormal3b glNormal3b;
24803     alias fn_glNormal3bv = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
24804     /// Ditto
24805     @OpenGL_Version(OGLIntroducedIn.V1P0)
24806     fn_glNormal3bv glNormal3bv;
24807     alias fn_glNormal3d = extern(C) void function(GLdouble nx, GLdouble ny, GLdouble nz) @system @nogc nothrow;
24808     /// Ditto
24809     @OpenGL_Version(OGLIntroducedIn.V1P0)
24810     fn_glNormal3d glNormal3d;
24811     alias fn_glNormal3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
24812     /// Ditto
24813     @OpenGL_Version(OGLIntroducedIn.V1P0)
24814     fn_glNormal3dv glNormal3dv;
24815     alias fn_glNormal3f = extern(C) void function(GLfloat nx, GLfloat ny, GLfloat nz) @system @nogc nothrow;
24816     /// Ditto
24817     @OpenGL_Version(OGLIntroducedIn.V1P0)
24818     fn_glNormal3f glNormal3f;
24819     alias fn_glNormal3fVertex3fSUN = extern(C) void function(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
24820     /// Ditto
24821     @OpenGL_Version(OGLIntroducedIn.Unknown)
24822     @OpenGL_Extension("GL_SUN_vertex")
24823     fn_glNormal3fVertex3fSUN glNormal3fVertex3fSUN;
24824     alias fn_glNormal3fVertex3fvSUN = extern(C) void function(const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
24825     /// Ditto
24826     @OpenGL_Version(OGLIntroducedIn.Unknown)
24827     @OpenGL_Extension("GL_SUN_vertex")
24828     fn_glNormal3fVertex3fvSUN glNormal3fVertex3fvSUN;
24829     alias fn_glNormal3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
24830     /// Ditto
24831     @OpenGL_Version(OGLIntroducedIn.V1P0)
24832     fn_glNormal3fv glNormal3fv;
24833     alias fn_glNormal3hNV = extern(C) void function(GLhalfNV nx, GLhalfNV ny, GLhalfNV nz) @system @nogc nothrow;
24834     /// Ditto
24835     @OpenGL_Version(OGLIntroducedIn.Unknown)
24836     @OpenGL_Extension("GL_NV_half_float")
24837     fn_glNormal3hNV glNormal3hNV;
24838     alias fn_glNormal3hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
24839     /// Ditto
24840     @OpenGL_Version(OGLIntroducedIn.Unknown)
24841     @OpenGL_Extension("GL_NV_half_float")
24842     fn_glNormal3hvNV glNormal3hvNV;
24843     alias fn_glNormal3i = extern(C) void function(GLint nx, GLint ny, GLint nz) @system @nogc nothrow;
24844     /// Ditto
24845     @OpenGL_Version(OGLIntroducedIn.V1P0)
24846     fn_glNormal3i glNormal3i;
24847     alias fn_glNormal3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
24848     /// Ditto
24849     @OpenGL_Version(OGLIntroducedIn.V1P0)
24850     fn_glNormal3iv glNormal3iv;
24851     alias fn_glNormal3s = extern(C) void function(GLshort nx, GLshort ny, GLshort nz) @system @nogc nothrow;
24852     /// Ditto
24853     @OpenGL_Version(OGLIntroducedIn.V1P0)
24854     fn_glNormal3s glNormal3s;
24855     alias fn_glNormal3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
24856     /// Ditto
24857     @OpenGL_Version(OGLIntroducedIn.V1P0)
24858     fn_glNormal3sv glNormal3sv;
24859     alias fn_glNormal3x = extern(C) void function(GLfixed nx, GLfixed ny, GLfixed nz) @system @nogc nothrow;
24860     /// Ditto
24861     @OpenGL_Version(OGLIntroducedIn.Unknown)
24862     fn_glNormal3x glNormal3x;
24863     alias fn_glNormal3xOES = extern(C) void function(GLfixed nx, GLfixed ny, GLfixed nz) @system @nogc nothrow;
24864     /// Ditto
24865     @OpenGL_Version(OGLIntroducedIn.Unknown)
24866     @OpenGL_Extension("GL_OES_fixed_point")
24867     fn_glNormal3xOES glNormal3xOES;
24868     alias fn_glNormal3xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
24869     /// Ditto
24870     @OpenGL_Version(OGLIntroducedIn.Unknown)
24871     @OpenGL_Extension("GL_OES_fixed_point")
24872     fn_glNormal3xvOES glNormal3xvOES;
24873     alias fn_glNormalFormatNV = extern(C) void function(GLenum type, GLsizei stride) @system @nogc nothrow;
24874     /// Ditto
24875     @OpenGL_Version(OGLIntroducedIn.Unknown)
24876     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
24877     fn_glNormalFormatNV glNormalFormatNV;
24878     alias fn_glNormalP3ui = extern(C) void function(GLenum type, GLuint coords) @system @nogc nothrow;
24879     /// Ditto
24880     @OpenGL_Version(OGLIntroducedIn.V3P3)
24881     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24882     fn_glNormalP3ui glNormalP3ui;
24883     alias fn_glNormalP3uiv = extern(C) void function(GLenum type, const GLuint* coords) @system @nogc nothrow;
24884     /// Ditto
24885     @OpenGL_Version(OGLIntroducedIn.V3P3)
24886     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
24887     fn_glNormalP3uiv glNormalP3uiv;
24888     alias fn_glNormalPointer = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
24889     /// Ditto
24890     @OpenGL_Version(OGLIntroducedIn.V1P1)
24891     fn_glNormalPointer glNormalPointer;
24892     alias fn_glNormalPointerEXT = extern(C) void function(GLenum type, GLsizei stride, GLsizei count, const void* pointer) @system @nogc nothrow;
24893     /// Ditto
24894     @OpenGL_Version(OGLIntroducedIn.Unknown)
24895     @OpenGL_Extension("GL_EXT_vertex_array")
24896     fn_glNormalPointerEXT glNormalPointerEXT;
24897     alias fn_glNormalPointerListIBM = extern(C) void function(GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
24898     /// Ditto
24899     @OpenGL_Version(OGLIntroducedIn.Unknown)
24900     @OpenGL_Extension("GL_IBM_vertex_array_lists")
24901     fn_glNormalPointerListIBM glNormalPointerListIBM;
24902     alias fn_glNormalPointervINTEL = extern(C) void function(GLenum type, const void** pointer) @system @nogc nothrow;
24903     /// Ditto
24904     @OpenGL_Version(OGLIntroducedIn.Unknown)
24905     @OpenGL_Extension("GL_INTEL_parallel_arrays")
24906     fn_glNormalPointervINTEL glNormalPointervINTEL;
24907     alias fn_glNormalStream3bATI = extern(C) void function(GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz) @system @nogc nothrow;
24908     /// Ditto
24909     @OpenGL_Version(OGLIntroducedIn.Unknown)
24910     @OpenGL_Extension("GL_ATI_vertex_streams")
24911     fn_glNormalStream3bATI glNormalStream3bATI;
24912     alias fn_glNormalStream3bvATI = extern(C) void function(GLenum stream, const GLbyte* coords) @system @nogc nothrow;
24913     /// Ditto
24914     @OpenGL_Version(OGLIntroducedIn.Unknown)
24915     @OpenGL_Extension("GL_ATI_vertex_streams")
24916     fn_glNormalStream3bvATI glNormalStream3bvATI;
24917     alias fn_glNormalStream3dATI = extern(C) void function(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz) @system @nogc nothrow;
24918     /// Ditto
24919     @OpenGL_Version(OGLIntroducedIn.Unknown)
24920     @OpenGL_Extension("GL_ATI_vertex_streams")
24921     fn_glNormalStream3dATI glNormalStream3dATI;
24922     alias fn_glNormalStream3dvATI = extern(C) void function(GLenum stream, const GLdouble* coords) @system @nogc nothrow;
24923     /// Ditto
24924     @OpenGL_Version(OGLIntroducedIn.Unknown)
24925     @OpenGL_Extension("GL_ATI_vertex_streams")
24926     fn_glNormalStream3dvATI glNormalStream3dvATI;
24927     alias fn_glNormalStream3fATI = extern(C) void function(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz) @system @nogc nothrow;
24928     /// Ditto
24929     @OpenGL_Version(OGLIntroducedIn.Unknown)
24930     @OpenGL_Extension("GL_ATI_vertex_streams")
24931     fn_glNormalStream3fATI glNormalStream3fATI;
24932     alias fn_glNormalStream3fvATI = extern(C) void function(GLenum stream, const GLfloat* coords) @system @nogc nothrow;
24933     /// Ditto
24934     @OpenGL_Version(OGLIntroducedIn.Unknown)
24935     @OpenGL_Extension("GL_ATI_vertex_streams")
24936     fn_glNormalStream3fvATI glNormalStream3fvATI;
24937     alias fn_glNormalStream3iATI = extern(C) void function(GLenum stream, GLint nx, GLint ny, GLint nz) @system @nogc nothrow;
24938     /// Ditto
24939     @OpenGL_Version(OGLIntroducedIn.Unknown)
24940     @OpenGL_Extension("GL_ATI_vertex_streams")
24941     fn_glNormalStream3iATI glNormalStream3iATI;
24942     alias fn_glNormalStream3ivATI = extern(C) void function(GLenum stream, const GLint* coords) @system @nogc nothrow;
24943     /// Ditto
24944     @OpenGL_Version(OGLIntroducedIn.Unknown)
24945     @OpenGL_Extension("GL_ATI_vertex_streams")
24946     fn_glNormalStream3ivATI glNormalStream3ivATI;
24947     alias fn_glNormalStream3sATI = extern(C) void function(GLenum stream, GLshort nx, GLshort ny, GLshort nz) @system @nogc nothrow;
24948     /// Ditto
24949     @OpenGL_Version(OGLIntroducedIn.Unknown)
24950     @OpenGL_Extension("GL_ATI_vertex_streams")
24951     fn_glNormalStream3sATI glNormalStream3sATI;
24952     alias fn_glNormalStream3svATI = extern(C) void function(GLenum stream, const GLshort* coords) @system @nogc nothrow;
24953     /// Ditto
24954     @OpenGL_Version(OGLIntroducedIn.Unknown)
24955     @OpenGL_Extension("GL_ATI_vertex_streams")
24956     fn_glNormalStream3svATI glNormalStream3svATI;
24957     alias fn_glObjectLabelKHR = extern(C) void function(GLenum identifier, GLuint name, GLsizei length, const GLchar* label) @system @nogc nothrow;
24958     /// Ditto
24959     @OpenGL_Version(OGLIntroducedIn.Unknown)
24960     @OpenGL_Extension("GL_KHR_debug")
24961     fn_glObjectLabelKHR glObjectLabelKHR;
24962     alias fn_glObjectPtrLabelKHR = extern(C) void function(const void* ptr, GLsizei length, const GLchar* label) @system @nogc nothrow;
24963     /// Ditto
24964     @OpenGL_Version(OGLIntroducedIn.Unknown)
24965     @OpenGL_Extension("GL_KHR_debug")
24966     fn_glObjectPtrLabelKHR glObjectPtrLabelKHR;
24967     alias fn_glObjectPurgeableAPPLE = extern(C) GLenum function(GLenum objectType, GLuint name, GLenum option) @system @nogc nothrow;
24968     /// Ditto
24969     @OpenGL_Version(OGLIntroducedIn.Unknown)
24970     @OpenGL_Extension("GL_APPLE_object_purgeable")
24971     fn_glObjectPurgeableAPPLE glObjectPurgeableAPPLE;
24972     alias fn_glObjectUnpurgeableAPPLE = extern(C) GLenum function(GLenum objectType, GLuint name, GLenum option) @system @nogc nothrow;
24973     /// Ditto
24974     @OpenGL_Version(OGLIntroducedIn.Unknown)
24975     @OpenGL_Extension("GL_APPLE_object_purgeable")
24976     fn_glObjectUnpurgeableAPPLE glObjectUnpurgeableAPPLE;
24977     alias fn_glOrtho = extern(C) void function(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) @system @nogc nothrow;
24978     /// Ditto
24979     @OpenGL_Version(OGLIntroducedIn.V1P0)
24980     fn_glOrtho glOrtho;
24981     alias fn_glOrthof = extern(C) void function(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) @system @nogc nothrow;
24982     /// Ditto
24983     @OpenGL_Version(OGLIntroducedIn.Unknown)
24984     fn_glOrthof glOrthof;
24985     alias fn_glOrthofOES = extern(C) void function(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f) @system @nogc nothrow;
24986     /// Ditto
24987     @OpenGL_Version(OGLIntroducedIn.Unknown)
24988     @OpenGL_Extension("GL_OES_single_precision")
24989     fn_glOrthofOES glOrthofOES;
24990     alias fn_glOrthox = extern(C) void function(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) @system @nogc nothrow;
24991     /// Ditto
24992     @OpenGL_Version(OGLIntroducedIn.Unknown)
24993     fn_glOrthox glOrthox;
24994     alias fn_glOrthoxOES = extern(C) void function(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f) @system @nogc nothrow;
24995     /// Ditto
24996     @OpenGL_Version(OGLIntroducedIn.Unknown)
24997     @OpenGL_Extension("GL_OES_fixed_point")
24998     fn_glOrthoxOES glOrthoxOES;
24999     alias fn_glPNTrianglesfATI = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
25000     /// Ditto
25001     @OpenGL_Version(OGLIntroducedIn.Unknown)
25002     @OpenGL_Extension("GL_ATI_pn_triangles")
25003     fn_glPNTrianglesfATI glPNTrianglesfATI;
25004     alias fn_glPNTrianglesiATI = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
25005     /// Ditto
25006     @OpenGL_Version(OGLIntroducedIn.Unknown)
25007     @OpenGL_Extension("GL_ATI_pn_triangles")
25008     fn_glPNTrianglesiATI glPNTrianglesiATI;
25009     alias fn_glPassTexCoordATI = extern(C) void function(GLuint dst, GLuint coord, GLenum swizzle) @system @nogc nothrow;
25010     /// Ditto
25011     @OpenGL_Version(OGLIntroducedIn.Unknown)
25012     @OpenGL_Extension("GL_ATI_fragment_shader")
25013     fn_glPassTexCoordATI glPassTexCoordATI;
25014     alias fn_glPassThrough = extern(C) void function(GLfloat token) @system @nogc nothrow;
25015     /// Ditto
25016     @OpenGL_Version(OGLIntroducedIn.V1P0)
25017     fn_glPassThrough glPassThrough;
25018     alias fn_glPassThroughxOES = extern(C) void function(GLfixed token) @system @nogc nothrow;
25019     /// Ditto
25020     @OpenGL_Version(OGLIntroducedIn.Unknown)
25021     @OpenGL_Extension("GL_OES_fixed_point")
25022     fn_glPassThroughxOES glPassThroughxOES;
25023     alias fn_glPatchParameterfv = extern(C) void function(GLenum pname, const GLfloat* values) @system @nogc nothrow;
25024     /// Ditto
25025     @OpenGL_Version(OGLIntroducedIn.V4P0)
25026     @OpenGL_Extension("GL_ARB_tessellation_shader")
25027     fn_glPatchParameterfv glPatchParameterfv;
25028     alias fn_glPatchParameteriEXT = extern(C) void function(GLenum pname, GLint value) @system @nogc nothrow;
25029     /// Ditto
25030     @OpenGL_Version(OGLIntroducedIn.Unknown)
25031     @OpenGL_Extension("GL_EXT_tessellation_shader")
25032     fn_glPatchParameteriEXT glPatchParameteriEXT;
25033     alias fn_glPatchParameteriOES = extern(C) void function(GLenum pname, GLint value) @system @nogc nothrow;
25034     /// Ditto
25035     @OpenGL_Version(OGLIntroducedIn.Unknown)
25036     @OpenGL_Extension("GL_OES_tessellation_shader")
25037     fn_glPatchParameteriOES glPatchParameteriOES;
25038     alias fn_glPathColorGenNV = extern(C) void function(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs) @system @nogc nothrow;
25039     /// Ditto
25040     @OpenGL_Version(OGLIntroducedIn.Unknown)
25041     @OpenGL_Extension("GL_NV_path_rendering")
25042     fn_glPathColorGenNV glPathColorGenNV;
25043     alias fn_glPathCommandsNV = extern(C) void function(GLuint path, GLsizei numCommands, const(GLubyte)* commands, GLsizei numCoords, GLenum coordType, const void* coords) @system @nogc nothrow;
25044     /// Ditto
25045     @OpenGL_Version(OGLIntroducedIn.Unknown)
25046     @OpenGL_Extension("GL_NV_path_rendering")
25047     fn_glPathCommandsNV glPathCommandsNV;
25048     alias fn_glPathCoordsNV = extern(C) void function(GLuint path, GLsizei numCoords, GLenum coordType, const void* coords) @system @nogc nothrow;
25049     /// Ditto
25050     @OpenGL_Version(OGLIntroducedIn.Unknown)
25051     @OpenGL_Extension("GL_NV_path_rendering")
25052     fn_glPathCoordsNV glPathCoordsNV;
25053     alias fn_glPathCoverDepthFuncNV = extern(C) void function(GLenum func) @system @nogc nothrow;
25054     /// Ditto
25055     @OpenGL_Version(OGLIntroducedIn.Unknown)
25056     @OpenGL_Extension("GL_NV_path_rendering")
25057     fn_glPathCoverDepthFuncNV glPathCoverDepthFuncNV;
25058     alias fn_glPathDashArrayNV = extern(C) void function(GLuint path, GLsizei dashCount, const GLfloat* dashArray) @system @nogc nothrow;
25059     /// Ditto
25060     @OpenGL_Version(OGLIntroducedIn.Unknown)
25061     @OpenGL_Extension("GL_NV_path_rendering")
25062     fn_glPathDashArrayNV glPathDashArrayNV;
25063     alias fn_glPathFogGenNV = extern(C) void function(GLenum genMode) @system @nogc nothrow;
25064     /// Ditto
25065     @OpenGL_Version(OGLIntroducedIn.Unknown)
25066     @OpenGL_Extension("GL_NV_path_rendering")
25067     fn_glPathFogGenNV glPathFogGenNV;
25068     alias fn_glPathGlyphIndexArrayNV = extern(C) GLenum function(GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale) @system @nogc nothrow;
25069     /// Ditto
25070     @OpenGL_Version(OGLIntroducedIn.Unknown)
25071     @OpenGL_Extension("GL_NV_path_rendering")
25072     fn_glPathGlyphIndexArrayNV glPathGlyphIndexArrayNV;
25073     alias fn_glPathGlyphIndexRangeNV = extern(C) GLenum function(GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount) @system @nogc nothrow;
25074     /// Ditto
25075     @OpenGL_Version(OGLIntroducedIn.Unknown)
25076     @OpenGL_Extension("GL_NV_path_rendering")
25077     fn_glPathGlyphIndexRangeNV glPathGlyphIndexRangeNV;
25078     alias fn_glPathGlyphRangeNV = extern(C) void function(GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) @system @nogc nothrow;
25079     /// Ditto
25080     @OpenGL_Version(OGLIntroducedIn.Unknown)
25081     @OpenGL_Extension("GL_NV_path_rendering")
25082     fn_glPathGlyphRangeNV glPathGlyphRangeNV;
25083     alias fn_glPathGlyphsNV = extern(C) void function(GLuint firstPathName, GLenum fontTarget, const void* fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void* charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale) @system @nogc nothrow;
25084     /// Ditto
25085     @OpenGL_Version(OGLIntroducedIn.Unknown)
25086     @OpenGL_Extension("GL_NV_path_rendering")
25087     fn_glPathGlyphsNV glPathGlyphsNV;
25088     alias fn_glPathMemoryGlyphIndexArrayNV = extern(C) GLenum function(GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void* fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale) @system @nogc nothrow;
25089     /// Ditto
25090     @OpenGL_Version(OGLIntroducedIn.Unknown)
25091     @OpenGL_Extension("GL_NV_path_rendering")
25092     fn_glPathMemoryGlyphIndexArrayNV glPathMemoryGlyphIndexArrayNV;
25093     alias fn_glPathParameterfNV = extern(C) void function(GLuint path, GLenum pname, GLfloat value) @system @nogc nothrow;
25094     /// Ditto
25095     @OpenGL_Version(OGLIntroducedIn.Unknown)
25096     @OpenGL_Extension("GL_NV_path_rendering")
25097     fn_glPathParameterfNV glPathParameterfNV;
25098     alias fn_glPathParameterfvNV = extern(C) void function(GLuint path, GLenum pname, const GLfloat* value) @system @nogc nothrow;
25099     /// Ditto
25100     @OpenGL_Version(OGLIntroducedIn.Unknown)
25101     @OpenGL_Extension("GL_NV_path_rendering")
25102     fn_glPathParameterfvNV glPathParameterfvNV;
25103     alias fn_glPathParameteriNV = extern(C) void function(GLuint path, GLenum pname, GLint value) @system @nogc nothrow;
25104     /// Ditto
25105     @OpenGL_Version(OGLIntroducedIn.Unknown)
25106     @OpenGL_Extension("GL_NV_path_rendering")
25107     fn_glPathParameteriNV glPathParameteriNV;
25108     alias fn_glPathParameterivNV = extern(C) void function(GLuint path, GLenum pname, const GLint* value) @system @nogc nothrow;
25109     /// Ditto
25110     @OpenGL_Version(OGLIntroducedIn.Unknown)
25111     @OpenGL_Extension("GL_NV_path_rendering")
25112     fn_glPathParameterivNV glPathParameterivNV;
25113     alias fn_glPathStencilDepthOffsetNV = extern(C) void function(GLfloat factor, GLfloat units) @system @nogc nothrow;
25114     /// Ditto
25115     @OpenGL_Version(OGLIntroducedIn.Unknown)
25116     @OpenGL_Extension("GL_NV_path_rendering")
25117     fn_glPathStencilDepthOffsetNV glPathStencilDepthOffsetNV;
25118     alias fn_glPathStencilFuncNV = extern(C) void function(GLenum func, GLint ref_, GLuint mask) @system @nogc nothrow;
25119     /// Ditto
25120     @OpenGL_Version(OGLIntroducedIn.Unknown)
25121     @OpenGL_Extension("GL_NV_path_rendering")
25122     fn_glPathStencilFuncNV glPathStencilFuncNV;
25123     alias fn_glPathStringNV = extern(C) void function(GLuint path, GLenum format, GLsizei length, const void* pathString) @system @nogc nothrow;
25124     /// Ditto
25125     @OpenGL_Version(OGLIntroducedIn.Unknown)
25126     @OpenGL_Extension("GL_NV_path_rendering")
25127     fn_glPathStringNV glPathStringNV;
25128     alias fn_glPathSubCommandsNV = extern(C) void function(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const(GLubyte)* commands, GLsizei numCoords, GLenum coordType, const void* coords) @system @nogc nothrow;
25129     /// Ditto
25130     @OpenGL_Version(OGLIntroducedIn.Unknown)
25131     @OpenGL_Extension("GL_NV_path_rendering")
25132     fn_glPathSubCommandsNV glPathSubCommandsNV;
25133     alias fn_glPathSubCoordsNV = extern(C) void function(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void* coords) @system @nogc nothrow;
25134     /// Ditto
25135     @OpenGL_Version(OGLIntroducedIn.Unknown)
25136     @OpenGL_Extension("GL_NV_path_rendering")
25137     fn_glPathSubCoordsNV glPathSubCoordsNV;
25138     alias fn_glPathTexGenNV = extern(C) void function(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs) @system @nogc nothrow;
25139     /// Ditto
25140     @OpenGL_Version(OGLIntroducedIn.Unknown)
25141     @OpenGL_Extension("GL_NV_path_rendering")
25142     fn_glPathTexGenNV glPathTexGenNV;
25143     alias fn_glPauseTransformFeedbackNV = extern(C) void function() @system @nogc nothrow;
25144     /// Ditto
25145     @OpenGL_Version(OGLIntroducedIn.Unknown)
25146     @OpenGL_Extension("GL_NV_transform_feedback2")
25147     fn_glPauseTransformFeedbackNV glPauseTransformFeedbackNV;
25148     alias fn_glPixelDataRangeNV = extern(C) void function(GLenum target, GLsizei length, const void* pointer) @system @nogc nothrow;
25149     /// Ditto
25150     @OpenGL_Version(OGLIntroducedIn.Unknown)
25151     @OpenGL_Extension("GL_NV_pixel_data_range")
25152     fn_glPixelDataRangeNV glPixelDataRangeNV;
25153     alias fn_glPixelMapfv = extern(C) void function(GLenum map, GLsizei mapsize, const GLfloat* values) @system @nogc nothrow;
25154     /// Ditto
25155     @OpenGL_Version(OGLIntroducedIn.V1P0)
25156     fn_glPixelMapfv glPixelMapfv;
25157     alias fn_glPixelMapuiv = extern(C) void function(GLenum map, GLsizei mapsize, const GLuint* values) @system @nogc nothrow;
25158     /// Ditto
25159     @OpenGL_Version(OGLIntroducedIn.V1P0)
25160     fn_glPixelMapuiv glPixelMapuiv;
25161     alias fn_glPixelMapusv = extern(C) void function(GLenum map, GLsizei mapsize, const GLushort* values) @system @nogc nothrow;
25162     /// Ditto
25163     @OpenGL_Version(OGLIntroducedIn.V1P0)
25164     fn_glPixelMapusv glPixelMapusv;
25165     alias fn_glPixelMapx = extern(C) void function(GLenum map, GLint size, const GLfixed* values) @system @nogc nothrow;
25166     /// Ditto
25167     @OpenGL_Version(OGLIntroducedIn.Unknown)
25168     @OpenGL_Extension("GL_OES_fixed_point")
25169     fn_glPixelMapx glPixelMapx;
25170     alias fn_glPixelStorei = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
25171     /// Ditto
25172     @OpenGL_Version(OGLIntroducedIn.V1P0)
25173     fn_glPixelStorei glPixelStorei;
25174     alias fn_glPixelStorex = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
25175     /// Ditto
25176     @OpenGL_Version(OGLIntroducedIn.Unknown)
25177     @OpenGL_Extension("GL_OES_fixed_point")
25178     fn_glPixelStorex glPixelStorex;
25179     alias fn_glPixelTexGenParameterfSGIS = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
25180     /// Ditto
25181     @OpenGL_Version(OGLIntroducedIn.Unknown)
25182     @OpenGL_Extension("GL_SGIS_pixel_texture")
25183     fn_glPixelTexGenParameterfSGIS glPixelTexGenParameterfSGIS;
25184     alias fn_glPixelTexGenParameterfvSGIS = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
25185     /// Ditto
25186     @OpenGL_Version(OGLIntroducedIn.Unknown)
25187     @OpenGL_Extension("GL_SGIS_pixel_texture")
25188     fn_glPixelTexGenParameterfvSGIS glPixelTexGenParameterfvSGIS;
25189     alias fn_glPixelTexGenParameteriSGIS = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
25190     /// Ditto
25191     @OpenGL_Version(OGLIntroducedIn.Unknown)
25192     @OpenGL_Extension("GL_SGIS_pixel_texture")
25193     fn_glPixelTexGenParameteriSGIS glPixelTexGenParameteriSGIS;
25194     alias fn_glPixelTexGenParameterivSGIS = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
25195     /// Ditto
25196     @OpenGL_Version(OGLIntroducedIn.Unknown)
25197     @OpenGL_Extension("GL_SGIS_pixel_texture")
25198     fn_glPixelTexGenParameterivSGIS glPixelTexGenParameterivSGIS;
25199     alias fn_glPixelTexGenSGIX = extern(C) void function(GLenum mode) @system @nogc nothrow;
25200     /// Ditto
25201     @OpenGL_Version(OGLIntroducedIn.Unknown)
25202     @OpenGL_Extension("GL_SGIX_pixel_texture")
25203     fn_glPixelTexGenSGIX glPixelTexGenSGIX;
25204     alias fn_glPixelTransferf = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
25205     /// Ditto
25206     @OpenGL_Version(OGLIntroducedIn.V1P0)
25207     fn_glPixelTransferf glPixelTransferf;
25208     alias fn_glPixelTransferi = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
25209     /// Ditto
25210     @OpenGL_Version(OGLIntroducedIn.V1P0)
25211     fn_glPixelTransferi glPixelTransferi;
25212     alias fn_glPixelTransferxOES = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
25213     /// Ditto
25214     @OpenGL_Version(OGLIntroducedIn.Unknown)
25215     @OpenGL_Extension("GL_OES_fixed_point")
25216     fn_glPixelTransferxOES glPixelTransferxOES;
25217     alias fn_glPixelTransformParameterfEXT = extern(C) void function(GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
25218     /// Ditto
25219     @OpenGL_Version(OGLIntroducedIn.Unknown)
25220     @OpenGL_Extension("GL_EXT_pixel_transform")
25221     fn_glPixelTransformParameterfEXT glPixelTransformParameterfEXT;
25222     alias fn_glPixelTransformParameterfvEXT = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
25223     /// Ditto
25224     @OpenGL_Version(OGLIntroducedIn.Unknown)
25225     @OpenGL_Extension("GL_EXT_pixel_transform")
25226     fn_glPixelTransformParameterfvEXT glPixelTransformParameterfvEXT;
25227     alias fn_glPixelTransformParameteriEXT = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
25228     /// Ditto
25229     @OpenGL_Version(OGLIntroducedIn.Unknown)
25230     @OpenGL_Extension("GL_EXT_pixel_transform")
25231     fn_glPixelTransformParameteriEXT glPixelTransformParameteriEXT;
25232     alias fn_glPixelTransformParameterivEXT = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
25233     /// Ditto
25234     @OpenGL_Version(OGLIntroducedIn.Unknown)
25235     @OpenGL_Extension("GL_EXT_pixel_transform")
25236     fn_glPixelTransformParameterivEXT glPixelTransformParameterivEXT;
25237     alias fn_glPixelZoom = extern(C) void function(GLfloat xfactor, GLfloat yfactor) @system @nogc nothrow;
25238     /// Ditto
25239     @OpenGL_Version(OGLIntroducedIn.V1P0)
25240     fn_glPixelZoom glPixelZoom;
25241     alias fn_glPixelZoomxOES = extern(C) void function(GLfixed xfactor, GLfixed yfactor) @system @nogc nothrow;
25242     /// Ditto
25243     @OpenGL_Version(OGLIntroducedIn.Unknown)
25244     @OpenGL_Extension("GL_OES_fixed_point")
25245     fn_glPixelZoomxOES glPixelZoomxOES;
25246     alias fn_glPointAlongPathNV = extern(C) GLboolean function(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat* y, GLfloat* tangentX, GLfloat* tangentY) @system @nogc nothrow;
25247     /// Ditto
25248     @OpenGL_Version(OGLIntroducedIn.Unknown)
25249     @OpenGL_Extension("GL_NV_path_rendering")
25250     fn_glPointAlongPathNV glPointAlongPathNV;
25251     alias fn_glPointParameterfARB = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
25252     /// Ditto
25253     @OpenGL_Version(OGLIntroducedIn.Unknown)
25254     @OpenGL_Extension("GL_ARB_point_parameters")
25255     fn_glPointParameterfARB glPointParameterfARB;
25256     alias fn_glPointParameterfEXT = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
25257     /// Ditto
25258     @OpenGL_Version(OGLIntroducedIn.Unknown)
25259     @OpenGL_Extension("GL_EXT_point_parameters")
25260     fn_glPointParameterfEXT glPointParameterfEXT;
25261     alias fn_glPointParameterfSGIS = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
25262     /// Ditto
25263     @OpenGL_Version(OGLIntroducedIn.Unknown)
25264     @OpenGL_Extension("GL_SGIS_point_parameters")
25265     fn_glPointParameterfSGIS glPointParameterfSGIS;
25266     alias fn_glPointParameterfv = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
25267     /// Ditto
25268     @OpenGL_Version(OGLIntroducedIn.V1P4)
25269     fn_glPointParameterfv glPointParameterfv;
25270     alias fn_glPointParameterfvARB = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
25271     /// Ditto
25272     @OpenGL_Version(OGLIntroducedIn.Unknown)
25273     @OpenGL_Extension("GL_ARB_point_parameters")
25274     fn_glPointParameterfvARB glPointParameterfvARB;
25275     alias fn_glPointParameterfvEXT = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
25276     /// Ditto
25277     @OpenGL_Version(OGLIntroducedIn.Unknown)
25278     @OpenGL_Extension("GL_EXT_point_parameters")
25279     fn_glPointParameterfvEXT glPointParameterfvEXT;
25280     alias fn_glPointParameterfvSGIS = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
25281     /// Ditto
25282     @OpenGL_Version(OGLIntroducedIn.Unknown)
25283     @OpenGL_Extension("GL_SGIS_point_parameters")
25284     fn_glPointParameterfvSGIS glPointParameterfvSGIS;
25285     alias fn_glPointParameteri = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
25286     /// Ditto
25287     @OpenGL_Version(OGLIntroducedIn.V1P4)
25288     fn_glPointParameteri glPointParameteri;
25289     alias fn_glPointParameteriNV = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
25290     /// Ditto
25291     @OpenGL_Version(OGLIntroducedIn.Unknown)
25292     @OpenGL_Extension("GL_NV_point_sprite")
25293     fn_glPointParameteriNV glPointParameteriNV;
25294     alias fn_glPointParameteriv = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
25295     /// Ditto
25296     @OpenGL_Version(OGLIntroducedIn.V1P4)
25297     fn_glPointParameteriv glPointParameteriv;
25298     alias fn_glPointParameterivNV = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
25299     /// Ditto
25300     @OpenGL_Version(OGLIntroducedIn.Unknown)
25301     @OpenGL_Extension("GL_NV_point_sprite")
25302     fn_glPointParameterivNV glPointParameterivNV;
25303     alias fn_glPointParameterx = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
25304     /// Ditto
25305     @OpenGL_Version(OGLIntroducedIn.Unknown)
25306     fn_glPointParameterx glPointParameterx;
25307     alias fn_glPointParameterxOES = extern(C) void function(GLenum pname, GLfixed param) @system @nogc nothrow;
25308     /// Ditto
25309     @OpenGL_Version(OGLIntroducedIn.Unknown)
25310     @OpenGL_Extension("GL_OES_fixed_point")
25311     fn_glPointParameterxOES glPointParameterxOES;
25312     alias fn_glPointParameterxv = extern(C) void function(GLenum pname, const GLfixed* params) @system @nogc nothrow;
25313     /// Ditto
25314     @OpenGL_Version(OGLIntroducedIn.Unknown)
25315     fn_glPointParameterxv glPointParameterxv;
25316     alias fn_glPointParameterxvOES = extern(C) void function(GLenum pname, const GLfixed* params) @system @nogc nothrow;
25317     /// Ditto
25318     @OpenGL_Version(OGLIntroducedIn.Unknown)
25319     @OpenGL_Extension("GL_OES_fixed_point")
25320     fn_glPointParameterxvOES glPointParameterxvOES;
25321     alias fn_glPointSizePointerOES = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
25322     /// Ditto
25323     @OpenGL_Version(OGLIntroducedIn.Unknown)
25324     @OpenGL_Extension("GL_OES_point_size_array")
25325     fn_glPointSizePointerOES glPointSizePointerOES;
25326     alias fn_glPointSizex = extern(C) void function(GLfixed size) @system @nogc nothrow;
25327     /// Ditto
25328     @OpenGL_Version(OGLIntroducedIn.Unknown)
25329     fn_glPointSizex glPointSizex;
25330     alias fn_glPointSizexOES = extern(C) void function(GLfixed size) @system @nogc nothrow;
25331     /// Ditto
25332     @OpenGL_Version(OGLIntroducedIn.Unknown)
25333     @OpenGL_Extension("GL_OES_fixed_point")
25334     fn_glPointSizexOES glPointSizexOES;
25335     alias fn_glPollAsyncSGIX = extern(C) GLint function(GLuint* markerp) @system @nogc nothrow;
25336     /// Ditto
25337     @OpenGL_Version(OGLIntroducedIn.Unknown)
25338     @OpenGL_Extension("GL_SGIX_async")
25339     fn_glPollAsyncSGIX glPollAsyncSGIX;
25340     alias fn_glPollInstrumentsSGIX = extern(C) GLint function(GLint* marker_p) @system @nogc nothrow;
25341     /// Ditto
25342     @OpenGL_Version(OGLIntroducedIn.Unknown)
25343     @OpenGL_Extension("GL_SGIX_instruments")
25344     fn_glPollInstrumentsSGIX glPollInstrumentsSGIX;
25345     alias fn_glPolygonModeNV = extern(C) void function(GLenum face, GLenum mode) @system @nogc nothrow;
25346     /// Ditto
25347     @OpenGL_Version(OGLIntroducedIn.Unknown)
25348     @OpenGL_Extension("GL_NV_polygon_mode")
25349     fn_glPolygonModeNV glPolygonModeNV;
25350     alias fn_glPolygonOffsetClampEXT = extern(C) void function(GLfloat factor, GLfloat units, GLfloat clamp) @system @nogc nothrow;
25351     /// Ditto
25352     @OpenGL_Version(OGLIntroducedIn.Unknown)
25353     @OpenGL_Extension("GL_EXT_polygon_offset_clamp")
25354     fn_glPolygonOffsetClampEXT glPolygonOffsetClampEXT;
25355     alias fn_glPolygonOffsetEXT = extern(C) void function(GLfloat factor, GLfloat bias) @system @nogc nothrow;
25356     /// Ditto
25357     @OpenGL_Version(OGLIntroducedIn.Unknown)
25358     @OpenGL_Extension("GL_EXT_polygon_offset")
25359     fn_glPolygonOffsetEXT glPolygonOffsetEXT;
25360     alias fn_glPolygonOffsetx = extern(C) void function(GLfixed factor, GLfixed units) @system @nogc nothrow;
25361     /// Ditto
25362     @OpenGL_Version(OGLIntroducedIn.Unknown)
25363     fn_glPolygonOffsetx glPolygonOffsetx;
25364     alias fn_glPolygonOffsetxOES = extern(C) void function(GLfixed factor, GLfixed units) @system @nogc nothrow;
25365     /// Ditto
25366     @OpenGL_Version(OGLIntroducedIn.Unknown)
25367     @OpenGL_Extension("GL_OES_fixed_point")
25368     fn_glPolygonOffsetxOES glPolygonOffsetxOES;
25369     alias fn_glPolygonStipple = extern(C) void function(const(GLubyte)* mask) @system @nogc nothrow;
25370     /// Ditto
25371     @OpenGL_Version(OGLIntroducedIn.V1P0)
25372     fn_glPolygonStipple glPolygonStipple;
25373     alias fn_glPopAttrib = extern(C) void function() @system @nogc nothrow;
25374     /// Ditto
25375     @OpenGL_Version(OGLIntroducedIn.V1P0)
25376     fn_glPopAttrib glPopAttrib;
25377     alias fn_glPopClientAttrib = extern(C) void function() @system @nogc nothrow;
25378     /// Ditto
25379     @OpenGL_Version(OGLIntroducedIn.V1P1)
25380     fn_glPopClientAttrib glPopClientAttrib;
25381     alias fn_glPopDebugGroupKHR = extern(C) void function() @system @nogc nothrow;
25382     /// Ditto
25383     @OpenGL_Version(OGLIntroducedIn.Unknown)
25384     @OpenGL_Extension("GL_KHR_debug")
25385     fn_glPopDebugGroupKHR glPopDebugGroupKHR;
25386     alias fn_glPopGroupMarkerEXT = extern(C) void function() @system @nogc nothrow;
25387     /// Ditto
25388     @OpenGL_Version(OGLIntroducedIn.Unknown)
25389     @OpenGL_Extension("GL_EXT_debug_marker")
25390     fn_glPopGroupMarkerEXT glPopGroupMarkerEXT;
25391     alias fn_glPopMatrix = extern(C) void function() @system @nogc nothrow;
25392     /// Ditto
25393     @OpenGL_Version(OGLIntroducedIn.V1P0)
25394     fn_glPopMatrix glPopMatrix;
25395     alias fn_glPopName = extern(C) void function() @system @nogc nothrow;
25396     /// Ditto
25397     @OpenGL_Version(OGLIntroducedIn.V1P0)
25398     fn_glPopName glPopName;
25399     alias fn_glPresentFrameDualFillNV = extern(C) void function(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3) @system @nogc nothrow;
25400     /// Ditto
25401     @OpenGL_Version(OGLIntroducedIn.Unknown)
25402     @OpenGL_Extension("GL_NV_present_video")
25403     fn_glPresentFrameDualFillNV glPresentFrameDualFillNV;
25404     alias fn_glPresentFrameKeyedNV = extern(C) void function(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1) @system @nogc nothrow;
25405     /// Ditto
25406     @OpenGL_Version(OGLIntroducedIn.Unknown)
25407     @OpenGL_Extension("GL_NV_present_video")
25408     fn_glPresentFrameKeyedNV glPresentFrameKeyedNV;
25409     alias fn_glPrimitiveBoundingBox = extern(C) void function(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) @system @nogc nothrow;
25410     /// Ditto
25411     @OpenGL_Version(OGLIntroducedIn.Unknown)
25412     fn_glPrimitiveBoundingBox glPrimitiveBoundingBox;
25413     alias fn_glPrimitiveBoundingBoxARB = extern(C) void function(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) @system @nogc nothrow;
25414     /// Ditto
25415     @OpenGL_Version(OGLIntroducedIn.Unknown)
25416     @OpenGL_Extension("GL_ARB_ES3_2_compatibility")
25417     fn_glPrimitiveBoundingBoxARB glPrimitiveBoundingBoxARB;
25418     alias fn_glPrimitiveBoundingBoxEXT = extern(C) void function(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) @system @nogc nothrow;
25419     /// Ditto
25420     @OpenGL_Version(OGLIntroducedIn.Unknown)
25421     @OpenGL_Extension("GL_EXT_primitive_bounding_box")
25422     fn_glPrimitiveBoundingBoxEXT glPrimitiveBoundingBoxEXT;
25423     alias fn_glPrimitiveBoundingBoxOES = extern(C) void function(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW) @system @nogc nothrow;
25424     /// Ditto
25425     @OpenGL_Version(OGLIntroducedIn.Unknown)
25426     @OpenGL_Extension("GL_OES_primitive_bounding_box")
25427     fn_glPrimitiveBoundingBoxOES glPrimitiveBoundingBoxOES;
25428     alias fn_glPrimitiveRestartIndexNV = extern(C) void function(GLuint index) @system @nogc nothrow;
25429     /// Ditto
25430     @OpenGL_Version(OGLIntroducedIn.Unknown)
25431     @OpenGL_Extension("GL_NV_primitive_restart")
25432     fn_glPrimitiveRestartIndexNV glPrimitiveRestartIndexNV;
25433     alias fn_glPrimitiveRestartNV = extern(C) void function() @system @nogc nothrow;
25434     /// Ditto
25435     @OpenGL_Version(OGLIntroducedIn.Unknown)
25436     @OpenGL_Extension("GL_NV_primitive_restart")
25437     fn_glPrimitiveRestartNV glPrimitiveRestartNV;
25438     alias fn_glPrioritizeTextures = extern(C) void function(GLsizei n, const GLuint* textures, const GLfloat* priorities) @system @nogc nothrow;
25439     /// Ditto
25440     @OpenGL_Version(OGLIntroducedIn.V1P1)
25441     fn_glPrioritizeTextures glPrioritizeTextures;
25442     alias fn_glPrioritizeTexturesEXT = extern(C) void function(GLsizei n, const GLuint* textures, const GLclampf* priorities) @system @nogc nothrow;
25443     /// Ditto
25444     @OpenGL_Version(OGLIntroducedIn.Unknown)
25445     @OpenGL_Extension("GL_EXT_texture_object")
25446     fn_glPrioritizeTexturesEXT glPrioritizeTexturesEXT;
25447     alias fn_glPrioritizeTexturesxOES = extern(C) void function(GLsizei n, const GLuint* textures, const GLfixed* priorities) @system @nogc nothrow;
25448     /// Ditto
25449     @OpenGL_Version(OGLIntroducedIn.Unknown)
25450     @OpenGL_Extension("GL_OES_fixed_point")
25451     fn_glPrioritizeTexturesxOES glPrioritizeTexturesxOES;
25452     alias fn_glProgramBinaryOES = extern(C) void function(GLuint program, GLenum binaryFormat, const void* binary, GLint length) @system @nogc nothrow;
25453     /// Ditto
25454     @OpenGL_Version(OGLIntroducedIn.Unknown)
25455     @OpenGL_Extension("GL_OES_get_program_binary")
25456     fn_glProgramBinaryOES glProgramBinaryOES;
25457     alias fn_glProgramBufferParametersIivNV = extern(C) void function(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint* params) @system @nogc nothrow;
25458     /// Ditto
25459     @OpenGL_Version(OGLIntroducedIn.Unknown)
25460     @OpenGL_Extension("GL_NV_parameter_buffer_object")
25461     fn_glProgramBufferParametersIivNV glProgramBufferParametersIivNV;
25462     alias fn_glProgramBufferParametersIuivNV = extern(C) void function(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint* params) @system @nogc nothrow;
25463     /// Ditto
25464     @OpenGL_Version(OGLIntroducedIn.Unknown)
25465     @OpenGL_Extension("GL_NV_parameter_buffer_object")
25466     fn_glProgramBufferParametersIuivNV glProgramBufferParametersIuivNV;
25467     alias fn_glProgramBufferParametersfvNV = extern(C) void function(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat* params) @system @nogc nothrow;
25468     /// Ditto
25469     @OpenGL_Version(OGLIntroducedIn.Unknown)
25470     @OpenGL_Extension("GL_NV_parameter_buffer_object")
25471     fn_glProgramBufferParametersfvNV glProgramBufferParametersfvNV;
25472     alias fn_glProgramEnvParameter4dARB = extern(C) void function(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
25473     /// Ditto
25474     @OpenGL_Version(OGLIntroducedIn.Unknown)
25475     @OpenGL_Extension("GL_ARB_fragment_program")
25476     fn_glProgramEnvParameter4dARB glProgramEnvParameter4dARB;
25477     alias fn_glProgramEnvParameter4dvARB = extern(C) void function(GLenum target, GLuint index, const GLdouble* params) @system @nogc nothrow;
25478     /// Ditto
25479     @OpenGL_Version(OGLIntroducedIn.Unknown)
25480     @OpenGL_Extension("GL_ARB_fragment_program")
25481     fn_glProgramEnvParameter4dvARB glProgramEnvParameter4dvARB;
25482     alias fn_glProgramEnvParameter4fARB = extern(C) void function(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
25483     /// Ditto
25484     @OpenGL_Version(OGLIntroducedIn.Unknown)
25485     @OpenGL_Extension("GL_ARB_fragment_program")
25486     fn_glProgramEnvParameter4fARB glProgramEnvParameter4fARB;
25487     alias fn_glProgramEnvParameter4fvARB = extern(C) void function(GLenum target, GLuint index, const GLfloat* params) @system @nogc nothrow;
25488     /// Ditto
25489     @OpenGL_Version(OGLIntroducedIn.Unknown)
25490     @OpenGL_Extension("GL_ARB_fragment_program")
25491     fn_glProgramEnvParameter4fvARB glProgramEnvParameter4fvARB;
25492     alias fn_glProgramEnvParameterI4iNV = extern(C) void function(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
25493     /// Ditto
25494     @OpenGL_Version(OGLIntroducedIn.Unknown)
25495     @OpenGL_Extension("GL_NV_gpu_program4")
25496     fn_glProgramEnvParameterI4iNV glProgramEnvParameterI4iNV;
25497     alias fn_glProgramEnvParameterI4ivNV = extern(C) void function(GLenum target, GLuint index, const GLint* params) @system @nogc nothrow;
25498     /// Ditto
25499     @OpenGL_Version(OGLIntroducedIn.Unknown)
25500     @OpenGL_Extension("GL_NV_gpu_program4")
25501     fn_glProgramEnvParameterI4ivNV glProgramEnvParameterI4ivNV;
25502     alias fn_glProgramEnvParameterI4uiNV = extern(C) void function(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) @system @nogc nothrow;
25503     /// Ditto
25504     @OpenGL_Version(OGLIntroducedIn.Unknown)
25505     @OpenGL_Extension("GL_NV_gpu_program4")
25506     fn_glProgramEnvParameterI4uiNV glProgramEnvParameterI4uiNV;
25507     alias fn_glProgramEnvParameterI4uivNV = extern(C) void function(GLenum target, GLuint index, const GLuint* params) @system @nogc nothrow;
25508     /// Ditto
25509     @OpenGL_Version(OGLIntroducedIn.Unknown)
25510     @OpenGL_Extension("GL_NV_gpu_program4")
25511     fn_glProgramEnvParameterI4uivNV glProgramEnvParameterI4uivNV;
25512     alias fn_glProgramEnvParameters4fvEXT = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLfloat* params) @system @nogc nothrow;
25513     /// Ditto
25514     @OpenGL_Version(OGLIntroducedIn.Unknown)
25515     @OpenGL_Extension("GL_EXT_gpu_program_parameters")
25516     fn_glProgramEnvParameters4fvEXT glProgramEnvParameters4fvEXT;
25517     alias fn_glProgramEnvParametersI4ivNV = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLint* params) @system @nogc nothrow;
25518     /// Ditto
25519     @OpenGL_Version(OGLIntroducedIn.Unknown)
25520     @OpenGL_Extension("GL_NV_gpu_program4")
25521     fn_glProgramEnvParametersI4ivNV glProgramEnvParametersI4ivNV;
25522     alias fn_glProgramEnvParametersI4uivNV = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLuint* params) @system @nogc nothrow;
25523     /// Ditto
25524     @OpenGL_Version(OGLIntroducedIn.Unknown)
25525     @OpenGL_Extension("GL_NV_gpu_program4")
25526     fn_glProgramEnvParametersI4uivNV glProgramEnvParametersI4uivNV;
25527     alias fn_glProgramLocalParameter4dARB = extern(C) void function(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
25528     /// Ditto
25529     @OpenGL_Version(OGLIntroducedIn.Unknown)
25530     @OpenGL_Extension("GL_ARB_fragment_program")
25531     fn_glProgramLocalParameter4dARB glProgramLocalParameter4dARB;
25532     alias fn_glProgramLocalParameter4dvARB = extern(C) void function(GLenum target, GLuint index, const GLdouble* params) @system @nogc nothrow;
25533     /// Ditto
25534     @OpenGL_Version(OGLIntroducedIn.Unknown)
25535     @OpenGL_Extension("GL_ARB_fragment_program")
25536     fn_glProgramLocalParameter4dvARB glProgramLocalParameter4dvARB;
25537     alias fn_glProgramLocalParameter4fARB = extern(C) void function(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
25538     /// Ditto
25539     @OpenGL_Version(OGLIntroducedIn.Unknown)
25540     @OpenGL_Extension("GL_ARB_fragment_program")
25541     fn_glProgramLocalParameter4fARB glProgramLocalParameter4fARB;
25542     alias fn_glProgramLocalParameter4fvARB = extern(C) void function(GLenum target, GLuint index, const GLfloat* params) @system @nogc nothrow;
25543     /// Ditto
25544     @OpenGL_Version(OGLIntroducedIn.Unknown)
25545     @OpenGL_Extension("GL_ARB_fragment_program")
25546     fn_glProgramLocalParameter4fvARB glProgramLocalParameter4fvARB;
25547     alias fn_glProgramLocalParameterI4iNV = extern(C) void function(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
25548     /// Ditto
25549     @OpenGL_Version(OGLIntroducedIn.Unknown)
25550     @OpenGL_Extension("GL_NV_gpu_program4")
25551     fn_glProgramLocalParameterI4iNV glProgramLocalParameterI4iNV;
25552     alias fn_glProgramLocalParameterI4ivNV = extern(C) void function(GLenum target, GLuint index, const GLint* params) @system @nogc nothrow;
25553     /// Ditto
25554     @OpenGL_Version(OGLIntroducedIn.Unknown)
25555     @OpenGL_Extension("GL_NV_gpu_program4")
25556     fn_glProgramLocalParameterI4ivNV glProgramLocalParameterI4ivNV;
25557     alias fn_glProgramLocalParameterI4uiNV = extern(C) void function(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) @system @nogc nothrow;
25558     /// Ditto
25559     @OpenGL_Version(OGLIntroducedIn.Unknown)
25560     @OpenGL_Extension("GL_NV_gpu_program4")
25561     fn_glProgramLocalParameterI4uiNV glProgramLocalParameterI4uiNV;
25562     alias fn_glProgramLocalParameterI4uivNV = extern(C) void function(GLenum target, GLuint index, const GLuint* params) @system @nogc nothrow;
25563     /// Ditto
25564     @OpenGL_Version(OGLIntroducedIn.Unknown)
25565     @OpenGL_Extension("GL_NV_gpu_program4")
25566     fn_glProgramLocalParameterI4uivNV glProgramLocalParameterI4uivNV;
25567     alias fn_glProgramLocalParameters4fvEXT = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLfloat* params) @system @nogc nothrow;
25568     /// Ditto
25569     @OpenGL_Version(OGLIntroducedIn.Unknown)
25570     @OpenGL_Extension("GL_EXT_gpu_program_parameters")
25571     fn_glProgramLocalParameters4fvEXT glProgramLocalParameters4fvEXT;
25572     alias fn_glProgramLocalParametersI4ivNV = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLint* params) @system @nogc nothrow;
25573     /// Ditto
25574     @OpenGL_Version(OGLIntroducedIn.Unknown)
25575     @OpenGL_Extension("GL_NV_gpu_program4")
25576     fn_glProgramLocalParametersI4ivNV glProgramLocalParametersI4ivNV;
25577     alias fn_glProgramLocalParametersI4uivNV = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLuint* params) @system @nogc nothrow;
25578     /// Ditto
25579     @OpenGL_Version(OGLIntroducedIn.Unknown)
25580     @OpenGL_Extension("GL_NV_gpu_program4")
25581     fn_glProgramLocalParametersI4uivNV glProgramLocalParametersI4uivNV;
25582     alias fn_glProgramNamedParameter4dNV = extern(C) void function(GLuint id, GLsizei len, const(GLubyte)* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
25583     /// Ditto
25584     @OpenGL_Version(OGLIntroducedIn.Unknown)
25585     @OpenGL_Extension("GL_NV_fragment_program")
25586     fn_glProgramNamedParameter4dNV glProgramNamedParameter4dNV;
25587     alias fn_glProgramNamedParameter4dvNV = extern(C) void function(GLuint id, GLsizei len, const(GLubyte)* name, const GLdouble* v) @system @nogc nothrow;
25588     /// Ditto
25589     @OpenGL_Version(OGLIntroducedIn.Unknown)
25590     @OpenGL_Extension("GL_NV_fragment_program")
25591     fn_glProgramNamedParameter4dvNV glProgramNamedParameter4dvNV;
25592     alias fn_glProgramNamedParameter4fNV = extern(C) void function(GLuint id, GLsizei len, const(GLubyte)* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
25593     /// Ditto
25594     @OpenGL_Version(OGLIntroducedIn.Unknown)
25595     @OpenGL_Extension("GL_NV_fragment_program")
25596     fn_glProgramNamedParameter4fNV glProgramNamedParameter4fNV;
25597     alias fn_glProgramNamedParameter4fvNV = extern(C) void function(GLuint id, GLsizei len, const(GLubyte)* name, const GLfloat* v) @system @nogc nothrow;
25598     /// Ditto
25599     @OpenGL_Version(OGLIntroducedIn.Unknown)
25600     @OpenGL_Extension("GL_NV_fragment_program")
25601     fn_glProgramNamedParameter4fvNV glProgramNamedParameter4fvNV;
25602     alias fn_glProgramParameter4dNV = extern(C) void function(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
25603     /// Ditto
25604     @OpenGL_Version(OGLIntroducedIn.Unknown)
25605     @OpenGL_Extension("GL_NV_vertex_program")
25606     fn_glProgramParameter4dNV glProgramParameter4dNV;
25607     alias fn_glProgramParameter4dvNV = extern(C) void function(GLenum target, GLuint index, const GLdouble* v) @system @nogc nothrow;
25608     /// Ditto
25609     @OpenGL_Version(OGLIntroducedIn.Unknown)
25610     @OpenGL_Extension("GL_NV_vertex_program")
25611     fn_glProgramParameter4dvNV glProgramParameter4dvNV;
25612     alias fn_glProgramParameter4fNV = extern(C) void function(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
25613     /// Ditto
25614     @OpenGL_Version(OGLIntroducedIn.Unknown)
25615     @OpenGL_Extension("GL_NV_vertex_program")
25616     fn_glProgramParameter4fNV glProgramParameter4fNV;
25617     alias fn_glProgramParameter4fvNV = extern(C) void function(GLenum target, GLuint index, const GLfloat* v) @system @nogc nothrow;
25618     /// Ditto
25619     @OpenGL_Version(OGLIntroducedIn.Unknown)
25620     @OpenGL_Extension("GL_NV_vertex_program")
25621     fn_glProgramParameter4fvNV glProgramParameter4fvNV;
25622     alias fn_glProgramParameteriARB = extern(C) void function(GLuint program, GLenum pname, GLint value) @system @nogc nothrow;
25623     /// Ditto
25624     @OpenGL_Version(OGLIntroducedIn.Unknown)
25625     @OpenGL_Extension("GL_ARB_geometry_shader4")
25626     fn_glProgramParameteriARB glProgramParameteriARB;
25627     alias fn_glProgramParameteriEXT = extern(C) void function(GLuint program, GLenum pname, GLint value) @system @nogc nothrow;
25628     /// Ditto
25629     @OpenGL_Version(OGLIntroducedIn.Unknown)
25630     @OpenGL_Extension("GL_EXT_geometry_shader4")
25631     fn_glProgramParameteriEXT glProgramParameteriEXT;
25632     alias fn_glProgramParameters4dvNV = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLdouble* v) @system @nogc nothrow;
25633     /// Ditto
25634     @OpenGL_Version(OGLIntroducedIn.Unknown)
25635     @OpenGL_Extension("GL_NV_vertex_program")
25636     fn_glProgramParameters4dvNV glProgramParameters4dvNV;
25637     alias fn_glProgramParameters4fvNV = extern(C) void function(GLenum target, GLuint index, GLsizei count, const GLfloat* v) @system @nogc nothrow;
25638     /// Ditto
25639     @OpenGL_Version(OGLIntroducedIn.Unknown)
25640     @OpenGL_Extension("GL_NV_vertex_program")
25641     fn_glProgramParameters4fvNV glProgramParameters4fvNV;
25642     alias fn_glProgramPathFragmentInputGenNV = extern(C) void function(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat* coeffs) @system @nogc nothrow;
25643     /// Ditto
25644     @OpenGL_Version(OGLIntroducedIn.Unknown)
25645     @OpenGL_Extension("GL_NV_path_rendering")
25646     fn_glProgramPathFragmentInputGenNV glProgramPathFragmentInputGenNV;
25647     alias fn_glProgramStringARB = extern(C) void function(GLenum target, GLenum format, GLsizei len, const void* string) @system @nogc nothrow;
25648     /// Ditto
25649     @OpenGL_Version(OGLIntroducedIn.Unknown)
25650     @OpenGL_Extension("GL_ARB_fragment_program")
25651     fn_glProgramStringARB glProgramStringARB;
25652     alias fn_glProgramSubroutineParametersuivNV = extern(C) void function(GLenum target, GLsizei count, const GLuint* params) @system @nogc nothrow;
25653     /// Ditto
25654     @OpenGL_Version(OGLIntroducedIn.Unknown)
25655     @OpenGL_Extension("GL_NV_gpu_program5")
25656     fn_glProgramSubroutineParametersuivNV glProgramSubroutineParametersuivNV;
25657     alias fn_glProgramUniform1d = extern(C) void function(GLuint program, GLint location, GLdouble v0) @system @nogc nothrow;
25658     /// Ditto
25659     @OpenGL_Version(OGLIntroducedIn.V4P1)
25660     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25661     fn_glProgramUniform1d glProgramUniform1d;
25662     alias fn_glProgramUniform1dEXT = extern(C) void function(GLuint program, GLint location, GLdouble x) @system @nogc nothrow;
25663     /// Ditto
25664     @OpenGL_Version(OGLIntroducedIn.Unknown)
25665     @OpenGL_Extension("GL_EXT_direct_state_access")
25666     fn_glProgramUniform1dEXT glProgramUniform1dEXT;
25667     alias fn_glProgramUniform1dv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25668     /// Ditto
25669     @OpenGL_Version(OGLIntroducedIn.V4P1)
25670     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25671     fn_glProgramUniform1dv glProgramUniform1dv;
25672     alias fn_glProgramUniform1dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25673     /// Ditto
25674     @OpenGL_Version(OGLIntroducedIn.Unknown)
25675     @OpenGL_Extension("GL_EXT_direct_state_access")
25676     fn_glProgramUniform1dvEXT glProgramUniform1dvEXT;
25677     alias fn_glProgramUniform1fEXT = extern(C) void function(GLuint program, GLint location, GLfloat v0) @system @nogc nothrow;
25678     /// Ditto
25679     @OpenGL_Version(OGLIntroducedIn.Unknown)
25680     @OpenGL_Extension("GL_EXT_direct_state_access")
25681     fn_glProgramUniform1fEXT glProgramUniform1fEXT;
25682     alias fn_glProgramUniform1fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
25683     /// Ditto
25684     @OpenGL_Version(OGLIntroducedIn.Unknown)
25685     @OpenGL_Extension("GL_EXT_direct_state_access")
25686     fn_glProgramUniform1fvEXT glProgramUniform1fvEXT;
25687     alias fn_glProgramUniform1i64ARB = extern(C) void function(GLuint program, GLint location, GLint64 x) @system @nogc nothrow;
25688     /// Ditto
25689     @OpenGL_Version(OGLIntroducedIn.Unknown)
25690     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25691     fn_glProgramUniform1i64ARB glProgramUniform1i64ARB;
25692     alias fn_glProgramUniform1i64NV = extern(C) void function(GLuint program, GLint location, GLint64EXT x) @system @nogc nothrow;
25693     /// Ditto
25694     @OpenGL_Version(OGLIntroducedIn.Unknown)
25695     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25696     fn_glProgramUniform1i64NV glProgramUniform1i64NV;
25697     alias fn_glProgramUniform1i64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
25698     /// Ditto
25699     @OpenGL_Version(OGLIntroducedIn.Unknown)
25700     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25701     fn_glProgramUniform1i64vARB glProgramUniform1i64vARB;
25702     alias fn_glProgramUniform1i64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
25703     /// Ditto
25704     @OpenGL_Version(OGLIntroducedIn.Unknown)
25705     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25706     fn_glProgramUniform1i64vNV glProgramUniform1i64vNV;
25707     alias fn_glProgramUniform1iEXT = extern(C) void function(GLuint program, GLint location, GLint v0) @system @nogc nothrow;
25708     /// Ditto
25709     @OpenGL_Version(OGLIntroducedIn.Unknown)
25710     @OpenGL_Extension("GL_EXT_direct_state_access")
25711     fn_glProgramUniform1iEXT glProgramUniform1iEXT;
25712     alias fn_glProgramUniform1ivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
25713     /// Ditto
25714     @OpenGL_Version(OGLIntroducedIn.Unknown)
25715     @OpenGL_Extension("GL_EXT_direct_state_access")
25716     fn_glProgramUniform1ivEXT glProgramUniform1ivEXT;
25717     alias fn_glProgramUniform1ui64ARB = extern(C) void function(GLuint program, GLint location, GLuint64 x) @system @nogc nothrow;
25718     /// Ditto
25719     @OpenGL_Version(OGLIntroducedIn.Unknown)
25720     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25721     fn_glProgramUniform1ui64ARB glProgramUniform1ui64ARB;
25722     alias fn_glProgramUniform1ui64NV = extern(C) void function(GLuint program, GLint location, GLuint64EXT x) @system @nogc nothrow;
25723     /// Ditto
25724     @OpenGL_Version(OGLIntroducedIn.Unknown)
25725     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25726     fn_glProgramUniform1ui64NV glProgramUniform1ui64NV;
25727     alias fn_glProgramUniform1ui64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
25728     /// Ditto
25729     @OpenGL_Version(OGLIntroducedIn.Unknown)
25730     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25731     fn_glProgramUniform1ui64vARB glProgramUniform1ui64vARB;
25732     alias fn_glProgramUniform1ui64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
25733     /// Ditto
25734     @OpenGL_Version(OGLIntroducedIn.Unknown)
25735     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25736     fn_glProgramUniform1ui64vNV glProgramUniform1ui64vNV;
25737     alias fn_glProgramUniform1uiEXT = extern(C) void function(GLuint program, GLint location, GLuint v0) @system @nogc nothrow;
25738     /// Ditto
25739     @OpenGL_Version(OGLIntroducedIn.Unknown)
25740     @OpenGL_Extension("GL_EXT_direct_state_access")
25741     fn_glProgramUniform1uiEXT glProgramUniform1uiEXT;
25742     alias fn_glProgramUniform1uivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
25743     /// Ditto
25744     @OpenGL_Version(OGLIntroducedIn.Unknown)
25745     @OpenGL_Extension("GL_EXT_direct_state_access")
25746     fn_glProgramUniform1uivEXT glProgramUniform1uivEXT;
25747     alias fn_glProgramUniform2d = extern(C) void function(GLuint program, GLint location, GLdouble v0, GLdouble v1) @system @nogc nothrow;
25748     /// Ditto
25749     @OpenGL_Version(OGLIntroducedIn.V4P1)
25750     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25751     fn_glProgramUniform2d glProgramUniform2d;
25752     alias fn_glProgramUniform2dEXT = extern(C) void function(GLuint program, GLint location, GLdouble x, GLdouble y) @system @nogc nothrow;
25753     /// Ditto
25754     @OpenGL_Version(OGLIntroducedIn.Unknown)
25755     @OpenGL_Extension("GL_EXT_direct_state_access")
25756     fn_glProgramUniform2dEXT glProgramUniform2dEXT;
25757     alias fn_glProgramUniform2dv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25758     /// Ditto
25759     @OpenGL_Version(OGLIntroducedIn.V4P1)
25760     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25761     fn_glProgramUniform2dv glProgramUniform2dv;
25762     alias fn_glProgramUniform2dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25763     /// Ditto
25764     @OpenGL_Version(OGLIntroducedIn.Unknown)
25765     @OpenGL_Extension("GL_EXT_direct_state_access")
25766     fn_glProgramUniform2dvEXT glProgramUniform2dvEXT;
25767     alias fn_glProgramUniform2fEXT = extern(C) void function(GLuint program, GLint location, GLfloat v0, GLfloat v1) @system @nogc nothrow;
25768     /// Ditto
25769     @OpenGL_Version(OGLIntroducedIn.Unknown)
25770     @OpenGL_Extension("GL_EXT_direct_state_access")
25771     fn_glProgramUniform2fEXT glProgramUniform2fEXT;
25772     alias fn_glProgramUniform2fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
25773     /// Ditto
25774     @OpenGL_Version(OGLIntroducedIn.Unknown)
25775     @OpenGL_Extension("GL_EXT_direct_state_access")
25776     fn_glProgramUniform2fvEXT glProgramUniform2fvEXT;
25777     alias fn_glProgramUniform2i64ARB = extern(C) void function(GLuint program, GLint location, GLint64 x, GLint64 y) @system @nogc nothrow;
25778     /// Ditto
25779     @OpenGL_Version(OGLIntroducedIn.Unknown)
25780     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25781     fn_glProgramUniform2i64ARB glProgramUniform2i64ARB;
25782     alias fn_glProgramUniform2i64NV = extern(C) void function(GLuint program, GLint location, GLint64EXT x, GLint64EXT y) @system @nogc nothrow;
25783     /// Ditto
25784     @OpenGL_Version(OGLIntroducedIn.Unknown)
25785     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25786     fn_glProgramUniform2i64NV glProgramUniform2i64NV;
25787     alias fn_glProgramUniform2i64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
25788     /// Ditto
25789     @OpenGL_Version(OGLIntroducedIn.Unknown)
25790     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25791     fn_glProgramUniform2i64vARB glProgramUniform2i64vARB;
25792     alias fn_glProgramUniform2i64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
25793     /// Ditto
25794     @OpenGL_Version(OGLIntroducedIn.Unknown)
25795     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25796     fn_glProgramUniform2i64vNV glProgramUniform2i64vNV;
25797     alias fn_glProgramUniform2iEXT = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1) @system @nogc nothrow;
25798     /// Ditto
25799     @OpenGL_Version(OGLIntroducedIn.Unknown)
25800     @OpenGL_Extension("GL_EXT_direct_state_access")
25801     fn_glProgramUniform2iEXT glProgramUniform2iEXT;
25802     alias fn_glProgramUniform2ivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
25803     /// Ditto
25804     @OpenGL_Version(OGLIntroducedIn.Unknown)
25805     @OpenGL_Extension("GL_EXT_direct_state_access")
25806     fn_glProgramUniform2ivEXT glProgramUniform2ivEXT;
25807     alias fn_glProgramUniform2ui64ARB = extern(C) void function(GLuint program, GLint location, GLuint64 x, GLuint64 y) @system @nogc nothrow;
25808     /// Ditto
25809     @OpenGL_Version(OGLIntroducedIn.Unknown)
25810     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25811     fn_glProgramUniform2ui64ARB glProgramUniform2ui64ARB;
25812     alias fn_glProgramUniform2ui64NV = extern(C) void function(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y) @system @nogc nothrow;
25813     /// Ditto
25814     @OpenGL_Version(OGLIntroducedIn.Unknown)
25815     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25816     fn_glProgramUniform2ui64NV glProgramUniform2ui64NV;
25817     alias fn_glProgramUniform2ui64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
25818     /// Ditto
25819     @OpenGL_Version(OGLIntroducedIn.Unknown)
25820     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25821     fn_glProgramUniform2ui64vARB glProgramUniform2ui64vARB;
25822     alias fn_glProgramUniform2ui64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
25823     /// Ditto
25824     @OpenGL_Version(OGLIntroducedIn.Unknown)
25825     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25826     fn_glProgramUniform2ui64vNV glProgramUniform2ui64vNV;
25827     alias fn_glProgramUniform2uiEXT = extern(C) void function(GLuint program, GLint location, GLuint v0, GLuint v1) @system @nogc nothrow;
25828     /// Ditto
25829     @OpenGL_Version(OGLIntroducedIn.Unknown)
25830     @OpenGL_Extension("GL_EXT_direct_state_access")
25831     fn_glProgramUniform2uiEXT glProgramUniform2uiEXT;
25832     alias fn_glProgramUniform2uivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
25833     /// Ditto
25834     @OpenGL_Version(OGLIntroducedIn.Unknown)
25835     @OpenGL_Extension("GL_EXT_direct_state_access")
25836     fn_glProgramUniform2uivEXT glProgramUniform2uivEXT;
25837     alias fn_glProgramUniform3d = extern(C) void function(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) @system @nogc nothrow;
25838     /// Ditto
25839     @OpenGL_Version(OGLIntroducedIn.V4P1)
25840     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25841     fn_glProgramUniform3d glProgramUniform3d;
25842     alias fn_glProgramUniform3dEXT = extern(C) void function(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
25843     /// Ditto
25844     @OpenGL_Version(OGLIntroducedIn.Unknown)
25845     @OpenGL_Extension("GL_EXT_direct_state_access")
25846     fn_glProgramUniform3dEXT glProgramUniform3dEXT;
25847     alias fn_glProgramUniform3dv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25848     /// Ditto
25849     @OpenGL_Version(OGLIntroducedIn.V4P1)
25850     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25851     fn_glProgramUniform3dv glProgramUniform3dv;
25852     alias fn_glProgramUniform3dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25853     /// Ditto
25854     @OpenGL_Version(OGLIntroducedIn.Unknown)
25855     @OpenGL_Extension("GL_EXT_direct_state_access")
25856     fn_glProgramUniform3dvEXT glProgramUniform3dvEXT;
25857     alias fn_glProgramUniform3fEXT = extern(C) void function(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) @system @nogc nothrow;
25858     /// Ditto
25859     @OpenGL_Version(OGLIntroducedIn.Unknown)
25860     @OpenGL_Extension("GL_EXT_direct_state_access")
25861     fn_glProgramUniform3fEXT glProgramUniform3fEXT;
25862     alias fn_glProgramUniform3fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
25863     /// Ditto
25864     @OpenGL_Version(OGLIntroducedIn.Unknown)
25865     @OpenGL_Extension("GL_EXT_direct_state_access")
25866     fn_glProgramUniform3fvEXT glProgramUniform3fvEXT;
25867     alias fn_glProgramUniform3i64ARB = extern(C) void function(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z) @system @nogc nothrow;
25868     /// Ditto
25869     @OpenGL_Version(OGLIntroducedIn.Unknown)
25870     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25871     fn_glProgramUniform3i64ARB glProgramUniform3i64ARB;
25872     alias fn_glProgramUniform3i64NV = extern(C) void function(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) @system @nogc nothrow;
25873     /// Ditto
25874     @OpenGL_Version(OGLIntroducedIn.Unknown)
25875     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25876     fn_glProgramUniform3i64NV glProgramUniform3i64NV;
25877     alias fn_glProgramUniform3i64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
25878     /// Ditto
25879     @OpenGL_Version(OGLIntroducedIn.Unknown)
25880     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25881     fn_glProgramUniform3i64vARB glProgramUniform3i64vARB;
25882     alias fn_glProgramUniform3i64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
25883     /// Ditto
25884     @OpenGL_Version(OGLIntroducedIn.Unknown)
25885     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25886     fn_glProgramUniform3i64vNV glProgramUniform3i64vNV;
25887     alias fn_glProgramUniform3iEXT = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) @system @nogc nothrow;
25888     /// Ditto
25889     @OpenGL_Version(OGLIntroducedIn.Unknown)
25890     @OpenGL_Extension("GL_EXT_direct_state_access")
25891     fn_glProgramUniform3iEXT glProgramUniform3iEXT;
25892     alias fn_glProgramUniform3ivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
25893     /// Ditto
25894     @OpenGL_Version(OGLIntroducedIn.Unknown)
25895     @OpenGL_Extension("GL_EXT_direct_state_access")
25896     fn_glProgramUniform3ivEXT glProgramUniform3ivEXT;
25897     alias fn_glProgramUniform3ui64ARB = extern(C) void function(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z) @system @nogc nothrow;
25898     /// Ditto
25899     @OpenGL_Version(OGLIntroducedIn.Unknown)
25900     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25901     fn_glProgramUniform3ui64ARB glProgramUniform3ui64ARB;
25902     alias fn_glProgramUniform3ui64NV = extern(C) void function(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) @system @nogc nothrow;
25903     /// Ditto
25904     @OpenGL_Version(OGLIntroducedIn.Unknown)
25905     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25906     fn_glProgramUniform3ui64NV glProgramUniform3ui64NV;
25907     alias fn_glProgramUniform3ui64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
25908     /// Ditto
25909     @OpenGL_Version(OGLIntroducedIn.Unknown)
25910     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25911     fn_glProgramUniform3ui64vARB glProgramUniform3ui64vARB;
25912     alias fn_glProgramUniform3ui64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
25913     /// Ditto
25914     @OpenGL_Version(OGLIntroducedIn.Unknown)
25915     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25916     fn_glProgramUniform3ui64vNV glProgramUniform3ui64vNV;
25917     alias fn_glProgramUniform3uiEXT = extern(C) void function(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) @system @nogc nothrow;
25918     /// Ditto
25919     @OpenGL_Version(OGLIntroducedIn.Unknown)
25920     @OpenGL_Extension("GL_EXT_direct_state_access")
25921     fn_glProgramUniform3uiEXT glProgramUniform3uiEXT;
25922     alias fn_glProgramUniform3uivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
25923     /// Ditto
25924     @OpenGL_Version(OGLIntroducedIn.Unknown)
25925     @OpenGL_Extension("GL_EXT_direct_state_access")
25926     fn_glProgramUniform3uivEXT glProgramUniform3uivEXT;
25927     alias fn_glProgramUniform4d = extern(C) void function(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) @system @nogc nothrow;
25928     /// Ditto
25929     @OpenGL_Version(OGLIntroducedIn.V4P1)
25930     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25931     fn_glProgramUniform4d glProgramUniform4d;
25932     alias fn_glProgramUniform4dEXT = extern(C) void function(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
25933     /// Ditto
25934     @OpenGL_Version(OGLIntroducedIn.Unknown)
25935     @OpenGL_Extension("GL_EXT_direct_state_access")
25936     fn_glProgramUniform4dEXT glProgramUniform4dEXT;
25937     alias fn_glProgramUniform4dv = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25938     /// Ditto
25939     @OpenGL_Version(OGLIntroducedIn.V4P1)
25940     @OpenGL_Extension("GL_ARB_separate_shader_objects")
25941     fn_glProgramUniform4dv glProgramUniform4dv;
25942     alias fn_glProgramUniform4dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
25943     /// Ditto
25944     @OpenGL_Version(OGLIntroducedIn.Unknown)
25945     @OpenGL_Extension("GL_EXT_direct_state_access")
25946     fn_glProgramUniform4dvEXT glProgramUniform4dvEXT;
25947     alias fn_glProgramUniform4fEXT = extern(C) void function(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) @system @nogc nothrow;
25948     /// Ditto
25949     @OpenGL_Version(OGLIntroducedIn.Unknown)
25950     @OpenGL_Extension("GL_EXT_direct_state_access")
25951     fn_glProgramUniform4fEXT glProgramUniform4fEXT;
25952     alias fn_glProgramUniform4fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
25953     /// Ditto
25954     @OpenGL_Version(OGLIntroducedIn.Unknown)
25955     @OpenGL_Extension("GL_EXT_direct_state_access")
25956     fn_glProgramUniform4fvEXT glProgramUniform4fvEXT;
25957     alias fn_glProgramUniform4i64ARB = extern(C) void function(GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w) @system @nogc nothrow;
25958     /// Ditto
25959     @OpenGL_Version(OGLIntroducedIn.Unknown)
25960     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25961     fn_glProgramUniform4i64ARB glProgramUniform4i64ARB;
25962     alias fn_glProgramUniform4i64NV = extern(C) void function(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) @system @nogc nothrow;
25963     /// Ditto
25964     @OpenGL_Version(OGLIntroducedIn.Unknown)
25965     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25966     fn_glProgramUniform4i64NV glProgramUniform4i64NV;
25967     alias fn_glProgramUniform4i64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
25968     /// Ditto
25969     @OpenGL_Version(OGLIntroducedIn.Unknown)
25970     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25971     fn_glProgramUniform4i64vARB glProgramUniform4i64vARB;
25972     alias fn_glProgramUniform4i64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
25973     /// Ditto
25974     @OpenGL_Version(OGLIntroducedIn.Unknown)
25975     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25976     fn_glProgramUniform4i64vNV glProgramUniform4i64vNV;
25977     alias fn_glProgramUniform4iEXT = extern(C) void function(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) @system @nogc nothrow;
25978     /// Ditto
25979     @OpenGL_Version(OGLIntroducedIn.Unknown)
25980     @OpenGL_Extension("GL_EXT_direct_state_access")
25981     fn_glProgramUniform4iEXT glProgramUniform4iEXT;
25982     alias fn_glProgramUniform4ivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
25983     /// Ditto
25984     @OpenGL_Version(OGLIntroducedIn.Unknown)
25985     @OpenGL_Extension("GL_EXT_direct_state_access")
25986     fn_glProgramUniform4ivEXT glProgramUniform4ivEXT;
25987     alias fn_glProgramUniform4ui64ARB = extern(C) void function(GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w) @system @nogc nothrow;
25988     /// Ditto
25989     @OpenGL_Version(OGLIntroducedIn.Unknown)
25990     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
25991     fn_glProgramUniform4ui64ARB glProgramUniform4ui64ARB;
25992     alias fn_glProgramUniform4ui64NV = extern(C) void function(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) @system @nogc nothrow;
25993     /// Ditto
25994     @OpenGL_Version(OGLIntroducedIn.Unknown)
25995     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
25996     fn_glProgramUniform4ui64NV glProgramUniform4ui64NV;
25997     alias fn_glProgramUniform4ui64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
25998     /// Ditto
25999     @OpenGL_Version(OGLIntroducedIn.Unknown)
26000     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
26001     fn_glProgramUniform4ui64vARB glProgramUniform4ui64vARB;
26002     alias fn_glProgramUniform4ui64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
26003     /// Ditto
26004     @OpenGL_Version(OGLIntroducedIn.Unknown)
26005     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
26006     fn_glProgramUniform4ui64vNV glProgramUniform4ui64vNV;
26007     alias fn_glProgramUniform4uiEXT = extern(C) void function(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) @system @nogc nothrow;
26008     /// Ditto
26009     @OpenGL_Version(OGLIntroducedIn.Unknown)
26010     @OpenGL_Extension("GL_EXT_direct_state_access")
26011     fn_glProgramUniform4uiEXT glProgramUniform4uiEXT;
26012     alias fn_glProgramUniform4uivEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
26013     /// Ditto
26014     @OpenGL_Version(OGLIntroducedIn.Unknown)
26015     @OpenGL_Extension("GL_EXT_direct_state_access")
26016     fn_glProgramUniform4uivEXT glProgramUniform4uivEXT;
26017     alias fn_glProgramUniformHandleui64ARB = extern(C) void function(GLuint program, GLint location, GLuint64 value) @system @nogc nothrow;
26018     /// Ditto
26019     @OpenGL_Version(OGLIntroducedIn.Unknown)
26020     @OpenGL_Extension("GL_ARB_bindless_texture")
26021     fn_glProgramUniformHandleui64ARB glProgramUniformHandleui64ARB;
26022     alias fn_glProgramUniformHandleui64IMG = extern(C) void function(GLuint program, GLint location, GLuint64 value) @system @nogc nothrow;
26023     /// Ditto
26024     @OpenGL_Version(OGLIntroducedIn.Unknown)
26025     @OpenGL_Extension("GL_IMG_bindless_texture")
26026     fn_glProgramUniformHandleui64IMG glProgramUniformHandleui64IMG;
26027     alias fn_glProgramUniformHandleui64NV = extern(C) void function(GLuint program, GLint location, GLuint64 value) @system @nogc nothrow;
26028     /// Ditto
26029     @OpenGL_Version(OGLIntroducedIn.Unknown)
26030     @OpenGL_Extension("GL_NV_bindless_texture")
26031     fn_glProgramUniformHandleui64NV glProgramUniformHandleui64NV;
26032     alias fn_glProgramUniformHandleui64vARB = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* values) @system @nogc nothrow;
26033     /// Ditto
26034     @OpenGL_Version(OGLIntroducedIn.Unknown)
26035     @OpenGL_Extension("GL_ARB_bindless_texture")
26036     fn_glProgramUniformHandleui64vARB glProgramUniformHandleui64vARB;
26037     alias fn_glProgramUniformHandleui64vIMG = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* values) @system @nogc nothrow;
26038     /// Ditto
26039     @OpenGL_Version(OGLIntroducedIn.Unknown)
26040     @OpenGL_Extension("GL_IMG_bindless_texture")
26041     fn_glProgramUniformHandleui64vIMG glProgramUniformHandleui64vIMG;
26042     alias fn_glProgramUniformHandleui64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64* values) @system @nogc nothrow;
26043     /// Ditto
26044     @OpenGL_Version(OGLIntroducedIn.Unknown)
26045     @OpenGL_Extension("GL_NV_bindless_texture")
26046     fn_glProgramUniformHandleui64vNV glProgramUniformHandleui64vNV;
26047     alias fn_glProgramUniformMatrix2dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26048     /// Ditto
26049     @OpenGL_Version(OGLIntroducedIn.V4P1)
26050     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26051     fn_glProgramUniformMatrix2dv glProgramUniformMatrix2dv;
26052     alias fn_glProgramUniformMatrix2dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26053     /// Ditto
26054     @OpenGL_Version(OGLIntroducedIn.Unknown)
26055     @OpenGL_Extension("GL_EXT_direct_state_access")
26056     fn_glProgramUniformMatrix2dvEXT glProgramUniformMatrix2dvEXT;
26057     alias fn_glProgramUniformMatrix2fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26058     /// Ditto
26059     @OpenGL_Version(OGLIntroducedIn.Unknown)
26060     @OpenGL_Extension("GL_EXT_direct_state_access")
26061     fn_glProgramUniformMatrix2fvEXT glProgramUniformMatrix2fvEXT;
26062     alias fn_glProgramUniformMatrix2x3dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26063     /// Ditto
26064     @OpenGL_Version(OGLIntroducedIn.V4P1)
26065     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26066     fn_glProgramUniformMatrix2x3dv glProgramUniformMatrix2x3dv;
26067     alias fn_glProgramUniformMatrix2x3dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26068     /// Ditto
26069     @OpenGL_Version(OGLIntroducedIn.Unknown)
26070     @OpenGL_Extension("GL_EXT_direct_state_access")
26071     fn_glProgramUniformMatrix2x3dvEXT glProgramUniformMatrix2x3dvEXT;
26072     alias fn_glProgramUniformMatrix2x3fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26073     /// Ditto
26074     @OpenGL_Version(OGLIntroducedIn.Unknown)
26075     @OpenGL_Extension("GL_EXT_direct_state_access")
26076     fn_glProgramUniformMatrix2x3fvEXT glProgramUniformMatrix2x3fvEXT;
26077     alias fn_glProgramUniformMatrix2x4dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26078     /// Ditto
26079     @OpenGL_Version(OGLIntroducedIn.V4P1)
26080     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26081     fn_glProgramUniformMatrix2x4dv glProgramUniformMatrix2x4dv;
26082     alias fn_glProgramUniformMatrix2x4dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26083     /// Ditto
26084     @OpenGL_Version(OGLIntroducedIn.Unknown)
26085     @OpenGL_Extension("GL_EXT_direct_state_access")
26086     fn_glProgramUniformMatrix2x4dvEXT glProgramUniformMatrix2x4dvEXT;
26087     alias fn_glProgramUniformMatrix2x4fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26088     /// Ditto
26089     @OpenGL_Version(OGLIntroducedIn.Unknown)
26090     @OpenGL_Extension("GL_EXT_direct_state_access")
26091     fn_glProgramUniformMatrix2x4fvEXT glProgramUniformMatrix2x4fvEXT;
26092     alias fn_glProgramUniformMatrix3dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26093     /// Ditto
26094     @OpenGL_Version(OGLIntroducedIn.V4P1)
26095     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26096     fn_glProgramUniformMatrix3dv glProgramUniformMatrix3dv;
26097     alias fn_glProgramUniformMatrix3dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26098     /// Ditto
26099     @OpenGL_Version(OGLIntroducedIn.Unknown)
26100     @OpenGL_Extension("GL_EXT_direct_state_access")
26101     fn_glProgramUniformMatrix3dvEXT glProgramUniformMatrix3dvEXT;
26102     alias fn_glProgramUniformMatrix3fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26103     /// Ditto
26104     @OpenGL_Version(OGLIntroducedIn.Unknown)
26105     @OpenGL_Extension("GL_EXT_direct_state_access")
26106     fn_glProgramUniformMatrix3fvEXT glProgramUniformMatrix3fvEXT;
26107     alias fn_glProgramUniformMatrix3x2dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26108     /// Ditto
26109     @OpenGL_Version(OGLIntroducedIn.V4P1)
26110     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26111     fn_glProgramUniformMatrix3x2dv glProgramUniformMatrix3x2dv;
26112     alias fn_glProgramUniformMatrix3x2dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26113     /// Ditto
26114     @OpenGL_Version(OGLIntroducedIn.Unknown)
26115     @OpenGL_Extension("GL_EXT_direct_state_access")
26116     fn_glProgramUniformMatrix3x2dvEXT glProgramUniformMatrix3x2dvEXT;
26117     alias fn_glProgramUniformMatrix3x2fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26118     /// Ditto
26119     @OpenGL_Version(OGLIntroducedIn.Unknown)
26120     @OpenGL_Extension("GL_EXT_direct_state_access")
26121     fn_glProgramUniformMatrix3x2fvEXT glProgramUniformMatrix3x2fvEXT;
26122     alias fn_glProgramUniformMatrix3x4dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26123     /// Ditto
26124     @OpenGL_Version(OGLIntroducedIn.V4P1)
26125     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26126     fn_glProgramUniformMatrix3x4dv glProgramUniformMatrix3x4dv;
26127     alias fn_glProgramUniformMatrix3x4dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26128     /// Ditto
26129     @OpenGL_Version(OGLIntroducedIn.Unknown)
26130     @OpenGL_Extension("GL_EXT_direct_state_access")
26131     fn_glProgramUniformMatrix3x4dvEXT glProgramUniformMatrix3x4dvEXT;
26132     alias fn_glProgramUniformMatrix3x4fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26133     /// Ditto
26134     @OpenGL_Version(OGLIntroducedIn.Unknown)
26135     @OpenGL_Extension("GL_EXT_direct_state_access")
26136     fn_glProgramUniformMatrix3x4fvEXT glProgramUniformMatrix3x4fvEXT;
26137     alias fn_glProgramUniformMatrix4dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26138     /// Ditto
26139     @OpenGL_Version(OGLIntroducedIn.V4P1)
26140     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26141     fn_glProgramUniformMatrix4dv glProgramUniformMatrix4dv;
26142     alias fn_glProgramUniformMatrix4dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26143     /// Ditto
26144     @OpenGL_Version(OGLIntroducedIn.Unknown)
26145     @OpenGL_Extension("GL_EXT_direct_state_access")
26146     fn_glProgramUniformMatrix4dvEXT glProgramUniformMatrix4dvEXT;
26147     alias fn_glProgramUniformMatrix4fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26148     /// Ditto
26149     @OpenGL_Version(OGLIntroducedIn.Unknown)
26150     @OpenGL_Extension("GL_EXT_direct_state_access")
26151     fn_glProgramUniformMatrix4fvEXT glProgramUniformMatrix4fvEXT;
26152     alias fn_glProgramUniformMatrix4x2dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26153     /// Ditto
26154     @OpenGL_Version(OGLIntroducedIn.V4P1)
26155     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26156     fn_glProgramUniformMatrix4x2dv glProgramUniformMatrix4x2dv;
26157     alias fn_glProgramUniformMatrix4x2dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26158     /// Ditto
26159     @OpenGL_Version(OGLIntroducedIn.Unknown)
26160     @OpenGL_Extension("GL_EXT_direct_state_access")
26161     fn_glProgramUniformMatrix4x2dvEXT glProgramUniformMatrix4x2dvEXT;
26162     alias fn_glProgramUniformMatrix4x2fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26163     /// Ditto
26164     @OpenGL_Version(OGLIntroducedIn.Unknown)
26165     @OpenGL_Extension("GL_EXT_direct_state_access")
26166     fn_glProgramUniformMatrix4x2fvEXT glProgramUniformMatrix4x2fvEXT;
26167     alias fn_glProgramUniformMatrix4x3dv = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26168     /// Ditto
26169     @OpenGL_Version(OGLIntroducedIn.V4P1)
26170     @OpenGL_Extension("GL_ARB_separate_shader_objects")
26171     fn_glProgramUniformMatrix4x3dv glProgramUniformMatrix4x3dv;
26172     alias fn_glProgramUniformMatrix4x3dvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
26173     /// Ditto
26174     @OpenGL_Version(OGLIntroducedIn.Unknown)
26175     @OpenGL_Extension("GL_EXT_direct_state_access")
26176     fn_glProgramUniformMatrix4x3dvEXT glProgramUniformMatrix4x3dvEXT;
26177     alias fn_glProgramUniformMatrix4x3fvEXT = extern(C) void function(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
26178     /// Ditto
26179     @OpenGL_Version(OGLIntroducedIn.Unknown)
26180     @OpenGL_Extension("GL_EXT_direct_state_access")
26181     fn_glProgramUniformMatrix4x3fvEXT glProgramUniformMatrix4x3fvEXT;
26182     alias fn_glProgramUniformui64NV = extern(C) void function(GLuint program, GLint location, GLuint64EXT value) @system @nogc nothrow;
26183     /// Ditto
26184     @OpenGL_Version(OGLIntroducedIn.Unknown)
26185     @OpenGL_Extension("GL_NV_shader_buffer_load")
26186     fn_glProgramUniformui64NV glProgramUniformui64NV;
26187     alias fn_glProgramUniformui64vNV = extern(C) void function(GLuint program, GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
26188     /// Ditto
26189     @OpenGL_Version(OGLIntroducedIn.Unknown)
26190     @OpenGL_Extension("GL_NV_shader_buffer_load")
26191     fn_glProgramUniformui64vNV glProgramUniformui64vNV;
26192     alias fn_glProgramVertexLimitNV = extern(C) void function(GLenum target, GLint limit) @system @nogc nothrow;
26193     /// Ditto
26194     @OpenGL_Version(OGLIntroducedIn.Unknown)
26195     @OpenGL_Extension("GL_NV_geometry_program4")
26196     fn_glProgramVertexLimitNV glProgramVertexLimitNV;
26197     alias fn_glProvokingVertexEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
26198     /// Ditto
26199     @OpenGL_Version(OGLIntroducedIn.Unknown)
26200     @OpenGL_Extension("GL_EXT_provoking_vertex")
26201     fn_glProvokingVertexEXT glProvokingVertexEXT;
26202     alias fn_glPushAttrib = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
26203     /// Ditto
26204     @OpenGL_Version(OGLIntroducedIn.V1P0)
26205     fn_glPushAttrib glPushAttrib;
26206     alias fn_glPushClientAttrib = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
26207     /// Ditto
26208     @OpenGL_Version(OGLIntroducedIn.V1P1)
26209     fn_glPushClientAttrib glPushClientAttrib;
26210     alias fn_glPushClientAttribDefaultEXT = extern(C) void function(GLbitfield mask) @system @nogc nothrow;
26211     /// Ditto
26212     @OpenGL_Version(OGLIntroducedIn.Unknown)
26213     @OpenGL_Extension("GL_EXT_direct_state_access")
26214     fn_glPushClientAttribDefaultEXT glPushClientAttribDefaultEXT;
26215     alias fn_glPushDebugGroupKHR = extern(C) void function(GLenum source, GLuint id, GLsizei length, const GLchar* message) @system @nogc nothrow;
26216     /// Ditto
26217     @OpenGL_Version(OGLIntroducedIn.Unknown)
26218     @OpenGL_Extension("GL_KHR_debug")
26219     fn_glPushDebugGroupKHR glPushDebugGroupKHR;
26220     alias fn_glPushGroupMarkerEXT = extern(C) void function(GLsizei length, const GLchar* marker) @system @nogc nothrow;
26221     /// Ditto
26222     @OpenGL_Version(OGLIntroducedIn.Unknown)
26223     @OpenGL_Extension("GL_EXT_debug_marker")
26224     fn_glPushGroupMarkerEXT glPushGroupMarkerEXT;
26225     alias fn_glPushMatrix = extern(C) void function() @system @nogc nothrow;
26226     /// Ditto
26227     @OpenGL_Version(OGLIntroducedIn.V1P0)
26228     fn_glPushMatrix glPushMatrix;
26229     alias fn_glPushName = extern(C) void function(GLuint name) @system @nogc nothrow;
26230     /// Ditto
26231     @OpenGL_Version(OGLIntroducedIn.V1P0)
26232     fn_glPushName glPushName;
26233     alias fn_glQueryCounterEXT = extern(C) void function(GLuint id, GLenum target) @system @nogc nothrow;
26234     /// Ditto
26235     @OpenGL_Version(OGLIntroducedIn.Unknown)
26236     @OpenGL_Extension("GL_EXT_disjoint_timer_query")
26237     fn_glQueryCounterEXT glQueryCounterEXT;
26238     alias fn_glQueryMatrixxOES = extern(C) GLbitfield function(GLfixed* mantissa, GLint* exponent) @system @nogc nothrow;
26239     /// Ditto
26240     @OpenGL_Version(OGLIntroducedIn.Unknown)
26241     @OpenGL_Extension("GL_OES_query_matrix")
26242     fn_glQueryMatrixxOES glQueryMatrixxOES;
26243     alias fn_glQueryObjectParameteruiAMD = extern(C) void function(GLenum target, GLuint id, GLenum pname, GLuint param) @system @nogc nothrow;
26244     /// Ditto
26245     @OpenGL_Version(OGLIntroducedIn.Unknown)
26246     @OpenGL_Extension("GL_AMD_occlusion_query_event")
26247     fn_glQueryObjectParameteruiAMD glQueryObjectParameteruiAMD;
26248     alias fn_glRasterPos2d = extern(C) void function(GLdouble x, GLdouble y) @system @nogc nothrow;
26249     /// Ditto
26250     @OpenGL_Version(OGLIntroducedIn.V1P0)
26251     fn_glRasterPos2d glRasterPos2d;
26252     alias fn_glRasterPos2dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
26253     /// Ditto
26254     @OpenGL_Version(OGLIntroducedIn.V1P0)
26255     fn_glRasterPos2dv glRasterPos2dv;
26256     alias fn_glRasterPos2f = extern(C) void function(GLfloat x, GLfloat y) @system @nogc nothrow;
26257     /// Ditto
26258     @OpenGL_Version(OGLIntroducedIn.V1P0)
26259     fn_glRasterPos2f glRasterPos2f;
26260     alias fn_glRasterPos2fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
26261     /// Ditto
26262     @OpenGL_Version(OGLIntroducedIn.V1P0)
26263     fn_glRasterPos2fv glRasterPos2fv;
26264     alias fn_glRasterPos2i = extern(C) void function(GLint x, GLint y) @system @nogc nothrow;
26265     /// Ditto
26266     @OpenGL_Version(OGLIntroducedIn.V1P0)
26267     fn_glRasterPos2i glRasterPos2i;
26268     alias fn_glRasterPos2iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
26269     /// Ditto
26270     @OpenGL_Version(OGLIntroducedIn.V1P0)
26271     fn_glRasterPos2iv glRasterPos2iv;
26272     alias fn_glRasterPos2s = extern(C) void function(GLshort x, GLshort y) @system @nogc nothrow;
26273     /// Ditto
26274     @OpenGL_Version(OGLIntroducedIn.V1P0)
26275     fn_glRasterPos2s glRasterPos2s;
26276     alias fn_glRasterPos2sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
26277     /// Ditto
26278     @OpenGL_Version(OGLIntroducedIn.V1P0)
26279     fn_glRasterPos2sv glRasterPos2sv;
26280     alias fn_glRasterPos2xOES = extern(C) void function(GLfixed x, GLfixed y) @system @nogc nothrow;
26281     /// Ditto
26282     @OpenGL_Version(OGLIntroducedIn.Unknown)
26283     @OpenGL_Extension("GL_OES_fixed_point")
26284     fn_glRasterPos2xOES glRasterPos2xOES;
26285     alias fn_glRasterPos2xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
26286     /// Ditto
26287     @OpenGL_Version(OGLIntroducedIn.Unknown)
26288     @OpenGL_Extension("GL_OES_fixed_point")
26289     fn_glRasterPos2xvOES glRasterPos2xvOES;
26290     alias fn_glRasterPos3d = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
26291     /// Ditto
26292     @OpenGL_Version(OGLIntroducedIn.V1P0)
26293     fn_glRasterPos3d glRasterPos3d;
26294     alias fn_glRasterPos3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
26295     /// Ditto
26296     @OpenGL_Version(OGLIntroducedIn.V1P0)
26297     fn_glRasterPos3dv glRasterPos3dv;
26298     alias fn_glRasterPos3f = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26299     /// Ditto
26300     @OpenGL_Version(OGLIntroducedIn.V1P0)
26301     fn_glRasterPos3f glRasterPos3f;
26302     alias fn_glRasterPos3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
26303     /// Ditto
26304     @OpenGL_Version(OGLIntroducedIn.V1P0)
26305     fn_glRasterPos3fv glRasterPos3fv;
26306     alias fn_glRasterPos3i = extern(C) void function(GLint x, GLint y, GLint z) @system @nogc nothrow;
26307     /// Ditto
26308     @OpenGL_Version(OGLIntroducedIn.V1P0)
26309     fn_glRasterPos3i glRasterPos3i;
26310     alias fn_glRasterPos3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
26311     /// Ditto
26312     @OpenGL_Version(OGLIntroducedIn.V1P0)
26313     fn_glRasterPos3iv glRasterPos3iv;
26314     alias fn_glRasterPos3s = extern(C) void function(GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
26315     /// Ditto
26316     @OpenGL_Version(OGLIntroducedIn.V1P0)
26317     fn_glRasterPos3s glRasterPos3s;
26318     alias fn_glRasterPos3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
26319     /// Ditto
26320     @OpenGL_Version(OGLIntroducedIn.V1P0)
26321     fn_glRasterPos3sv glRasterPos3sv;
26322     alias fn_glRasterPos3xOES = extern(C) void function(GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
26323     /// Ditto
26324     @OpenGL_Version(OGLIntroducedIn.Unknown)
26325     @OpenGL_Extension("GL_OES_fixed_point")
26326     fn_glRasterPos3xOES glRasterPos3xOES;
26327     alias fn_glRasterPos3xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
26328     /// Ditto
26329     @OpenGL_Version(OGLIntroducedIn.Unknown)
26330     @OpenGL_Extension("GL_OES_fixed_point")
26331     fn_glRasterPos3xvOES glRasterPos3xvOES;
26332     alias fn_glRasterPos4d = extern(C) void function(GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
26333     /// Ditto
26334     @OpenGL_Version(OGLIntroducedIn.V1P0)
26335     fn_glRasterPos4d glRasterPos4d;
26336     alias fn_glRasterPos4dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
26337     /// Ditto
26338     @OpenGL_Version(OGLIntroducedIn.V1P0)
26339     fn_glRasterPos4dv glRasterPos4dv;
26340     alias fn_glRasterPos4f = extern(C) void function(GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
26341     /// Ditto
26342     @OpenGL_Version(OGLIntroducedIn.V1P0)
26343     fn_glRasterPos4f glRasterPos4f;
26344     alias fn_glRasterPos4fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
26345     /// Ditto
26346     @OpenGL_Version(OGLIntroducedIn.V1P0)
26347     fn_glRasterPos4fv glRasterPos4fv;
26348     alias fn_glRasterPos4i = extern(C) void function(GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
26349     /// Ditto
26350     @OpenGL_Version(OGLIntroducedIn.V1P0)
26351     fn_glRasterPos4i glRasterPos4i;
26352     alias fn_glRasterPos4iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
26353     /// Ditto
26354     @OpenGL_Version(OGLIntroducedIn.V1P0)
26355     fn_glRasterPos4iv glRasterPos4iv;
26356     alias fn_glRasterPos4s = extern(C) void function(GLshort x, GLshort y, GLshort z, GLshort w) @system @nogc nothrow;
26357     /// Ditto
26358     @OpenGL_Version(OGLIntroducedIn.V1P0)
26359     fn_glRasterPos4s glRasterPos4s;
26360     alias fn_glRasterPos4sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
26361     /// Ditto
26362     @OpenGL_Version(OGLIntroducedIn.V1P0)
26363     fn_glRasterPos4sv glRasterPos4sv;
26364     alias fn_glRasterPos4xOES = extern(C) void function(GLfixed x, GLfixed y, GLfixed z, GLfixed w) @system @nogc nothrow;
26365     /// Ditto
26366     @OpenGL_Version(OGLIntroducedIn.Unknown)
26367     @OpenGL_Extension("GL_OES_fixed_point")
26368     fn_glRasterPos4xOES glRasterPos4xOES;
26369     alias fn_glRasterPos4xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
26370     /// Ditto
26371     @OpenGL_Version(OGLIntroducedIn.Unknown)
26372     @OpenGL_Extension("GL_OES_fixed_point")
26373     fn_glRasterPos4xvOES glRasterPos4xvOES;
26374     alias fn_glRasterSamplesEXT = extern(C) void function(GLuint samples, GLboolean fixedsamplelocations) @system @nogc nothrow;
26375     /// Ditto
26376     @OpenGL_Version(OGLIntroducedIn.Unknown)
26377     @OpenGL_Extension("GL_EXT_raster_multisample")
26378     fn_glRasterSamplesEXT glRasterSamplesEXT;
26379     alias fn_glReadBufferIndexedEXT = extern(C) void function(GLenum src, GLint index) @system @nogc nothrow;
26380     /// Ditto
26381     @OpenGL_Version(OGLIntroducedIn.Unknown)
26382     @OpenGL_Extension("GL_EXT_multiview_draw_buffers")
26383     fn_glReadBufferIndexedEXT glReadBufferIndexedEXT;
26384     alias fn_glReadBufferNV = extern(C) void function(GLenum mode) @system @nogc nothrow;
26385     /// Ditto
26386     @OpenGL_Version(OGLIntroducedIn.Unknown)
26387     @OpenGL_Extension("GL_NV_read_buffer")
26388     fn_glReadBufferNV glReadBufferNV;
26389     alias fn_glReadInstrumentsSGIX = extern(C) void function(GLint marker) @system @nogc nothrow;
26390     /// Ditto
26391     @OpenGL_Version(OGLIntroducedIn.Unknown)
26392     @OpenGL_Extension("GL_SGIX_instruments")
26393     fn_glReadInstrumentsSGIX glReadInstrumentsSGIX;
26394     alias fn_glReadnPixelsARB = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) @system @nogc nothrow;
26395     /// Ditto
26396     @OpenGL_Version(OGLIntroducedIn.Unknown)
26397     @OpenGL_Extension("GL_ARB_robustness")
26398     fn_glReadnPixelsARB glReadnPixelsARB;
26399     alias fn_glReadnPixelsEXT = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) @system @nogc nothrow;
26400     /// Ditto
26401     @OpenGL_Version(OGLIntroducedIn.Unknown)
26402     @OpenGL_Extension("GL_EXT_robustness")
26403     fn_glReadnPixelsEXT glReadnPixelsEXT;
26404     alias fn_glReadnPixelsKHR = extern(C) void function(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data) @system @nogc nothrow;
26405     /// Ditto
26406     @OpenGL_Version(OGLIntroducedIn.Unknown)
26407     @OpenGL_Extension("GL_KHR_robustness")
26408     fn_glReadnPixelsKHR glReadnPixelsKHR;
26409     alias fn_glRectd = extern(C) void function(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) @system @nogc nothrow;
26410     /// Ditto
26411     @OpenGL_Version(OGLIntroducedIn.V1P0)
26412     fn_glRectd glRectd;
26413     alias fn_glRectdv = extern(C) void function(const GLdouble* v1, const GLdouble* v2) @system @nogc nothrow;
26414     /// Ditto
26415     @OpenGL_Version(OGLIntroducedIn.V1P0)
26416     fn_glRectdv glRectdv;
26417     alias fn_glRectf = extern(C) void function(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) @system @nogc nothrow;
26418     /// Ditto
26419     @OpenGL_Version(OGLIntroducedIn.V1P0)
26420     fn_glRectf glRectf;
26421     alias fn_glRectfv = extern(C) void function(const GLfloat* v1, const GLfloat* v2) @system @nogc nothrow;
26422     /// Ditto
26423     @OpenGL_Version(OGLIntroducedIn.V1P0)
26424     fn_glRectfv glRectfv;
26425     alias fn_glRecti = extern(C) void function(GLint x1, GLint y1, GLint x2, GLint y2) @system @nogc nothrow;
26426     /// Ditto
26427     @OpenGL_Version(OGLIntroducedIn.V1P0)
26428     fn_glRecti glRecti;
26429     alias fn_glRectiv = extern(C) void function(const GLint* v1, const GLint* v2) @system @nogc nothrow;
26430     /// Ditto
26431     @OpenGL_Version(OGLIntroducedIn.V1P0)
26432     fn_glRectiv glRectiv;
26433     alias fn_glRects = extern(C) void function(GLshort x1, GLshort y1, GLshort x2, GLshort y2) @system @nogc nothrow;
26434     /// Ditto
26435     @OpenGL_Version(OGLIntroducedIn.V1P0)
26436     fn_glRects glRects;
26437     alias fn_glRectsv = extern(C) void function(const GLshort* v1, const GLshort* v2) @system @nogc nothrow;
26438     /// Ditto
26439     @OpenGL_Version(OGLIntroducedIn.V1P0)
26440     fn_glRectsv glRectsv;
26441     alias fn_glRectxOES = extern(C) void function(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2) @system @nogc nothrow;
26442     /// Ditto
26443     @OpenGL_Version(OGLIntroducedIn.Unknown)
26444     @OpenGL_Extension("GL_OES_fixed_point")
26445     fn_glRectxOES glRectxOES;
26446     alias fn_glRectxvOES = extern(C) void function(const GLfixed* v1, const GLfixed* v2) @system @nogc nothrow;
26447     /// Ditto
26448     @OpenGL_Version(OGLIntroducedIn.Unknown)
26449     @OpenGL_Extension("GL_OES_fixed_point")
26450     fn_glRectxvOES glRectxvOES;
26451     alias fn_glReferencePlaneSGIX = extern(C) void function(const GLdouble* equation) @system @nogc nothrow;
26452     /// Ditto
26453     @OpenGL_Version(OGLIntroducedIn.Unknown)
26454     @OpenGL_Extension("GL_SGIX_reference_plane")
26455     fn_glReferencePlaneSGIX glReferencePlaneSGIX;
26456     alias fn_glRenderMode = extern(C) GLint function(GLenum mode) @system @nogc nothrow;
26457     /// Ditto
26458     @OpenGL_Version(OGLIntroducedIn.V1P0)
26459     fn_glRenderMode glRenderMode;
26460     alias fn_glRenderbufferStorageEXT = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26461     /// Ditto
26462     @OpenGL_Version(OGLIntroducedIn.Unknown)
26463     @OpenGL_Extension("GL_EXT_framebuffer_object")
26464     fn_glRenderbufferStorageEXT glRenderbufferStorageEXT;
26465     alias fn_glRenderbufferStorageMultisampleANGLE = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26466     /// Ditto
26467     @OpenGL_Version(OGLIntroducedIn.Unknown)
26468     @OpenGL_Extension("GL_ANGLE_framebuffer_multisample")
26469     fn_glRenderbufferStorageMultisampleANGLE glRenderbufferStorageMultisampleANGLE;
26470     alias fn_glRenderbufferStorageMultisampleAPPLE = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26471     /// Ditto
26472     @OpenGL_Version(OGLIntroducedIn.Unknown)
26473     @OpenGL_Extension("GL_APPLE_framebuffer_multisample")
26474     fn_glRenderbufferStorageMultisampleAPPLE glRenderbufferStorageMultisampleAPPLE;
26475     alias fn_glRenderbufferStorageMultisampleCoverageNV = extern(C) void function(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26476     /// Ditto
26477     @OpenGL_Version(OGLIntroducedIn.Unknown)
26478     @OpenGL_Extension("GL_NV_framebuffer_multisample_coverage")
26479     fn_glRenderbufferStorageMultisampleCoverageNV glRenderbufferStorageMultisampleCoverageNV;
26480     alias fn_glRenderbufferStorageMultisampleEXT = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26481     /// Ditto
26482     @OpenGL_Version(OGLIntroducedIn.Unknown)
26483     @OpenGL_Extension("GL_EXT_framebuffer_multisample")
26484     fn_glRenderbufferStorageMultisampleEXT glRenderbufferStorageMultisampleEXT;
26485     alias fn_glRenderbufferStorageMultisampleIMG = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26486     /// Ditto
26487     @OpenGL_Version(OGLIntroducedIn.Unknown)
26488     @OpenGL_Extension("GL_IMG_multisampled_render_to_texture")
26489     fn_glRenderbufferStorageMultisampleIMG glRenderbufferStorageMultisampleIMG;
26490     alias fn_glRenderbufferStorageMultisampleNV = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26491     /// Ditto
26492     @OpenGL_Version(OGLIntroducedIn.Unknown)
26493     @OpenGL_Extension("GL_NV_framebuffer_multisample")
26494     fn_glRenderbufferStorageMultisampleNV glRenderbufferStorageMultisampleNV;
26495     alias fn_glRenderbufferStorageOES = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
26496     /// Ditto
26497     @OpenGL_Version(OGLIntroducedIn.Unknown)
26498     @OpenGL_Extension("GL_OES_framebuffer_object")
26499     fn_glRenderbufferStorageOES glRenderbufferStorageOES;
26500     alias fn_glReplacementCodePointerSUN = extern(C) void function(GLenum type, GLsizei stride, const void** pointer) @system @nogc nothrow;
26501     /// Ditto
26502     @OpenGL_Version(OGLIntroducedIn.Unknown)
26503     @OpenGL_Extension("GL_SUN_triangle_list")
26504     fn_glReplacementCodePointerSUN glReplacementCodePointerSUN;
26505     alias fn_glReplacementCodeubSUN = extern(C) void function(GLubyte code) @system @nogc nothrow;
26506     /// Ditto
26507     @OpenGL_Version(OGLIntroducedIn.Unknown)
26508     @OpenGL_Extension("GL_SUN_triangle_list")
26509     fn_glReplacementCodeubSUN glReplacementCodeubSUN;
26510     alias fn_glReplacementCodeubvSUN = extern(C) void function(const(GLubyte)* code) @system @nogc nothrow;
26511     /// Ditto
26512     @OpenGL_Version(OGLIntroducedIn.Unknown)
26513     @OpenGL_Extension("GL_SUN_triangle_list")
26514     fn_glReplacementCodeubvSUN glReplacementCodeubvSUN;
26515     alias fn_glReplacementCodeuiColor3fVertex3fSUN = extern(C) void function(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26516     /// Ditto
26517     @OpenGL_Version(OGLIntroducedIn.Unknown)
26518     @OpenGL_Extension("GL_SUN_vertex")
26519     fn_glReplacementCodeuiColor3fVertex3fSUN glReplacementCodeuiColor3fVertex3fSUN;
26520     alias fn_glReplacementCodeuiColor3fVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* c, const GLfloat* v) @system @nogc nothrow;
26521     /// Ditto
26522     @OpenGL_Version(OGLIntroducedIn.Unknown)
26523     @OpenGL_Extension("GL_SUN_vertex")
26524     fn_glReplacementCodeuiColor3fVertex3fvSUN glReplacementCodeuiColor3fVertex3fvSUN;
26525     alias fn_glReplacementCodeuiColor4fNormal3fVertex3fSUN = extern(C) void function(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26526     /// Ditto
26527     @OpenGL_Version(OGLIntroducedIn.Unknown)
26528     @OpenGL_Extension("GL_SUN_vertex")
26529     fn_glReplacementCodeuiColor4fNormal3fVertex3fSUN glReplacementCodeuiColor4fNormal3fVertex3fSUN;
26530     alias fn_glReplacementCodeuiColor4fNormal3fVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* c, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
26531     /// Ditto
26532     @OpenGL_Version(OGLIntroducedIn.Unknown)
26533     @OpenGL_Extension("GL_SUN_vertex")
26534     fn_glReplacementCodeuiColor4fNormal3fVertex3fvSUN glReplacementCodeuiColor4fNormal3fVertex3fvSUN;
26535     alias fn_glReplacementCodeuiColor4ubVertex3fSUN = extern(C) void function(GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26536     /// Ditto
26537     @OpenGL_Version(OGLIntroducedIn.Unknown)
26538     @OpenGL_Extension("GL_SUN_vertex")
26539     fn_glReplacementCodeuiColor4ubVertex3fSUN glReplacementCodeuiColor4ubVertex3fSUN;
26540     alias fn_glReplacementCodeuiColor4ubVertex3fvSUN = extern(C) void function(const GLuint* rc, const(GLubyte)* c, const GLfloat* v) @system @nogc nothrow;
26541     /// Ditto
26542     @OpenGL_Version(OGLIntroducedIn.Unknown)
26543     @OpenGL_Extension("GL_SUN_vertex")
26544     fn_glReplacementCodeuiColor4ubVertex3fvSUN glReplacementCodeuiColor4ubVertex3fvSUN;
26545     alias fn_glReplacementCodeuiNormal3fVertex3fSUN = extern(C) void function(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26546     /// Ditto
26547     @OpenGL_Version(OGLIntroducedIn.Unknown)
26548     @OpenGL_Extension("GL_SUN_vertex")
26549     fn_glReplacementCodeuiNormal3fVertex3fSUN glReplacementCodeuiNormal3fVertex3fSUN;
26550     alias fn_glReplacementCodeuiNormal3fVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
26551     /// Ditto
26552     @OpenGL_Version(OGLIntroducedIn.Unknown)
26553     @OpenGL_Extension("GL_SUN_vertex")
26554     fn_glReplacementCodeuiNormal3fVertex3fvSUN glReplacementCodeuiNormal3fVertex3fvSUN;
26555     alias fn_glReplacementCodeuiSUN = extern(C) void function(GLuint code) @system @nogc nothrow;
26556     /// Ditto
26557     @OpenGL_Version(OGLIntroducedIn.Unknown)
26558     @OpenGL_Extension("GL_SUN_triangle_list")
26559     fn_glReplacementCodeuiSUN glReplacementCodeuiSUN;
26560     alias fn_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = extern(C) void function(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26561     /// Ditto
26562     @OpenGL_Version(OGLIntroducedIn.Unknown)
26563     @OpenGL_Extension("GL_SUN_vertex")
26564     fn_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
26565     alias fn_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* tc, const GLfloat* c, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
26566     /// Ditto
26567     @OpenGL_Version(OGLIntroducedIn.Unknown)
26568     @OpenGL_Extension("GL_SUN_vertex")
26569     fn_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
26570     alias fn_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = extern(C) void function(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26571     /// Ditto
26572     @OpenGL_Version(OGLIntroducedIn.Unknown)
26573     @OpenGL_Extension("GL_SUN_vertex")
26574     fn_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
26575     alias fn_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* tc, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
26576     /// Ditto
26577     @OpenGL_Version(OGLIntroducedIn.Unknown)
26578     @OpenGL_Extension("GL_SUN_vertex")
26579     fn_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
26580     alias fn_glReplacementCodeuiTexCoord2fVertex3fSUN = extern(C) void function(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26581     /// Ditto
26582     @OpenGL_Version(OGLIntroducedIn.Unknown)
26583     @OpenGL_Extension("GL_SUN_vertex")
26584     fn_glReplacementCodeuiTexCoord2fVertex3fSUN glReplacementCodeuiTexCoord2fVertex3fSUN;
26585     alias fn_glReplacementCodeuiTexCoord2fVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* tc, const GLfloat* v) @system @nogc nothrow;
26586     /// Ditto
26587     @OpenGL_Version(OGLIntroducedIn.Unknown)
26588     @OpenGL_Extension("GL_SUN_vertex")
26589     fn_glReplacementCodeuiTexCoord2fVertex3fvSUN glReplacementCodeuiTexCoord2fVertex3fvSUN;
26590     alias fn_glReplacementCodeuiVertex3fSUN = extern(C) void function(GLuint rc, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26591     /// Ditto
26592     @OpenGL_Version(OGLIntroducedIn.Unknown)
26593     @OpenGL_Extension("GL_SUN_vertex")
26594     fn_glReplacementCodeuiVertex3fSUN glReplacementCodeuiVertex3fSUN;
26595     alias fn_glReplacementCodeuiVertex3fvSUN = extern(C) void function(const GLuint* rc, const GLfloat* v) @system @nogc nothrow;
26596     /// Ditto
26597     @OpenGL_Version(OGLIntroducedIn.Unknown)
26598     @OpenGL_Extension("GL_SUN_vertex")
26599     fn_glReplacementCodeuiVertex3fvSUN glReplacementCodeuiVertex3fvSUN;
26600     alias fn_glReplacementCodeuivSUN = extern(C) void function(const GLuint* code) @system @nogc nothrow;
26601     /// Ditto
26602     @OpenGL_Version(OGLIntroducedIn.Unknown)
26603     @OpenGL_Extension("GL_SUN_triangle_list")
26604     fn_glReplacementCodeuivSUN glReplacementCodeuivSUN;
26605     alias fn_glReplacementCodeusSUN = extern(C) void function(GLushort code) @system @nogc nothrow;
26606     /// Ditto
26607     @OpenGL_Version(OGLIntroducedIn.Unknown)
26608     @OpenGL_Extension("GL_SUN_triangle_list")
26609     fn_glReplacementCodeusSUN glReplacementCodeusSUN;
26610     alias fn_glReplacementCodeusvSUN = extern(C) void function(const GLushort* code) @system @nogc nothrow;
26611     /// Ditto
26612     @OpenGL_Version(OGLIntroducedIn.Unknown)
26613     @OpenGL_Extension("GL_SUN_triangle_list")
26614     fn_glReplacementCodeusvSUN glReplacementCodeusvSUN;
26615     alias fn_glRequestResidentProgramsNV = extern(C) void function(GLsizei n, const GLuint* programs) @system @nogc nothrow;
26616     /// Ditto
26617     @OpenGL_Version(OGLIntroducedIn.Unknown)
26618     @OpenGL_Extension("GL_NV_vertex_program")
26619     fn_glRequestResidentProgramsNV glRequestResidentProgramsNV;
26620     alias fn_glResetHistogram = extern(C) void function(GLenum target) @system @nogc nothrow;
26621     /// Ditto
26622     @OpenGL_Version(OGLIntroducedIn.Unknown)
26623     @OpenGL_Extension("GL_ARB_imaging")
26624     fn_glResetHistogram glResetHistogram;
26625     alias fn_glResetHistogramEXT = extern(C) void function(GLenum target) @system @nogc nothrow;
26626     /// Ditto
26627     @OpenGL_Version(OGLIntroducedIn.Unknown)
26628     @OpenGL_Extension("GL_EXT_histogram")
26629     fn_glResetHistogramEXT glResetHistogramEXT;
26630     alias fn_glResetMinmax = extern(C) void function(GLenum target) @system @nogc nothrow;
26631     /// Ditto
26632     @OpenGL_Version(OGLIntroducedIn.Unknown)
26633     @OpenGL_Extension("GL_ARB_imaging")
26634     fn_glResetMinmax glResetMinmax;
26635     alias fn_glResetMinmaxEXT = extern(C) void function(GLenum target) @system @nogc nothrow;
26636     /// Ditto
26637     @OpenGL_Version(OGLIntroducedIn.Unknown)
26638     @OpenGL_Extension("GL_EXT_histogram")
26639     fn_glResetMinmaxEXT glResetMinmaxEXT;
26640     alias fn_glResizeBuffersMESA = extern(C) void function() @system @nogc nothrow;
26641     /// Ditto
26642     @OpenGL_Version(OGLIntroducedIn.Unknown)
26643     @OpenGL_Extension("GL_MESA_resize_buffers")
26644     fn_glResizeBuffersMESA glResizeBuffersMESA;
26645     alias fn_glResolveDepthValuesNV = extern(C) void function() @system @nogc nothrow;
26646     /// Ditto
26647     @OpenGL_Version(OGLIntroducedIn.Unknown)
26648     @OpenGL_Extension("GL_NV_sample_locations")
26649     fn_glResolveDepthValuesNV glResolveDepthValuesNV;
26650     alias fn_glResolveMultisampleFramebufferAPPLE = extern(C) void function() @system @nogc nothrow;
26651     /// Ditto
26652     @OpenGL_Version(OGLIntroducedIn.Unknown)
26653     @OpenGL_Extension("GL_APPLE_framebuffer_multisample")
26654     fn_glResolveMultisampleFramebufferAPPLE glResolveMultisampleFramebufferAPPLE;
26655     alias fn_glResumeTransformFeedbackNV = extern(C) void function() @system @nogc nothrow;
26656     /// Ditto
26657     @OpenGL_Version(OGLIntroducedIn.Unknown)
26658     @OpenGL_Extension("GL_NV_transform_feedback2")
26659     fn_glResumeTransformFeedbackNV glResumeTransformFeedbackNV;
26660     alias fn_glRotated = extern(C) void function(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
26661     /// Ditto
26662     @OpenGL_Version(OGLIntroducedIn.V1P0)
26663     fn_glRotated glRotated;
26664     alias fn_glRotatef = extern(C) void function(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26665     /// Ditto
26666     @OpenGL_Version(OGLIntroducedIn.V1P0)
26667     fn_glRotatef glRotatef;
26668     alias fn_glRotatex = extern(C) void function(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
26669     /// Ditto
26670     @OpenGL_Version(OGLIntroducedIn.Unknown)
26671     fn_glRotatex glRotatex;
26672     alias fn_glRotatexOES = extern(C) void function(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
26673     /// Ditto
26674     @OpenGL_Version(OGLIntroducedIn.Unknown)
26675     @OpenGL_Extension("GL_OES_fixed_point")
26676     fn_glRotatexOES glRotatexOES;
26677     alias fn_glSampleCoverageARB = extern(C) void function(GLfloat value, GLboolean invert) @system @nogc nothrow;
26678     /// Ditto
26679     @OpenGL_Version(OGLIntroducedIn.Unknown)
26680     @OpenGL_Extension("GL_ARB_multisample")
26681     fn_glSampleCoverageARB glSampleCoverageARB;
26682     alias fn_glSampleCoveragex = extern(C) void function(GLclampx value, GLboolean invert) @system @nogc nothrow;
26683     /// Ditto
26684     @OpenGL_Version(OGLIntroducedIn.Unknown)
26685     fn_glSampleCoveragex glSampleCoveragex;
26686     alias fn_glSampleCoveragexOES = extern(C) void function(GLclampx value, GLboolean invert) @system @nogc nothrow;
26687     /// Ditto
26688     @OpenGL_Version(OGLIntroducedIn.Unknown)
26689     @OpenGL_Extension("GL_OES_fixed_point")
26690     fn_glSampleCoveragexOES glSampleCoveragexOES;
26691     alias fn_glSampleMapATI = extern(C) void function(GLuint dst, GLuint interp, GLenum swizzle) @system @nogc nothrow;
26692     /// Ditto
26693     @OpenGL_Version(OGLIntroducedIn.Unknown)
26694     @OpenGL_Extension("GL_ATI_fragment_shader")
26695     fn_glSampleMapATI glSampleMapATI;
26696     alias fn_glSampleMaskEXT = extern(C) void function(GLclampf value, GLboolean invert) @system @nogc nothrow;
26697     /// Ditto
26698     @OpenGL_Version(OGLIntroducedIn.Unknown)
26699     @OpenGL_Extension("GL_EXT_multisample")
26700     fn_glSampleMaskEXT glSampleMaskEXT;
26701     alias fn_glSampleMaskIndexedNV = extern(C) void function(GLuint index, GLbitfield mask) @system @nogc nothrow;
26702     /// Ditto
26703     @OpenGL_Version(OGLIntroducedIn.Unknown)
26704     @OpenGL_Extension("GL_NV_explicit_multisample")
26705     fn_glSampleMaskIndexedNV glSampleMaskIndexedNV;
26706     alias fn_glSampleMaskSGIS = extern(C) void function(GLclampf value, GLboolean invert) @system @nogc nothrow;
26707     /// Ditto
26708     @OpenGL_Version(OGLIntroducedIn.Unknown)
26709     @OpenGL_Extension("GL_SGIS_multisample")
26710     fn_glSampleMaskSGIS glSampleMaskSGIS;
26711     alias fn_glSamplePatternEXT = extern(C) void function(GLenum pattern) @system @nogc nothrow;
26712     /// Ditto
26713     @OpenGL_Version(OGLIntroducedIn.Unknown)
26714     @OpenGL_Extension("GL_EXT_multisample")
26715     fn_glSamplePatternEXT glSamplePatternEXT;
26716     alias fn_glSamplePatternSGIS = extern(C) void function(GLenum pattern) @system @nogc nothrow;
26717     /// Ditto
26718     @OpenGL_Version(OGLIntroducedIn.Unknown)
26719     @OpenGL_Extension("GL_SGIS_multisample")
26720     fn_glSamplePatternSGIS glSamplePatternSGIS;
26721     alias fn_glSamplerParameterIiv = extern(C) void function(GLuint sampler, GLenum pname, const GLint* param) @system @nogc nothrow;
26722     /// Ditto
26723     @OpenGL_Version(OGLIntroducedIn.V3P3)
26724     @OpenGL_Extension("GL_ARB_sampler_objects")
26725     fn_glSamplerParameterIiv glSamplerParameterIiv;
26726     alias fn_glSamplerParameterIivEXT = extern(C) void function(GLuint sampler, GLenum pname, const GLint* param) @system @nogc nothrow;
26727     /// Ditto
26728     @OpenGL_Version(OGLIntroducedIn.Unknown)
26729     @OpenGL_Extension("GL_EXT_texture_border_clamp")
26730     fn_glSamplerParameterIivEXT glSamplerParameterIivEXT;
26731     alias fn_glSamplerParameterIivOES = extern(C) void function(GLuint sampler, GLenum pname, const GLint* param) @system @nogc nothrow;
26732     /// Ditto
26733     @OpenGL_Version(OGLIntroducedIn.Unknown)
26734     @OpenGL_Extension("GL_OES_texture_border_clamp")
26735     fn_glSamplerParameterIivOES glSamplerParameterIivOES;
26736     alias fn_glSamplerParameterIuiv = extern(C) void function(GLuint sampler, GLenum pname, const GLuint* param) @system @nogc nothrow;
26737     /// Ditto
26738     @OpenGL_Version(OGLIntroducedIn.V3P3)
26739     @OpenGL_Extension("GL_ARB_sampler_objects")
26740     fn_glSamplerParameterIuiv glSamplerParameterIuiv;
26741     alias fn_glSamplerParameterIuivEXT = extern(C) void function(GLuint sampler, GLenum pname, const GLuint* param) @system @nogc nothrow;
26742     /// Ditto
26743     @OpenGL_Version(OGLIntroducedIn.Unknown)
26744     @OpenGL_Extension("GL_EXT_texture_border_clamp")
26745     fn_glSamplerParameterIuivEXT glSamplerParameterIuivEXT;
26746     alias fn_glSamplerParameterIuivOES = extern(C) void function(GLuint sampler, GLenum pname, const GLuint* param) @system @nogc nothrow;
26747     /// Ditto
26748     @OpenGL_Version(OGLIntroducedIn.Unknown)
26749     @OpenGL_Extension("GL_OES_texture_border_clamp")
26750     fn_glSamplerParameterIuivOES glSamplerParameterIuivOES;
26751     alias fn_glSamplerParameterfv = extern(C) void function(GLuint sampler, GLenum pname, const GLfloat* param) @system @nogc nothrow;
26752     /// Ditto
26753     @OpenGL_Version(OGLIntroducedIn.V3P3)
26754     @OpenGL_Extension("GL_ARB_sampler_objects")
26755     fn_glSamplerParameterfv glSamplerParameterfv;
26756     alias fn_glSamplerParameteri = extern(C) void function(GLuint sampler, GLenum pname, GLint param) @system @nogc nothrow;
26757     /// Ditto
26758     @OpenGL_Version(OGLIntroducedIn.V3P3)
26759     @OpenGL_Extension("GL_ARB_sampler_objects")
26760     fn_glSamplerParameteri glSamplerParameteri;
26761     alias fn_glSamplerParameteriv = extern(C) void function(GLuint sampler, GLenum pname, const GLint* param) @system @nogc nothrow;
26762     /// Ditto
26763     @OpenGL_Version(OGLIntroducedIn.V3P3)
26764     @OpenGL_Extension("GL_ARB_sampler_objects")
26765     fn_glSamplerParameteriv glSamplerParameteriv;
26766     alias fn_glScaled = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
26767     /// Ditto
26768     @OpenGL_Version(OGLIntroducedIn.V1P0)
26769     fn_glScaled glScaled;
26770     alias fn_glScalef = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
26771     /// Ditto
26772     @OpenGL_Version(OGLIntroducedIn.V1P0)
26773     fn_glScalef glScalef;
26774     alias fn_glScalex = extern(C) void function(GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
26775     /// Ditto
26776     @OpenGL_Version(OGLIntroducedIn.Unknown)
26777     fn_glScalex glScalex;
26778     alias fn_glScalexOES = extern(C) void function(GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
26779     /// Ditto
26780     @OpenGL_Version(OGLIntroducedIn.Unknown)
26781     @OpenGL_Extension("GL_OES_fixed_point")
26782     fn_glScalexOES glScalexOES;
26783     alias fn_glScissorArrayvNV = extern(C) void function(GLuint first, GLsizei count, const GLint* v) @system @nogc nothrow;
26784     /// Ditto
26785     @OpenGL_Version(OGLIntroducedIn.Unknown)
26786     @OpenGL_Extension("GL_NV_viewport_array")
26787     fn_glScissorArrayvNV glScissorArrayvNV;
26788     alias fn_glScissorArrayvOES = extern(C) void function(GLuint first, GLsizei count, const GLint* v) @system @nogc nothrow;
26789     /// Ditto
26790     @OpenGL_Version(OGLIntroducedIn.Unknown)
26791     @OpenGL_Extension("GL_OES_viewport_array")
26792     fn_glScissorArrayvOES glScissorArrayvOES;
26793     alias fn_glScissorIndexedNV = extern(C) void function(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) @system @nogc nothrow;
26794     /// Ditto
26795     @OpenGL_Version(OGLIntroducedIn.Unknown)
26796     @OpenGL_Extension("GL_NV_viewport_array")
26797     fn_glScissorIndexedNV glScissorIndexedNV;
26798     alias fn_glScissorIndexedOES = extern(C) void function(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) @system @nogc nothrow;
26799     /// Ditto
26800     @OpenGL_Version(OGLIntroducedIn.Unknown)
26801     @OpenGL_Extension("GL_OES_viewport_array")
26802     fn_glScissorIndexedOES glScissorIndexedOES;
26803     alias fn_glScissorIndexedvNV = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
26804     /// Ditto
26805     @OpenGL_Version(OGLIntroducedIn.Unknown)
26806     @OpenGL_Extension("GL_NV_viewport_array")
26807     fn_glScissorIndexedvNV glScissorIndexedvNV;
26808     alias fn_glScissorIndexedvOES = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
26809     /// Ditto
26810     @OpenGL_Version(OGLIntroducedIn.Unknown)
26811     @OpenGL_Extension("GL_OES_viewport_array")
26812     fn_glScissorIndexedvOES glScissorIndexedvOES;
26813     alias fn_glSecondaryColor3b = extern(C) void function(GLbyte red, GLbyte green, GLbyte blue) @system @nogc nothrow;
26814     /// Ditto
26815     @OpenGL_Version(OGLIntroducedIn.V1P4)
26816     fn_glSecondaryColor3b glSecondaryColor3b;
26817     alias fn_glSecondaryColor3bEXT = extern(C) void function(GLbyte red, GLbyte green, GLbyte blue) @system @nogc nothrow;
26818     /// Ditto
26819     @OpenGL_Version(OGLIntroducedIn.Unknown)
26820     @OpenGL_Extension("GL_EXT_secondary_color")
26821     fn_glSecondaryColor3bEXT glSecondaryColor3bEXT;
26822     alias fn_glSecondaryColor3bv = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
26823     /// Ditto
26824     @OpenGL_Version(OGLIntroducedIn.V1P4)
26825     fn_glSecondaryColor3bv glSecondaryColor3bv;
26826     alias fn_glSecondaryColor3bvEXT = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
26827     /// Ditto
26828     @OpenGL_Version(OGLIntroducedIn.Unknown)
26829     @OpenGL_Extension("GL_EXT_secondary_color")
26830     fn_glSecondaryColor3bvEXT glSecondaryColor3bvEXT;
26831     alias fn_glSecondaryColor3d = extern(C) void function(GLdouble red, GLdouble green, GLdouble blue) @system @nogc nothrow;
26832     /// Ditto
26833     @OpenGL_Version(OGLIntroducedIn.V1P4)
26834     fn_glSecondaryColor3d glSecondaryColor3d;
26835     alias fn_glSecondaryColor3dEXT = extern(C) void function(GLdouble red, GLdouble green, GLdouble blue) @system @nogc nothrow;
26836     /// Ditto
26837     @OpenGL_Version(OGLIntroducedIn.Unknown)
26838     @OpenGL_Extension("GL_EXT_secondary_color")
26839     fn_glSecondaryColor3dEXT glSecondaryColor3dEXT;
26840     alias fn_glSecondaryColor3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
26841     /// Ditto
26842     @OpenGL_Version(OGLIntroducedIn.V1P4)
26843     fn_glSecondaryColor3dv glSecondaryColor3dv;
26844     alias fn_glSecondaryColor3dvEXT = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
26845     /// Ditto
26846     @OpenGL_Version(OGLIntroducedIn.Unknown)
26847     @OpenGL_Extension("GL_EXT_secondary_color")
26848     fn_glSecondaryColor3dvEXT glSecondaryColor3dvEXT;
26849     alias fn_glSecondaryColor3f = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue) @system @nogc nothrow;
26850     /// Ditto
26851     @OpenGL_Version(OGLIntroducedIn.V1P4)
26852     fn_glSecondaryColor3f glSecondaryColor3f;
26853     alias fn_glSecondaryColor3fEXT = extern(C) void function(GLfloat red, GLfloat green, GLfloat blue) @system @nogc nothrow;
26854     /// Ditto
26855     @OpenGL_Version(OGLIntroducedIn.Unknown)
26856     @OpenGL_Extension("GL_EXT_secondary_color")
26857     fn_glSecondaryColor3fEXT glSecondaryColor3fEXT;
26858     alias fn_glSecondaryColor3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
26859     /// Ditto
26860     @OpenGL_Version(OGLIntroducedIn.V1P4)
26861     fn_glSecondaryColor3fv glSecondaryColor3fv;
26862     alias fn_glSecondaryColor3fvEXT = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
26863     /// Ditto
26864     @OpenGL_Version(OGLIntroducedIn.Unknown)
26865     @OpenGL_Extension("GL_EXT_secondary_color")
26866     fn_glSecondaryColor3fvEXT glSecondaryColor3fvEXT;
26867     alias fn_glSecondaryColor3hNV = extern(C) void function(GLhalfNV red, GLhalfNV green, GLhalfNV blue) @system @nogc nothrow;
26868     /// Ditto
26869     @OpenGL_Version(OGLIntroducedIn.Unknown)
26870     @OpenGL_Extension("GL_NV_half_float")
26871     fn_glSecondaryColor3hNV glSecondaryColor3hNV;
26872     alias fn_glSecondaryColor3hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
26873     /// Ditto
26874     @OpenGL_Version(OGLIntroducedIn.Unknown)
26875     @OpenGL_Extension("GL_NV_half_float")
26876     fn_glSecondaryColor3hvNV glSecondaryColor3hvNV;
26877     alias fn_glSecondaryColor3i = extern(C) void function(GLint red, GLint green, GLint blue) @system @nogc nothrow;
26878     /// Ditto
26879     @OpenGL_Version(OGLIntroducedIn.V1P4)
26880     fn_glSecondaryColor3i glSecondaryColor3i;
26881     alias fn_glSecondaryColor3iEXT = extern(C) void function(GLint red, GLint green, GLint blue) @system @nogc nothrow;
26882     /// Ditto
26883     @OpenGL_Version(OGLIntroducedIn.Unknown)
26884     @OpenGL_Extension("GL_EXT_secondary_color")
26885     fn_glSecondaryColor3iEXT glSecondaryColor3iEXT;
26886     alias fn_glSecondaryColor3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
26887     /// Ditto
26888     @OpenGL_Version(OGLIntroducedIn.V1P4)
26889     fn_glSecondaryColor3iv glSecondaryColor3iv;
26890     alias fn_glSecondaryColor3ivEXT = extern(C) void function(const GLint* v) @system @nogc nothrow;
26891     /// Ditto
26892     @OpenGL_Version(OGLIntroducedIn.Unknown)
26893     @OpenGL_Extension("GL_EXT_secondary_color")
26894     fn_glSecondaryColor3ivEXT glSecondaryColor3ivEXT;
26895     alias fn_glSecondaryColor3s = extern(C) void function(GLshort red, GLshort green, GLshort blue) @system @nogc nothrow;
26896     /// Ditto
26897     @OpenGL_Version(OGLIntroducedIn.V1P4)
26898     fn_glSecondaryColor3s glSecondaryColor3s;
26899     alias fn_glSecondaryColor3sEXT = extern(C) void function(GLshort red, GLshort green, GLshort blue) @system @nogc nothrow;
26900     /// Ditto
26901     @OpenGL_Version(OGLIntroducedIn.Unknown)
26902     @OpenGL_Extension("GL_EXT_secondary_color")
26903     fn_glSecondaryColor3sEXT glSecondaryColor3sEXT;
26904     alias fn_glSecondaryColor3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
26905     /// Ditto
26906     @OpenGL_Version(OGLIntroducedIn.V1P4)
26907     fn_glSecondaryColor3sv glSecondaryColor3sv;
26908     alias fn_glSecondaryColor3svEXT = extern(C) void function(const GLshort* v) @system @nogc nothrow;
26909     /// Ditto
26910     @OpenGL_Version(OGLIntroducedIn.Unknown)
26911     @OpenGL_Extension("GL_EXT_secondary_color")
26912     fn_glSecondaryColor3svEXT glSecondaryColor3svEXT;
26913     alias fn_glSecondaryColor3ub = extern(C) void function(GLubyte red, GLubyte green, GLubyte blue) @system @nogc nothrow;
26914     /// Ditto
26915     @OpenGL_Version(OGLIntroducedIn.V1P4)
26916     fn_glSecondaryColor3ub glSecondaryColor3ub;
26917     alias fn_glSecondaryColor3ubEXT = extern(C) void function(GLubyte red, GLubyte green, GLubyte blue) @system @nogc nothrow;
26918     /// Ditto
26919     @OpenGL_Version(OGLIntroducedIn.Unknown)
26920     @OpenGL_Extension("GL_EXT_secondary_color")
26921     fn_glSecondaryColor3ubEXT glSecondaryColor3ubEXT;
26922     alias fn_glSecondaryColor3ubv = extern(C) void function(const(GLubyte)* v) @system @nogc nothrow;
26923     /// Ditto
26924     @OpenGL_Version(OGLIntroducedIn.V1P4)
26925     fn_glSecondaryColor3ubv glSecondaryColor3ubv;
26926     alias fn_glSecondaryColor3ubvEXT = extern(C) void function(const(GLubyte)* v) @system @nogc nothrow;
26927     /// Ditto
26928     @OpenGL_Version(OGLIntroducedIn.Unknown)
26929     @OpenGL_Extension("GL_EXT_secondary_color")
26930     fn_glSecondaryColor3ubvEXT glSecondaryColor3ubvEXT;
26931     alias fn_glSecondaryColor3ui = extern(C) void function(GLuint red, GLuint green, GLuint blue) @system @nogc nothrow;
26932     /// Ditto
26933     @OpenGL_Version(OGLIntroducedIn.V1P4)
26934     fn_glSecondaryColor3ui glSecondaryColor3ui;
26935     alias fn_glSecondaryColor3uiEXT = extern(C) void function(GLuint red, GLuint green, GLuint blue) @system @nogc nothrow;
26936     /// Ditto
26937     @OpenGL_Version(OGLIntroducedIn.Unknown)
26938     @OpenGL_Extension("GL_EXT_secondary_color")
26939     fn_glSecondaryColor3uiEXT glSecondaryColor3uiEXT;
26940     alias fn_glSecondaryColor3uiv = extern(C) void function(const GLuint* v) @system @nogc nothrow;
26941     /// Ditto
26942     @OpenGL_Version(OGLIntroducedIn.V1P4)
26943     fn_glSecondaryColor3uiv glSecondaryColor3uiv;
26944     alias fn_glSecondaryColor3uivEXT = extern(C) void function(const GLuint* v) @system @nogc nothrow;
26945     /// Ditto
26946     @OpenGL_Version(OGLIntroducedIn.Unknown)
26947     @OpenGL_Extension("GL_EXT_secondary_color")
26948     fn_glSecondaryColor3uivEXT glSecondaryColor3uivEXT;
26949     alias fn_glSecondaryColor3us = extern(C) void function(GLushort red, GLushort green, GLushort blue) @system @nogc nothrow;
26950     /// Ditto
26951     @OpenGL_Version(OGLIntroducedIn.V1P4)
26952     fn_glSecondaryColor3us glSecondaryColor3us;
26953     alias fn_glSecondaryColor3usEXT = extern(C) void function(GLushort red, GLushort green, GLushort blue) @system @nogc nothrow;
26954     /// Ditto
26955     @OpenGL_Version(OGLIntroducedIn.Unknown)
26956     @OpenGL_Extension("GL_EXT_secondary_color")
26957     fn_glSecondaryColor3usEXT glSecondaryColor3usEXT;
26958     alias fn_glSecondaryColor3usv = extern(C) void function(const GLushort* v) @system @nogc nothrow;
26959     /// Ditto
26960     @OpenGL_Version(OGLIntroducedIn.V1P4)
26961     fn_glSecondaryColor3usv glSecondaryColor3usv;
26962     alias fn_glSecondaryColor3usvEXT = extern(C) void function(const GLushort* v) @system @nogc nothrow;
26963     /// Ditto
26964     @OpenGL_Version(OGLIntroducedIn.Unknown)
26965     @OpenGL_Extension("GL_EXT_secondary_color")
26966     fn_glSecondaryColor3usvEXT glSecondaryColor3usvEXT;
26967     alias fn_glSecondaryColorFormatNV = extern(C) void function(GLint size, GLenum type, GLsizei stride) @system @nogc nothrow;
26968     /// Ditto
26969     @OpenGL_Version(OGLIntroducedIn.Unknown)
26970     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
26971     fn_glSecondaryColorFormatNV glSecondaryColorFormatNV;
26972     alias fn_glSecondaryColorP3ui = extern(C) void function(GLenum type, GLuint color) @system @nogc nothrow;
26973     /// Ditto
26974     @OpenGL_Version(OGLIntroducedIn.V3P3)
26975     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
26976     fn_glSecondaryColorP3ui glSecondaryColorP3ui;
26977     alias fn_glSecondaryColorP3uiv = extern(C) void function(GLenum type, const GLuint* color) @system @nogc nothrow;
26978     /// Ditto
26979     @OpenGL_Version(OGLIntroducedIn.V3P3)
26980     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
26981     fn_glSecondaryColorP3uiv glSecondaryColorP3uiv;
26982     alias fn_glSecondaryColorPointer = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
26983     /// Ditto
26984     @OpenGL_Version(OGLIntroducedIn.V1P4)
26985     fn_glSecondaryColorPointer glSecondaryColorPointer;
26986     alias fn_glSecondaryColorPointerEXT = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
26987     /// Ditto
26988     @OpenGL_Version(OGLIntroducedIn.Unknown)
26989     @OpenGL_Extension("GL_EXT_secondary_color")
26990     fn_glSecondaryColorPointerEXT glSecondaryColorPointerEXT;
26991     alias fn_glSecondaryColorPointerListIBM = extern(C) void function(GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
26992     /// Ditto
26993     @OpenGL_Version(OGLIntroducedIn.Unknown)
26994     @OpenGL_Extension("GL_IBM_vertex_array_lists")
26995     fn_glSecondaryColorPointerListIBM glSecondaryColorPointerListIBM;
26996     alias fn_glSelectBuffer = extern(C) void function(GLsizei size, GLuint* buffer) @system @nogc nothrow;
26997     /// Ditto
26998     @OpenGL_Version(OGLIntroducedIn.V1P0)
26999     fn_glSelectBuffer glSelectBuffer;
27000     alias fn_glSelectPerfMonitorCountersAMD = extern(C) void function(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList) @system @nogc nothrow;
27001     /// Ditto
27002     @OpenGL_Version(OGLIntroducedIn.Unknown)
27003     @OpenGL_Extension("GL_AMD_performance_monitor")
27004     fn_glSelectPerfMonitorCountersAMD glSelectPerfMonitorCountersAMD;
27005     alias fn_glSeparableFilter2D = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* row, const void* column) @system @nogc nothrow;
27006     /// Ditto
27007     @OpenGL_Version(OGLIntroducedIn.Unknown)
27008     @OpenGL_Extension("GL_ARB_imaging")
27009     fn_glSeparableFilter2D glSeparableFilter2D;
27010     alias fn_glSeparableFilter2DEXT = extern(C) void function(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* row, const void* column) @system @nogc nothrow;
27011     /// Ditto
27012     @OpenGL_Version(OGLIntroducedIn.Unknown)
27013     @OpenGL_Extension("GL_EXT_convolution")
27014     fn_glSeparableFilter2DEXT glSeparableFilter2DEXT;
27015     alias fn_glSetFenceAPPLE = extern(C) void function(GLuint fence) @system @nogc nothrow;
27016     /// Ditto
27017     @OpenGL_Version(OGLIntroducedIn.Unknown)
27018     @OpenGL_Extension("GL_APPLE_fence")
27019     fn_glSetFenceAPPLE glSetFenceAPPLE;
27020     alias fn_glSetFenceNV = extern(C) void function(GLuint fence, GLenum condition) @system @nogc nothrow;
27021     /// Ditto
27022     @OpenGL_Version(OGLIntroducedIn.Unknown)
27023     @OpenGL_Extension("GL_NV_fence")
27024     fn_glSetFenceNV glSetFenceNV;
27025     alias fn_glSetFragmentShaderConstantATI = extern(C) void function(GLuint dst, const GLfloat* value) @system @nogc nothrow;
27026     /// Ditto
27027     @OpenGL_Version(OGLIntroducedIn.Unknown)
27028     @OpenGL_Extension("GL_ATI_fragment_shader")
27029     fn_glSetFragmentShaderConstantATI glSetFragmentShaderConstantATI;
27030     alias fn_glSetInvariantEXT = extern(C) void function(GLuint id, GLenum type, const void* addr) @system @nogc nothrow;
27031     /// Ditto
27032     @OpenGL_Version(OGLIntroducedIn.Unknown)
27033     @OpenGL_Extension("GL_EXT_vertex_shader")
27034     fn_glSetInvariantEXT glSetInvariantEXT;
27035     alias fn_glSetLocalConstantEXT = extern(C) void function(GLuint id, GLenum type, const void* addr) @system @nogc nothrow;
27036     /// Ditto
27037     @OpenGL_Version(OGLIntroducedIn.Unknown)
27038     @OpenGL_Extension("GL_EXT_vertex_shader")
27039     fn_glSetLocalConstantEXT glSetLocalConstantEXT;
27040     alias fn_glSetMultisamplefvAMD = extern(C) void function(GLenum pname, GLuint index, const GLfloat* val) @system @nogc nothrow;
27041     /// Ditto
27042     @OpenGL_Version(OGLIntroducedIn.Unknown)
27043     @OpenGL_Extension("GL_AMD_sample_positions")
27044     fn_glSetMultisamplefvAMD glSetMultisamplefvAMD;
27045     alias fn_glShadeModel = extern(C) void function(GLenum mode) @system @nogc nothrow;
27046     /// Ditto
27047     @OpenGL_Version(OGLIntroducedIn.V1P0)
27048     fn_glShadeModel glShadeModel;
27049     alias fn_glShaderOp1EXT = extern(C) void function(GLenum op, GLuint res, GLuint arg1) @system @nogc nothrow;
27050     /// Ditto
27051     @OpenGL_Version(OGLIntroducedIn.Unknown)
27052     @OpenGL_Extension("GL_EXT_vertex_shader")
27053     fn_glShaderOp1EXT glShaderOp1EXT;
27054     alias fn_glShaderOp2EXT = extern(C) void function(GLenum op, GLuint res, GLuint arg1, GLuint arg2) @system @nogc nothrow;
27055     /// Ditto
27056     @OpenGL_Version(OGLIntroducedIn.Unknown)
27057     @OpenGL_Extension("GL_EXT_vertex_shader")
27058     fn_glShaderOp2EXT glShaderOp2EXT;
27059     alias fn_glShaderOp3EXT = extern(C) void function(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3) @system @nogc nothrow;
27060     /// Ditto
27061     @OpenGL_Version(OGLIntroducedIn.Unknown)
27062     @OpenGL_Extension("GL_EXT_vertex_shader")
27063     fn_glShaderOp3EXT glShaderOp3EXT;
27064     alias fn_glShaderSourceARB = extern(C) void function(GLhandleARB shaderObj, GLsizei count, const GLcharARB** string, const GLint* length) @system @nogc nothrow;
27065     /// Ditto
27066     @OpenGL_Version(OGLIntroducedIn.Unknown)
27067     @OpenGL_Extension("GL_ARB_shader_objects")
27068     fn_glShaderSourceARB glShaderSourceARB;
27069     alias fn_glSharpenTexFuncSGIS = extern(C) void function(GLenum target, GLsizei n, const GLfloat* points) @system @nogc nothrow;
27070     /// Ditto
27071     @OpenGL_Version(OGLIntroducedIn.Unknown)
27072     @OpenGL_Extension("GL_SGIS_sharpen_texture")
27073     fn_glSharpenTexFuncSGIS glSharpenTexFuncSGIS;
27074     alias fn_glSpriteParameterfSGIX = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
27075     /// Ditto
27076     @OpenGL_Version(OGLIntroducedIn.Unknown)
27077     @OpenGL_Extension("GL_SGIX_sprite")
27078     fn_glSpriteParameterfSGIX glSpriteParameterfSGIX;
27079     alias fn_glSpriteParameterfvSGIX = extern(C) void function(GLenum pname, const GLfloat* params) @system @nogc nothrow;
27080     /// Ditto
27081     @OpenGL_Version(OGLIntroducedIn.Unknown)
27082     @OpenGL_Extension("GL_SGIX_sprite")
27083     fn_glSpriteParameterfvSGIX glSpriteParameterfvSGIX;
27084     alias fn_glSpriteParameteriSGIX = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
27085     /// Ditto
27086     @OpenGL_Version(OGLIntroducedIn.Unknown)
27087     @OpenGL_Extension("GL_SGIX_sprite")
27088     fn_glSpriteParameteriSGIX glSpriteParameteriSGIX;
27089     alias fn_glSpriteParameterivSGIX = extern(C) void function(GLenum pname, const GLint* params) @system @nogc nothrow;
27090     /// Ditto
27091     @OpenGL_Version(OGLIntroducedIn.Unknown)
27092     @OpenGL_Extension("GL_SGIX_sprite")
27093     fn_glSpriteParameterivSGIX glSpriteParameterivSGIX;
27094     alias fn_glStartInstrumentsSGIX = extern(C) void function() @system @nogc nothrow;
27095     /// Ditto
27096     @OpenGL_Version(OGLIntroducedIn.Unknown)
27097     @OpenGL_Extension("GL_SGIX_instruments")
27098     fn_glStartInstrumentsSGIX glStartInstrumentsSGIX;
27099     alias fn_glStartTilingQCOM = extern(C) void function(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) @system @nogc nothrow;
27100     /// Ditto
27101     @OpenGL_Version(OGLIntroducedIn.Unknown)
27102     @OpenGL_Extension("GL_QCOM_tiled_rendering")
27103     fn_glStartTilingQCOM glStartTilingQCOM;
27104     alias fn_glStateCaptureNV = extern(C) void function(GLuint state, GLenum mode) @system @nogc nothrow;
27105     /// Ditto
27106     @OpenGL_Version(OGLIntroducedIn.Unknown)
27107     @OpenGL_Extension("GL_NV_command_list")
27108     fn_glStateCaptureNV glStateCaptureNV;
27109     alias fn_glStencilClearTagEXT = extern(C) void function(GLsizei stencilTagBits, GLuint stencilClearTag) @system @nogc nothrow;
27110     /// Ditto
27111     @OpenGL_Version(OGLIntroducedIn.Unknown)
27112     @OpenGL_Extension("GL_EXT_stencil_clear_tag")
27113     fn_glStencilClearTagEXT glStencilClearTagEXT;
27114     alias fn_glStencilFillPathInstancedNV = extern(C) void function(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
27115     /// Ditto
27116     @OpenGL_Version(OGLIntroducedIn.Unknown)
27117     @OpenGL_Extension("GL_NV_path_rendering")
27118     fn_glStencilFillPathInstancedNV glStencilFillPathInstancedNV;
27119     alias fn_glStencilFillPathNV = extern(C) void function(GLuint path, GLenum fillMode, GLuint mask) @system @nogc nothrow;
27120     /// Ditto
27121     @OpenGL_Version(OGLIntroducedIn.Unknown)
27122     @OpenGL_Extension("GL_NV_path_rendering")
27123     fn_glStencilFillPathNV glStencilFillPathNV;
27124     alias fn_glStencilFuncSeparateATI = extern(C) void function(GLenum frontfunc, GLenum backfunc, GLint ref_, GLuint mask) @system @nogc nothrow;
27125     /// Ditto
27126     @OpenGL_Version(OGLIntroducedIn.Unknown)
27127     @OpenGL_Extension("GL_ATI_separate_stencil")
27128     fn_glStencilFuncSeparateATI glStencilFuncSeparateATI;
27129     alias fn_glStencilOpSeparateATI = extern(C) void function(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) @system @nogc nothrow;
27130     /// Ditto
27131     @OpenGL_Version(OGLIntroducedIn.Unknown)
27132     @OpenGL_Extension("GL_ATI_separate_stencil")
27133     fn_glStencilOpSeparateATI glStencilOpSeparateATI;
27134     alias fn_glStencilOpValueAMD = extern(C) void function(GLenum face, GLuint value) @system @nogc nothrow;
27135     /// Ditto
27136     @OpenGL_Version(OGLIntroducedIn.Unknown)
27137     @OpenGL_Extension("GL_AMD_stencil_operation_extended")
27138     fn_glStencilOpValueAMD glStencilOpValueAMD;
27139     alias fn_glStencilStrokePathInstancedNV = extern(C) void function(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
27140     /// Ditto
27141     @OpenGL_Version(OGLIntroducedIn.Unknown)
27142     @OpenGL_Extension("GL_NV_path_rendering")
27143     fn_glStencilStrokePathInstancedNV glStencilStrokePathInstancedNV;
27144     alias fn_glStencilStrokePathNV = extern(C) void function(GLuint path, GLint reference, GLuint mask) @system @nogc nothrow;
27145     /// Ditto
27146     @OpenGL_Version(OGLIntroducedIn.Unknown)
27147     @OpenGL_Extension("GL_NV_path_rendering")
27148     fn_glStencilStrokePathNV glStencilStrokePathNV;
27149     alias fn_glStencilThenCoverFillPathInstancedNV = extern(C) void function(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
27150     /// Ditto
27151     @OpenGL_Version(OGLIntroducedIn.Unknown)
27152     @OpenGL_Extension("GL_NV_path_rendering")
27153     fn_glStencilThenCoverFillPathInstancedNV glStencilThenCoverFillPathInstancedNV;
27154     alias fn_glStencilThenCoverFillPathNV = extern(C) void function(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode) @system @nogc nothrow;
27155     /// Ditto
27156     @OpenGL_Version(OGLIntroducedIn.Unknown)
27157     @OpenGL_Extension("GL_NV_path_rendering")
27158     fn_glStencilThenCoverFillPathNV glStencilThenCoverFillPathNV;
27159     alias fn_glStencilThenCoverStrokePathInstancedNV = extern(C) void function(GLsizei numPaths, GLenum pathNameType, const void* paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
27160     /// Ditto
27161     @OpenGL_Version(OGLIntroducedIn.Unknown)
27162     @OpenGL_Extension("GL_NV_path_rendering")
27163     fn_glStencilThenCoverStrokePathInstancedNV glStencilThenCoverStrokePathInstancedNV;
27164     alias fn_glStencilThenCoverStrokePathNV = extern(C) void function(GLuint path, GLint reference, GLuint mask, GLenum coverMode) @system @nogc nothrow;
27165     /// Ditto
27166     @OpenGL_Version(OGLIntroducedIn.Unknown)
27167     @OpenGL_Extension("GL_NV_path_rendering")
27168     fn_glStencilThenCoverStrokePathNV glStencilThenCoverStrokePathNV;
27169     alias fn_glStopInstrumentsSGIX = extern(C) void function(GLint marker) @system @nogc nothrow;
27170     /// Ditto
27171     @OpenGL_Version(OGLIntroducedIn.Unknown)
27172     @OpenGL_Extension("GL_SGIX_instruments")
27173     fn_glStopInstrumentsSGIX glStopInstrumentsSGIX;
27174     alias fn_glStringMarkerGREMEDY = extern(C) void function(GLsizei len, const void* string) @system @nogc nothrow;
27175     /// Ditto
27176     @OpenGL_Version(OGLIntroducedIn.Unknown)
27177     @OpenGL_Extension("GL_GREMEDY_string_marker")
27178     fn_glStringMarkerGREMEDY glStringMarkerGREMEDY;
27179     alias fn_glSubpixelPrecisionBiasNV = extern(C) void function(GLuint xbits, GLuint ybits) @system @nogc nothrow;
27180     /// Ditto
27181     @OpenGL_Version(OGLIntroducedIn.Unknown)
27182     @OpenGL_Extension("GL_NV_conservative_raster")
27183     fn_glSubpixelPrecisionBiasNV glSubpixelPrecisionBiasNV;
27184     alias fn_glSwizzleEXT = extern(C) void function(GLuint res, GLuint in_, GLenum outX, GLenum outY, GLenum outZ, GLenum outW) @system @nogc nothrow;
27185     /// Ditto
27186     @OpenGL_Version(OGLIntroducedIn.Unknown)
27187     @OpenGL_Extension("GL_EXT_vertex_shader")
27188     fn_glSwizzleEXT glSwizzleEXT;
27189     alias fn_glSyncTextureINTEL = extern(C) void function(GLuint texture) @system @nogc nothrow;
27190     /// Ditto
27191     @OpenGL_Version(OGLIntroducedIn.Unknown)
27192     @OpenGL_Extension("GL_INTEL_map_texture")
27193     fn_glSyncTextureINTEL glSyncTextureINTEL;
27194     alias fn_glTagSampleBufferSGIX = extern(C) void function() @system @nogc nothrow;
27195     /// Ditto
27196     @OpenGL_Version(OGLIntroducedIn.Unknown)
27197     @OpenGL_Extension("GL_SGIX_tag_sample_buffer")
27198     fn_glTagSampleBufferSGIX glTagSampleBufferSGIX;
27199     alias fn_glTangent3bEXT = extern(C) void function(GLbyte tx, GLbyte ty, GLbyte tz) @system @nogc nothrow;
27200     /// Ditto
27201     @OpenGL_Version(OGLIntroducedIn.Unknown)
27202     @OpenGL_Extension("GL_EXT_coordinate_frame")
27203     fn_glTangent3bEXT glTangent3bEXT;
27204     alias fn_glTangent3bvEXT = extern(C) void function(const GLbyte* v) @system @nogc nothrow;
27205     /// Ditto
27206     @OpenGL_Version(OGLIntroducedIn.Unknown)
27207     @OpenGL_Extension("GL_EXT_coordinate_frame")
27208     fn_glTangent3bvEXT glTangent3bvEXT;
27209     alias fn_glTangent3dEXT = extern(C) void function(GLdouble tx, GLdouble ty, GLdouble tz) @system @nogc nothrow;
27210     /// Ditto
27211     @OpenGL_Version(OGLIntroducedIn.Unknown)
27212     @OpenGL_Extension("GL_EXT_coordinate_frame")
27213     fn_glTangent3dEXT glTangent3dEXT;
27214     alias fn_glTangent3dvEXT = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
27215     /// Ditto
27216     @OpenGL_Version(OGLIntroducedIn.Unknown)
27217     @OpenGL_Extension("GL_EXT_coordinate_frame")
27218     fn_glTangent3dvEXT glTangent3dvEXT;
27219     alias fn_glTangent3fEXT = extern(C) void function(GLfloat tx, GLfloat ty, GLfloat tz) @system @nogc nothrow;
27220     /// Ditto
27221     @OpenGL_Version(OGLIntroducedIn.Unknown)
27222     @OpenGL_Extension("GL_EXT_coordinate_frame")
27223     fn_glTangent3fEXT glTangent3fEXT;
27224     alias fn_glTangent3fvEXT = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
27225     /// Ditto
27226     @OpenGL_Version(OGLIntroducedIn.Unknown)
27227     @OpenGL_Extension("GL_EXT_coordinate_frame")
27228     fn_glTangent3fvEXT glTangent3fvEXT;
27229     alias fn_glTangent3iEXT = extern(C) void function(GLint tx, GLint ty, GLint tz) @system @nogc nothrow;
27230     /// Ditto
27231     @OpenGL_Version(OGLIntroducedIn.Unknown)
27232     @OpenGL_Extension("GL_EXT_coordinate_frame")
27233     fn_glTangent3iEXT glTangent3iEXT;
27234     alias fn_glTangent3ivEXT = extern(C) void function(const GLint* v) @system @nogc nothrow;
27235     /// Ditto
27236     @OpenGL_Version(OGLIntroducedIn.Unknown)
27237     @OpenGL_Extension("GL_EXT_coordinate_frame")
27238     fn_glTangent3ivEXT glTangent3ivEXT;
27239     alias fn_glTangent3sEXT = extern(C) void function(GLshort tx, GLshort ty, GLshort tz) @system @nogc nothrow;
27240     /// Ditto
27241     @OpenGL_Version(OGLIntroducedIn.Unknown)
27242     @OpenGL_Extension("GL_EXT_coordinate_frame")
27243     fn_glTangent3sEXT glTangent3sEXT;
27244     alias fn_glTangent3svEXT = extern(C) void function(const GLshort* v) @system @nogc nothrow;
27245     /// Ditto
27246     @OpenGL_Version(OGLIntroducedIn.Unknown)
27247     @OpenGL_Extension("GL_EXT_coordinate_frame")
27248     fn_glTangent3svEXT glTangent3svEXT;
27249     alias fn_glTangentPointerEXT = extern(C) void function(GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
27250     /// Ditto
27251     @OpenGL_Version(OGLIntroducedIn.Unknown)
27252     @OpenGL_Extension("GL_EXT_coordinate_frame")
27253     fn_glTangentPointerEXT glTangentPointerEXT;
27254     alias fn_glTbufferMask3DFX = extern(C) void function(GLuint mask) @system @nogc nothrow;
27255     /// Ditto
27256     @OpenGL_Version(OGLIntroducedIn.Unknown)
27257     @OpenGL_Extension("GL_3DFX_tbuffer")
27258     fn_glTbufferMask3DFX glTbufferMask3DFX;
27259     alias fn_glTessellationFactorAMD = extern(C) void function(GLfloat factor) @system @nogc nothrow;
27260     /// Ditto
27261     @OpenGL_Version(OGLIntroducedIn.Unknown)
27262     @OpenGL_Extension("GL_AMD_vertex_shader_tessellator")
27263     fn_glTessellationFactorAMD glTessellationFactorAMD;
27264     alias fn_glTessellationModeAMD = extern(C) void function(GLenum mode) @system @nogc nothrow;
27265     /// Ditto
27266     @OpenGL_Version(OGLIntroducedIn.Unknown)
27267     @OpenGL_Extension("GL_AMD_vertex_shader_tessellator")
27268     fn_glTessellationModeAMD glTessellationModeAMD;
27269     alias fn_glTestFenceAPPLE = extern(C) GLboolean function(GLuint fence) @system @nogc nothrow;
27270     /// Ditto
27271     @OpenGL_Version(OGLIntroducedIn.Unknown)
27272     @OpenGL_Extension("GL_APPLE_fence")
27273     fn_glTestFenceAPPLE glTestFenceAPPLE;
27274     alias fn_glTestFenceNV = extern(C) GLboolean function(GLuint fence) @system @nogc nothrow;
27275     /// Ditto
27276     @OpenGL_Version(OGLIntroducedIn.Unknown)
27277     @OpenGL_Extension("GL_NV_fence")
27278     fn_glTestFenceNV glTestFenceNV;
27279     alias fn_glTestObjectAPPLE = extern(C) GLboolean function(GLenum object, GLuint name) @system @nogc nothrow;
27280     /// Ditto
27281     @OpenGL_Version(OGLIntroducedIn.Unknown)
27282     @OpenGL_Extension("GL_APPLE_fence")
27283     fn_glTestObjectAPPLE glTestObjectAPPLE;
27284     alias fn_glTexBufferARB = extern(C) void function(GLenum target, GLenum internalformat, GLuint buffer) @system @nogc nothrow;
27285     /// Ditto
27286     @OpenGL_Version(OGLIntroducedIn.Unknown)
27287     @OpenGL_Extension("GL_ARB_texture_buffer_object")
27288     fn_glTexBufferARB glTexBufferARB;
27289     alias fn_glTexBufferEXT = extern(C) void function(GLenum target, GLenum internalformat, GLuint buffer) @system @nogc nothrow;
27290     /// Ditto
27291     @OpenGL_Version(OGLIntroducedIn.Unknown)
27292     @OpenGL_Extension("GL_EXT_texture_buffer")
27293     fn_glTexBufferEXT glTexBufferEXT;
27294     alias fn_glTexBufferOES = extern(C) void function(GLenum target, GLenum internalformat, GLuint buffer) @system @nogc nothrow;
27295     /// Ditto
27296     @OpenGL_Version(OGLIntroducedIn.Unknown)
27297     @OpenGL_Extension("GL_OES_texture_buffer")
27298     fn_glTexBufferOES glTexBufferOES;
27299     alias fn_glTexBufferRangeEXT = extern(C) void function(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
27300     /// Ditto
27301     @OpenGL_Version(OGLIntroducedIn.Unknown)
27302     @OpenGL_Extension("GL_EXT_texture_buffer")
27303     fn_glTexBufferRangeEXT glTexBufferRangeEXT;
27304     alias fn_glTexBufferRangeOES = extern(C) void function(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
27305     /// Ditto
27306     @OpenGL_Version(OGLIntroducedIn.Unknown)
27307     @OpenGL_Extension("GL_OES_texture_buffer")
27308     fn_glTexBufferRangeOES glTexBufferRangeOES;
27309     alias fn_glTexBumpParameterfvATI = extern(C) void function(GLenum pname, const GLfloat* param) @system @nogc nothrow;
27310     /// Ditto
27311     @OpenGL_Version(OGLIntroducedIn.Unknown)
27312     @OpenGL_Extension("GL_ATI_envmap_bumpmap")
27313     fn_glTexBumpParameterfvATI glTexBumpParameterfvATI;
27314     alias fn_glTexBumpParameterivATI = extern(C) void function(GLenum pname, const GLint* param) @system @nogc nothrow;
27315     /// Ditto
27316     @OpenGL_Version(OGLIntroducedIn.Unknown)
27317     @OpenGL_Extension("GL_ATI_envmap_bumpmap")
27318     fn_glTexBumpParameterivATI glTexBumpParameterivATI;
27319     alias fn_glTexCoord1bOES = extern(C) void function(GLbyte s) @system @nogc nothrow;
27320     /// Ditto
27321     @OpenGL_Version(OGLIntroducedIn.Unknown)
27322     @OpenGL_Extension("GL_OES_byte_coordinates")
27323     fn_glTexCoord1bOES glTexCoord1bOES;
27324     alias fn_glTexCoord1bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
27325     /// Ditto
27326     @OpenGL_Version(OGLIntroducedIn.Unknown)
27327     @OpenGL_Extension("GL_OES_byte_coordinates")
27328     fn_glTexCoord1bvOES glTexCoord1bvOES;
27329     alias fn_glTexCoord1d = extern(C) void function(GLdouble s) @system @nogc nothrow;
27330     /// Ditto
27331     @OpenGL_Version(OGLIntroducedIn.V1P0)
27332     fn_glTexCoord1d glTexCoord1d;
27333     alias fn_glTexCoord1dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
27334     /// Ditto
27335     @OpenGL_Version(OGLIntroducedIn.V1P0)
27336     fn_glTexCoord1dv glTexCoord1dv;
27337     alias fn_glTexCoord1f = extern(C) void function(GLfloat s) @system @nogc nothrow;
27338     /// Ditto
27339     @OpenGL_Version(OGLIntroducedIn.V1P0)
27340     fn_glTexCoord1f glTexCoord1f;
27341     alias fn_glTexCoord1fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
27342     /// Ditto
27343     @OpenGL_Version(OGLIntroducedIn.V1P0)
27344     fn_glTexCoord1fv glTexCoord1fv;
27345     alias fn_glTexCoord1hNV = extern(C) void function(GLhalfNV s) @system @nogc nothrow;
27346     /// Ditto
27347     @OpenGL_Version(OGLIntroducedIn.Unknown)
27348     @OpenGL_Extension("GL_NV_half_float")
27349     fn_glTexCoord1hNV glTexCoord1hNV;
27350     alias fn_glTexCoord1hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
27351     /// Ditto
27352     @OpenGL_Version(OGLIntroducedIn.Unknown)
27353     @OpenGL_Extension("GL_NV_half_float")
27354     fn_glTexCoord1hvNV glTexCoord1hvNV;
27355     alias fn_glTexCoord1i = extern(C) void function(GLint s) @system @nogc nothrow;
27356     /// Ditto
27357     @OpenGL_Version(OGLIntroducedIn.V1P0)
27358     fn_glTexCoord1i glTexCoord1i;
27359     alias fn_glTexCoord1iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
27360     /// Ditto
27361     @OpenGL_Version(OGLIntroducedIn.V1P0)
27362     fn_glTexCoord1iv glTexCoord1iv;
27363     alias fn_glTexCoord1s = extern(C) void function(GLshort s) @system @nogc nothrow;
27364     /// Ditto
27365     @OpenGL_Version(OGLIntroducedIn.V1P0)
27366     fn_glTexCoord1s glTexCoord1s;
27367     alias fn_glTexCoord1sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
27368     /// Ditto
27369     @OpenGL_Version(OGLIntroducedIn.V1P0)
27370     fn_glTexCoord1sv glTexCoord1sv;
27371     alias fn_glTexCoord1xOES = extern(C) void function(GLfixed s) @system @nogc nothrow;
27372     /// Ditto
27373     @OpenGL_Version(OGLIntroducedIn.Unknown)
27374     @OpenGL_Extension("GL_OES_fixed_point")
27375     fn_glTexCoord1xOES glTexCoord1xOES;
27376     alias fn_glTexCoord1xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
27377     /// Ditto
27378     @OpenGL_Version(OGLIntroducedIn.Unknown)
27379     @OpenGL_Extension("GL_OES_fixed_point")
27380     fn_glTexCoord1xvOES glTexCoord1xvOES;
27381     alias fn_glTexCoord2bOES = extern(C) void function(GLbyte s, GLbyte t) @system @nogc nothrow;
27382     /// Ditto
27383     @OpenGL_Version(OGLIntroducedIn.Unknown)
27384     @OpenGL_Extension("GL_OES_byte_coordinates")
27385     fn_glTexCoord2bOES glTexCoord2bOES;
27386     alias fn_glTexCoord2bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
27387     /// Ditto
27388     @OpenGL_Version(OGLIntroducedIn.Unknown)
27389     @OpenGL_Extension("GL_OES_byte_coordinates")
27390     fn_glTexCoord2bvOES glTexCoord2bvOES;
27391     alias fn_glTexCoord2d = extern(C) void function(GLdouble s, GLdouble t) @system @nogc nothrow;
27392     /// Ditto
27393     @OpenGL_Version(OGLIntroducedIn.V1P0)
27394     fn_glTexCoord2d glTexCoord2d;
27395     alias fn_glTexCoord2dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
27396     /// Ditto
27397     @OpenGL_Version(OGLIntroducedIn.V1P0)
27398     fn_glTexCoord2dv glTexCoord2dv;
27399     alias fn_glTexCoord2f = extern(C) void function(GLfloat s, GLfloat t) @system @nogc nothrow;
27400     /// Ditto
27401     @OpenGL_Version(OGLIntroducedIn.V1P0)
27402     fn_glTexCoord2f glTexCoord2f;
27403     alias fn_glTexCoord2fColor3fVertex3fSUN = extern(C) void function(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
27404     /// Ditto
27405     @OpenGL_Version(OGLIntroducedIn.Unknown)
27406     @OpenGL_Extension("GL_SUN_vertex")
27407     fn_glTexCoord2fColor3fVertex3fSUN glTexCoord2fColor3fVertex3fSUN;
27408     alias fn_glTexCoord2fColor3fVertex3fvSUN = extern(C) void function(const GLfloat* tc, const GLfloat* c, const GLfloat* v) @system @nogc nothrow;
27409     /// Ditto
27410     @OpenGL_Version(OGLIntroducedIn.Unknown)
27411     @OpenGL_Extension("GL_SUN_vertex")
27412     fn_glTexCoord2fColor3fVertex3fvSUN glTexCoord2fColor3fVertex3fvSUN;
27413     alias fn_glTexCoord2fColor4fNormal3fVertex3fSUN = extern(C) void function(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
27414     /// Ditto
27415     @OpenGL_Version(OGLIntroducedIn.Unknown)
27416     @OpenGL_Extension("GL_SUN_vertex")
27417     fn_glTexCoord2fColor4fNormal3fVertex3fSUN glTexCoord2fColor4fNormal3fVertex3fSUN;
27418     alias fn_glTexCoord2fColor4fNormal3fVertex3fvSUN = extern(C) void function(const GLfloat* tc, const GLfloat* c, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
27419     /// Ditto
27420     @OpenGL_Version(OGLIntroducedIn.Unknown)
27421     @OpenGL_Extension("GL_SUN_vertex")
27422     fn_glTexCoord2fColor4fNormal3fVertex3fvSUN glTexCoord2fColor4fNormal3fVertex3fvSUN;
27423     alias fn_glTexCoord2fColor4ubVertex3fSUN = extern(C) void function(GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
27424     /// Ditto
27425     @OpenGL_Version(OGLIntroducedIn.Unknown)
27426     @OpenGL_Extension("GL_SUN_vertex")
27427     fn_glTexCoord2fColor4ubVertex3fSUN glTexCoord2fColor4ubVertex3fSUN;
27428     alias fn_glTexCoord2fColor4ubVertex3fvSUN = extern(C) void function(const GLfloat* tc, const(GLubyte)* c, const GLfloat* v) @system @nogc nothrow;
27429     /// Ditto
27430     @OpenGL_Version(OGLIntroducedIn.Unknown)
27431     @OpenGL_Extension("GL_SUN_vertex")
27432     fn_glTexCoord2fColor4ubVertex3fvSUN glTexCoord2fColor4ubVertex3fvSUN;
27433     alias fn_glTexCoord2fNormal3fVertex3fSUN = extern(C) void function(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
27434     /// Ditto
27435     @OpenGL_Version(OGLIntroducedIn.Unknown)
27436     @OpenGL_Extension("GL_SUN_vertex")
27437     fn_glTexCoord2fNormal3fVertex3fSUN glTexCoord2fNormal3fVertex3fSUN;
27438     alias fn_glTexCoord2fNormal3fVertex3fvSUN = extern(C) void function(const GLfloat* tc, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
27439     /// Ditto
27440     @OpenGL_Version(OGLIntroducedIn.Unknown)
27441     @OpenGL_Extension("GL_SUN_vertex")
27442     fn_glTexCoord2fNormal3fVertex3fvSUN glTexCoord2fNormal3fVertex3fvSUN;
27443     alias fn_glTexCoord2fVertex3fSUN = extern(C) void function(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
27444     /// Ditto
27445     @OpenGL_Version(OGLIntroducedIn.Unknown)
27446     @OpenGL_Extension("GL_SUN_vertex")
27447     fn_glTexCoord2fVertex3fSUN glTexCoord2fVertex3fSUN;
27448     alias fn_glTexCoord2fVertex3fvSUN = extern(C) void function(const GLfloat* tc, const GLfloat* v) @system @nogc nothrow;
27449     /// Ditto
27450     @OpenGL_Version(OGLIntroducedIn.Unknown)
27451     @OpenGL_Extension("GL_SUN_vertex")
27452     fn_glTexCoord2fVertex3fvSUN glTexCoord2fVertex3fvSUN;
27453     alias fn_glTexCoord2fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
27454     /// Ditto
27455     @OpenGL_Version(OGLIntroducedIn.V1P0)
27456     fn_glTexCoord2fv glTexCoord2fv;
27457     alias fn_glTexCoord2hNV = extern(C) void function(GLhalfNV s, GLhalfNV t) @system @nogc nothrow;
27458     /// Ditto
27459     @OpenGL_Version(OGLIntroducedIn.Unknown)
27460     @OpenGL_Extension("GL_NV_half_float")
27461     fn_glTexCoord2hNV glTexCoord2hNV;
27462     alias fn_glTexCoord2hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
27463     /// Ditto
27464     @OpenGL_Version(OGLIntroducedIn.Unknown)
27465     @OpenGL_Extension("GL_NV_half_float")
27466     fn_glTexCoord2hvNV glTexCoord2hvNV;
27467     alias fn_glTexCoord2i = extern(C) void function(GLint s, GLint t) @system @nogc nothrow;
27468     /// Ditto
27469     @OpenGL_Version(OGLIntroducedIn.V1P0)
27470     fn_glTexCoord2i glTexCoord2i;
27471     alias fn_glTexCoord2iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
27472     /// Ditto
27473     @OpenGL_Version(OGLIntroducedIn.V1P0)
27474     fn_glTexCoord2iv glTexCoord2iv;
27475     alias fn_glTexCoord2s = extern(C) void function(GLshort s, GLshort t) @system @nogc nothrow;
27476     /// Ditto
27477     @OpenGL_Version(OGLIntroducedIn.V1P0)
27478     fn_glTexCoord2s glTexCoord2s;
27479     alias fn_glTexCoord2sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
27480     /// Ditto
27481     @OpenGL_Version(OGLIntroducedIn.V1P0)
27482     fn_glTexCoord2sv glTexCoord2sv;
27483     alias fn_glTexCoord2xOES = extern(C) void function(GLfixed s, GLfixed t) @system @nogc nothrow;
27484     /// Ditto
27485     @OpenGL_Version(OGLIntroducedIn.Unknown)
27486     @OpenGL_Extension("GL_OES_fixed_point")
27487     fn_glTexCoord2xOES glTexCoord2xOES;
27488     alias fn_glTexCoord2xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
27489     /// Ditto
27490     @OpenGL_Version(OGLIntroducedIn.Unknown)
27491     @OpenGL_Extension("GL_OES_fixed_point")
27492     fn_glTexCoord2xvOES glTexCoord2xvOES;
27493     alias fn_glTexCoord3bOES = extern(C) void function(GLbyte s, GLbyte t, GLbyte r) @system @nogc nothrow;
27494     /// Ditto
27495     @OpenGL_Version(OGLIntroducedIn.Unknown)
27496     @OpenGL_Extension("GL_OES_byte_coordinates")
27497     fn_glTexCoord3bOES glTexCoord3bOES;
27498     alias fn_glTexCoord3bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
27499     /// Ditto
27500     @OpenGL_Version(OGLIntroducedIn.Unknown)
27501     @OpenGL_Extension("GL_OES_byte_coordinates")
27502     fn_glTexCoord3bvOES glTexCoord3bvOES;
27503     alias fn_glTexCoord3d = extern(C) void function(GLdouble s, GLdouble t, GLdouble r) @system @nogc nothrow;
27504     /// Ditto
27505     @OpenGL_Version(OGLIntroducedIn.V1P0)
27506     fn_glTexCoord3d glTexCoord3d;
27507     alias fn_glTexCoord3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
27508     /// Ditto
27509     @OpenGL_Version(OGLIntroducedIn.V1P0)
27510     fn_glTexCoord3dv glTexCoord3dv;
27511     alias fn_glTexCoord3f = extern(C) void function(GLfloat s, GLfloat t, GLfloat r) @system @nogc nothrow;
27512     /// Ditto
27513     @OpenGL_Version(OGLIntroducedIn.V1P0)
27514     fn_glTexCoord3f glTexCoord3f;
27515     alias fn_glTexCoord3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
27516     /// Ditto
27517     @OpenGL_Version(OGLIntroducedIn.V1P0)
27518     fn_glTexCoord3fv glTexCoord3fv;
27519     alias fn_glTexCoord3hNV = extern(C) void function(GLhalfNV s, GLhalfNV t, GLhalfNV r) @system @nogc nothrow;
27520     /// Ditto
27521     @OpenGL_Version(OGLIntroducedIn.Unknown)
27522     @OpenGL_Extension("GL_NV_half_float")
27523     fn_glTexCoord3hNV glTexCoord3hNV;
27524     alias fn_glTexCoord3hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
27525     /// Ditto
27526     @OpenGL_Version(OGLIntroducedIn.Unknown)
27527     @OpenGL_Extension("GL_NV_half_float")
27528     fn_glTexCoord3hvNV glTexCoord3hvNV;
27529     alias fn_glTexCoord3i = extern(C) void function(GLint s, GLint t, GLint r) @system @nogc nothrow;
27530     /// Ditto
27531     @OpenGL_Version(OGLIntroducedIn.V1P0)
27532     fn_glTexCoord3i glTexCoord3i;
27533     alias fn_glTexCoord3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
27534     /// Ditto
27535     @OpenGL_Version(OGLIntroducedIn.V1P0)
27536     fn_glTexCoord3iv glTexCoord3iv;
27537     alias fn_glTexCoord3s = extern(C) void function(GLshort s, GLshort t, GLshort r) @system @nogc nothrow;
27538     /// Ditto
27539     @OpenGL_Version(OGLIntroducedIn.V1P0)
27540     fn_glTexCoord3s glTexCoord3s;
27541     alias fn_glTexCoord3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
27542     /// Ditto
27543     @OpenGL_Version(OGLIntroducedIn.V1P0)
27544     fn_glTexCoord3sv glTexCoord3sv;
27545     alias fn_glTexCoord3xOES = extern(C) void function(GLfixed s, GLfixed t, GLfixed r) @system @nogc nothrow;
27546     /// Ditto
27547     @OpenGL_Version(OGLIntroducedIn.Unknown)
27548     @OpenGL_Extension("GL_OES_fixed_point")
27549     fn_glTexCoord3xOES glTexCoord3xOES;
27550     alias fn_glTexCoord3xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
27551     /// Ditto
27552     @OpenGL_Version(OGLIntroducedIn.Unknown)
27553     @OpenGL_Extension("GL_OES_fixed_point")
27554     fn_glTexCoord3xvOES glTexCoord3xvOES;
27555     alias fn_glTexCoord4bOES = extern(C) void function(GLbyte s, GLbyte t, GLbyte r, GLbyte q) @system @nogc nothrow;
27556     /// Ditto
27557     @OpenGL_Version(OGLIntroducedIn.Unknown)
27558     @OpenGL_Extension("GL_OES_byte_coordinates")
27559     fn_glTexCoord4bOES glTexCoord4bOES;
27560     alias fn_glTexCoord4bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
27561     /// Ditto
27562     @OpenGL_Version(OGLIntroducedIn.Unknown)
27563     @OpenGL_Extension("GL_OES_byte_coordinates")
27564     fn_glTexCoord4bvOES glTexCoord4bvOES;
27565     alias fn_glTexCoord4d = extern(C) void function(GLdouble s, GLdouble t, GLdouble r, GLdouble q) @system @nogc nothrow;
27566     /// Ditto
27567     @OpenGL_Version(OGLIntroducedIn.V1P0)
27568     fn_glTexCoord4d glTexCoord4d;
27569     alias fn_glTexCoord4dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
27570     /// Ditto
27571     @OpenGL_Version(OGLIntroducedIn.V1P0)
27572     fn_glTexCoord4dv glTexCoord4dv;
27573     alias fn_glTexCoord4f = extern(C) void function(GLfloat s, GLfloat t, GLfloat r, GLfloat q) @system @nogc nothrow;
27574     /// Ditto
27575     @OpenGL_Version(OGLIntroducedIn.V1P0)
27576     fn_glTexCoord4f glTexCoord4f;
27577     alias fn_glTexCoord4fColor4fNormal3fVertex4fSUN = extern(C) void function(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
27578     /// Ditto
27579     @OpenGL_Version(OGLIntroducedIn.Unknown)
27580     @OpenGL_Extension("GL_SUN_vertex")
27581     fn_glTexCoord4fColor4fNormal3fVertex4fSUN glTexCoord4fColor4fNormal3fVertex4fSUN;
27582     alias fn_glTexCoord4fColor4fNormal3fVertex4fvSUN = extern(C) void function(const GLfloat* tc, const GLfloat* c, const GLfloat* n, const GLfloat* v) @system @nogc nothrow;
27583     /// Ditto
27584     @OpenGL_Version(OGLIntroducedIn.Unknown)
27585     @OpenGL_Extension("GL_SUN_vertex")
27586     fn_glTexCoord4fColor4fNormal3fVertex4fvSUN glTexCoord4fColor4fNormal3fVertex4fvSUN;
27587     alias fn_glTexCoord4fVertex4fSUN = extern(C) void function(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
27588     /// Ditto
27589     @OpenGL_Version(OGLIntroducedIn.Unknown)
27590     @OpenGL_Extension("GL_SUN_vertex")
27591     fn_glTexCoord4fVertex4fSUN glTexCoord4fVertex4fSUN;
27592     alias fn_glTexCoord4fVertex4fvSUN = extern(C) void function(const GLfloat* tc, const GLfloat* v) @system @nogc nothrow;
27593     /// Ditto
27594     @OpenGL_Version(OGLIntroducedIn.Unknown)
27595     @OpenGL_Extension("GL_SUN_vertex")
27596     fn_glTexCoord4fVertex4fvSUN glTexCoord4fVertex4fvSUN;
27597     alias fn_glTexCoord4fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
27598     /// Ditto
27599     @OpenGL_Version(OGLIntroducedIn.V1P0)
27600     fn_glTexCoord4fv glTexCoord4fv;
27601     alias fn_glTexCoord4hNV = extern(C) void function(GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q) @system @nogc nothrow;
27602     /// Ditto
27603     @OpenGL_Version(OGLIntroducedIn.Unknown)
27604     @OpenGL_Extension("GL_NV_half_float")
27605     fn_glTexCoord4hNV glTexCoord4hNV;
27606     alias fn_glTexCoord4hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
27607     /// Ditto
27608     @OpenGL_Version(OGLIntroducedIn.Unknown)
27609     @OpenGL_Extension("GL_NV_half_float")
27610     fn_glTexCoord4hvNV glTexCoord4hvNV;
27611     alias fn_glTexCoord4i = extern(C) void function(GLint s, GLint t, GLint r, GLint q) @system @nogc nothrow;
27612     /// Ditto
27613     @OpenGL_Version(OGLIntroducedIn.V1P0)
27614     fn_glTexCoord4i glTexCoord4i;
27615     alias fn_glTexCoord4iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
27616     /// Ditto
27617     @OpenGL_Version(OGLIntroducedIn.V1P0)
27618     fn_glTexCoord4iv glTexCoord4iv;
27619     alias fn_glTexCoord4s = extern(C) void function(GLshort s, GLshort t, GLshort r, GLshort q) @system @nogc nothrow;
27620     /// Ditto
27621     @OpenGL_Version(OGLIntroducedIn.V1P0)
27622     fn_glTexCoord4s glTexCoord4s;
27623     alias fn_glTexCoord4sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
27624     /// Ditto
27625     @OpenGL_Version(OGLIntroducedIn.V1P0)
27626     fn_glTexCoord4sv glTexCoord4sv;
27627     alias fn_glTexCoord4xOES = extern(C) void function(GLfixed s, GLfixed t, GLfixed r, GLfixed q) @system @nogc nothrow;
27628     /// Ditto
27629     @OpenGL_Version(OGLIntroducedIn.Unknown)
27630     @OpenGL_Extension("GL_OES_fixed_point")
27631     fn_glTexCoord4xOES glTexCoord4xOES;
27632     alias fn_glTexCoord4xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
27633     /// Ditto
27634     @OpenGL_Version(OGLIntroducedIn.Unknown)
27635     @OpenGL_Extension("GL_OES_fixed_point")
27636     fn_glTexCoord4xvOES glTexCoord4xvOES;
27637     alias fn_glTexCoordFormatNV = extern(C) void function(GLint size, GLenum type, GLsizei stride) @system @nogc nothrow;
27638     /// Ditto
27639     @OpenGL_Version(OGLIntroducedIn.Unknown)
27640     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
27641     fn_glTexCoordFormatNV glTexCoordFormatNV;
27642     alias fn_glTexCoordP1ui = extern(C) void function(GLenum type, GLuint coords) @system @nogc nothrow;
27643     /// Ditto
27644     @OpenGL_Version(OGLIntroducedIn.V3P3)
27645     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27646     fn_glTexCoordP1ui glTexCoordP1ui;
27647     alias fn_glTexCoordP1uiv = extern(C) void function(GLenum type, const GLuint* coords) @system @nogc nothrow;
27648     /// Ditto
27649     @OpenGL_Version(OGLIntroducedIn.V3P3)
27650     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27651     fn_glTexCoordP1uiv glTexCoordP1uiv;
27652     alias fn_glTexCoordP2ui = extern(C) void function(GLenum type, GLuint coords) @system @nogc nothrow;
27653     /// Ditto
27654     @OpenGL_Version(OGLIntroducedIn.V3P3)
27655     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27656     fn_glTexCoordP2ui glTexCoordP2ui;
27657     alias fn_glTexCoordP2uiv = extern(C) void function(GLenum type, const GLuint* coords) @system @nogc nothrow;
27658     /// Ditto
27659     @OpenGL_Version(OGLIntroducedIn.V3P3)
27660     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27661     fn_glTexCoordP2uiv glTexCoordP2uiv;
27662     alias fn_glTexCoordP3ui = extern(C) void function(GLenum type, GLuint coords) @system @nogc nothrow;
27663     /// Ditto
27664     @OpenGL_Version(OGLIntroducedIn.V3P3)
27665     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27666     fn_glTexCoordP3ui glTexCoordP3ui;
27667     alias fn_glTexCoordP3uiv = extern(C) void function(GLenum type, const GLuint* coords) @system @nogc nothrow;
27668     /// Ditto
27669     @OpenGL_Version(OGLIntroducedIn.V3P3)
27670     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27671     fn_glTexCoordP3uiv glTexCoordP3uiv;
27672     alias fn_glTexCoordP4ui = extern(C) void function(GLenum type, GLuint coords) @system @nogc nothrow;
27673     /// Ditto
27674     @OpenGL_Version(OGLIntroducedIn.V3P3)
27675     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27676     fn_glTexCoordP4ui glTexCoordP4ui;
27677     alias fn_glTexCoordP4uiv = extern(C) void function(GLenum type, const GLuint* coords) @system @nogc nothrow;
27678     /// Ditto
27679     @OpenGL_Version(OGLIntroducedIn.V3P3)
27680     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
27681     fn_glTexCoordP4uiv glTexCoordP4uiv;
27682     alias fn_glTexCoordPointer = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
27683     /// Ditto
27684     @OpenGL_Version(OGLIntroducedIn.V1P1)
27685     fn_glTexCoordPointer glTexCoordPointer;
27686     alias fn_glTexCoordPointerEXT = extern(C) void function(GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer) @system @nogc nothrow;
27687     /// Ditto
27688     @OpenGL_Version(OGLIntroducedIn.Unknown)
27689     @OpenGL_Extension("GL_EXT_vertex_array")
27690     fn_glTexCoordPointerEXT glTexCoordPointerEXT;
27691     alias fn_glTexCoordPointerListIBM = extern(C) void function(GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
27692     /// Ditto
27693     @OpenGL_Version(OGLIntroducedIn.Unknown)
27694     @OpenGL_Extension("GL_IBM_vertex_array_lists")
27695     fn_glTexCoordPointerListIBM glTexCoordPointerListIBM;
27696     alias fn_glTexCoordPointervINTEL = extern(C) void function(GLint size, GLenum type, const void** pointer) @system @nogc nothrow;
27697     /// Ditto
27698     @OpenGL_Version(OGLIntroducedIn.Unknown)
27699     @OpenGL_Extension("GL_INTEL_parallel_arrays")
27700     fn_glTexCoordPointervINTEL glTexCoordPointervINTEL;
27701     alias fn_glTexEnvf = extern(C) void function(GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
27702     /// Ditto
27703     @OpenGL_Version(OGLIntroducedIn.V1P0)
27704     fn_glTexEnvf glTexEnvf;
27705     alias fn_glTexEnvfv = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
27706     /// Ditto
27707     @OpenGL_Version(OGLIntroducedIn.V1P0)
27708     fn_glTexEnvfv glTexEnvfv;
27709     alias fn_glTexEnvi = extern(C) void function(GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
27710     /// Ditto
27711     @OpenGL_Version(OGLIntroducedIn.V1P0)
27712     fn_glTexEnvi glTexEnvi;
27713     alias fn_glTexEnviv = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
27714     /// Ditto
27715     @OpenGL_Version(OGLIntroducedIn.V1P0)
27716     fn_glTexEnviv glTexEnviv;
27717     alias fn_glTexEnvx = extern(C) void function(GLenum target, GLenum pname, GLfixed param) @system @nogc nothrow;
27718     /// Ditto
27719     @OpenGL_Version(OGLIntroducedIn.Unknown)
27720     fn_glTexEnvx glTexEnvx;
27721     alias fn_glTexEnvxOES = extern(C) void function(GLenum target, GLenum pname, GLfixed param) @system @nogc nothrow;
27722     /// Ditto
27723     @OpenGL_Version(OGLIntroducedIn.Unknown)
27724     @OpenGL_Extension("GL_OES_fixed_point")
27725     fn_glTexEnvxOES glTexEnvxOES;
27726     alias fn_glTexEnvxv = extern(C) void function(GLenum target, GLenum pname, const GLfixed* params) @system @nogc nothrow;
27727     /// Ditto
27728     @OpenGL_Version(OGLIntroducedIn.Unknown)
27729     fn_glTexEnvxv glTexEnvxv;
27730     alias fn_glTexEnvxvOES = extern(C) void function(GLenum target, GLenum pname, const GLfixed* params) @system @nogc nothrow;
27731     /// Ditto
27732     @OpenGL_Version(OGLIntroducedIn.Unknown)
27733     @OpenGL_Extension("GL_OES_fixed_point")
27734     fn_glTexEnvxvOES glTexEnvxvOES;
27735     alias fn_glTexFilterFuncSGIS = extern(C) void function(GLenum target, GLenum filter, GLsizei n, const GLfloat* weights) @system @nogc nothrow;
27736     /// Ditto
27737     @OpenGL_Version(OGLIntroducedIn.Unknown)
27738     @OpenGL_Extension("GL_SGIS_texture_filter4")
27739     fn_glTexFilterFuncSGIS glTexFilterFuncSGIS;
27740     alias fn_glTexGend = extern(C) void function(GLenum coord, GLenum pname, GLdouble param) @system @nogc nothrow;
27741     /// Ditto
27742     @OpenGL_Version(OGLIntroducedIn.V1P0)
27743     fn_glTexGend glTexGend;
27744     alias fn_glTexGendv = extern(C) void function(GLenum coord, GLenum pname, const GLdouble* params) @system @nogc nothrow;
27745     /// Ditto
27746     @OpenGL_Version(OGLIntroducedIn.V1P0)
27747     fn_glTexGendv glTexGendv;
27748     alias fn_glTexGenf = extern(C) void function(GLenum coord, GLenum pname, GLfloat param) @system @nogc nothrow;
27749     /// Ditto
27750     @OpenGL_Version(OGLIntroducedIn.V1P0)
27751     fn_glTexGenf glTexGenf;
27752     alias fn_glTexGenfOES = extern(C) void function(GLenum coord, GLenum pname, GLfloat param) @system @nogc nothrow;
27753     /// Ditto
27754     @OpenGL_Version(OGLIntroducedIn.Unknown)
27755     @OpenGL_Extension("GL_OES_texture_cube_map")
27756     fn_glTexGenfOES glTexGenfOES;
27757     alias fn_glTexGenfv = extern(C) void function(GLenum coord, GLenum pname, const GLfloat* params) @system @nogc nothrow;
27758     /// Ditto
27759     @OpenGL_Version(OGLIntroducedIn.V1P0)
27760     fn_glTexGenfv glTexGenfv;
27761     alias fn_glTexGenfvOES = extern(C) void function(GLenum coord, GLenum pname, const GLfloat* params) @system @nogc nothrow;
27762     /// Ditto
27763     @OpenGL_Version(OGLIntroducedIn.Unknown)
27764     @OpenGL_Extension("GL_OES_texture_cube_map")
27765     fn_glTexGenfvOES glTexGenfvOES;
27766     alias fn_glTexGeni = extern(C) void function(GLenum coord, GLenum pname, GLint param) @system @nogc nothrow;
27767     /// Ditto
27768     @OpenGL_Version(OGLIntroducedIn.V1P0)
27769     fn_glTexGeni glTexGeni;
27770     alias fn_glTexGeniOES = extern(C) void function(GLenum coord, GLenum pname, GLint param) @system @nogc nothrow;
27771     /// Ditto
27772     @OpenGL_Version(OGLIntroducedIn.Unknown)
27773     @OpenGL_Extension("GL_OES_texture_cube_map")
27774     fn_glTexGeniOES glTexGeniOES;
27775     alias fn_glTexGeniv = extern(C) void function(GLenum coord, GLenum pname, const GLint* params) @system @nogc nothrow;
27776     /// Ditto
27777     @OpenGL_Version(OGLIntroducedIn.V1P0)
27778     fn_glTexGeniv glTexGeniv;
27779     alias fn_glTexGenivOES = extern(C) void function(GLenum coord, GLenum pname, const GLint* params) @system @nogc nothrow;
27780     /// Ditto
27781     @OpenGL_Version(OGLIntroducedIn.Unknown)
27782     @OpenGL_Extension("GL_OES_texture_cube_map")
27783     fn_glTexGenivOES glTexGenivOES;
27784     alias fn_glTexGenxOES = extern(C) void function(GLenum coord, GLenum pname, GLfixed param) @system @nogc nothrow;
27785     /// Ditto
27786     @OpenGL_Version(OGLIntroducedIn.Unknown)
27787     @OpenGL_Extension("GL_OES_fixed_point")
27788     fn_glTexGenxOES glTexGenxOES;
27789     alias fn_glTexGenxvOES = extern(C) void function(GLenum coord, GLenum pname, const GLfixed* params) @system @nogc nothrow;
27790     /// Ditto
27791     @OpenGL_Version(OGLIntroducedIn.Unknown)
27792     @OpenGL_Extension("GL_OES_fixed_point")
27793     fn_glTexGenxvOES glTexGenxvOES;
27794     alias fn_glTexImage2DMultisampleCoverageNV = extern(C) void function(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) @system @nogc nothrow;
27795     /// Ditto
27796     @OpenGL_Version(OGLIntroducedIn.Unknown)
27797     @OpenGL_Extension("GL_NV_texture_multisample")
27798     fn_glTexImage2DMultisampleCoverageNV glTexImage2DMultisampleCoverageNV;
27799     alias fn_glTexImage3DEXT = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27800     /// Ditto
27801     @OpenGL_Version(OGLIntroducedIn.Unknown)
27802     @OpenGL_Extension("GL_EXT_texture3D")
27803     fn_glTexImage3DEXT glTexImage3DEXT;
27804     alias fn_glTexImage3DMultisampleCoverageNV = extern(C) void function(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) @system @nogc nothrow;
27805     /// Ditto
27806     @OpenGL_Version(OGLIntroducedIn.Unknown)
27807     @OpenGL_Extension("GL_NV_texture_multisample")
27808     fn_glTexImage3DMultisampleCoverageNV glTexImage3DMultisampleCoverageNV;
27809     alias fn_glTexImage3DOES = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27810     /// Ditto
27811     @OpenGL_Version(OGLIntroducedIn.Unknown)
27812     @OpenGL_Extension("GL_OES_texture_3D")
27813     fn_glTexImage3DOES glTexImage3DOES;
27814     alias fn_glTexImage4DSGIS = extern(C) void function(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27815     /// Ditto
27816     @OpenGL_Version(OGLIntroducedIn.Unknown)
27817     @OpenGL_Extension("GL_SGIS_texture4D")
27818     fn_glTexImage4DSGIS glTexImage4DSGIS;
27819     alias fn_glTexPageCommitmentARB = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) @system @nogc nothrow;
27820     /// Ditto
27821     @OpenGL_Version(OGLIntroducedIn.Unknown)
27822     @OpenGL_Extension("GL_ARB_sparse_texture")
27823     fn_glTexPageCommitmentARB glTexPageCommitmentARB;
27824     alias fn_glTexPageCommitmentEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) @system @nogc nothrow;
27825     /// Ditto
27826     @OpenGL_Version(OGLIntroducedIn.Unknown)
27827     @OpenGL_Extension("GL_EXT_sparse_texture")
27828     fn_glTexPageCommitmentEXT glTexPageCommitmentEXT;
27829     alias fn_glTexParameterIiv = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
27830     /// Ditto
27831     @OpenGL_Version(OGLIntroducedIn.V3P0)
27832     fn_glTexParameterIiv glTexParameterIiv;
27833     alias fn_glTexParameterIivEXT = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
27834     /// Ditto
27835     @OpenGL_Version(OGLIntroducedIn.Unknown)
27836     @OpenGL_Extension("GL_EXT_texture_border_clamp")
27837     fn_glTexParameterIivEXT glTexParameterIivEXT;
27838     alias fn_glTexParameterIivOES = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
27839     /// Ditto
27840     @OpenGL_Version(OGLIntroducedIn.Unknown)
27841     @OpenGL_Extension("GL_OES_texture_border_clamp")
27842     fn_glTexParameterIivOES glTexParameterIivOES;
27843     alias fn_glTexParameterIuiv = extern(C) void function(GLenum target, GLenum pname, const GLuint* params) @system @nogc nothrow;
27844     /// Ditto
27845     @OpenGL_Version(OGLIntroducedIn.V3P0)
27846     fn_glTexParameterIuiv glTexParameterIuiv;
27847     alias fn_glTexParameterIuivEXT = extern(C) void function(GLenum target, GLenum pname, const GLuint* params) @system @nogc nothrow;
27848     /// Ditto
27849     @OpenGL_Version(OGLIntroducedIn.Unknown)
27850     @OpenGL_Extension("GL_EXT_texture_border_clamp")
27851     fn_glTexParameterIuivEXT glTexParameterIuivEXT;
27852     alias fn_glTexParameterIuivOES = extern(C) void function(GLenum target, GLenum pname, const GLuint* params) @system @nogc nothrow;
27853     /// Ditto
27854     @OpenGL_Version(OGLIntroducedIn.Unknown)
27855     @OpenGL_Extension("GL_OES_texture_border_clamp")
27856     fn_glTexParameterIuivOES glTexParameterIuivOES;
27857     alias fn_glTexParameterfv = extern(C) void function(GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
27858     /// Ditto
27859     @OpenGL_Version(OGLIntroducedIn.V1P0)
27860     fn_glTexParameterfv glTexParameterfv;
27861     alias fn_glTexParameteriv = extern(C) void function(GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
27862     /// Ditto
27863     @OpenGL_Version(OGLIntroducedIn.V1P0)
27864     fn_glTexParameteriv glTexParameteriv;
27865     alias fn_glTexParameterx = extern(C) void function(GLenum target, GLenum pname, GLfixed param) @system @nogc nothrow;
27866     /// Ditto
27867     @OpenGL_Version(OGLIntroducedIn.Unknown)
27868     fn_glTexParameterx glTexParameterx;
27869     alias fn_glTexParameterxOES = extern(C) void function(GLenum target, GLenum pname, GLfixed param) @system @nogc nothrow;
27870     /// Ditto
27871     @OpenGL_Version(OGLIntroducedIn.Unknown)
27872     @OpenGL_Extension("GL_OES_fixed_point")
27873     fn_glTexParameterxOES glTexParameterxOES;
27874     alias fn_glTexParameterxv = extern(C) void function(GLenum target, GLenum pname, const GLfixed* params) @system @nogc nothrow;
27875     /// Ditto
27876     @OpenGL_Version(OGLIntroducedIn.Unknown)
27877     fn_glTexParameterxv glTexParameterxv;
27878     alias fn_glTexParameterxvOES = extern(C) void function(GLenum target, GLenum pname, const GLfixed* params) @system @nogc nothrow;
27879     /// Ditto
27880     @OpenGL_Version(OGLIntroducedIn.Unknown)
27881     @OpenGL_Extension("GL_OES_fixed_point")
27882     fn_glTexParameterxvOES glTexParameterxvOES;
27883     alias fn_glTexRenderbufferNV = extern(C) void function(GLenum target, GLuint renderbuffer) @system @nogc nothrow;
27884     /// Ditto
27885     @OpenGL_Version(OGLIntroducedIn.Unknown)
27886     @OpenGL_Extension("GL_NV_explicit_multisample")
27887     fn_glTexRenderbufferNV glTexRenderbufferNV;
27888     alias fn_glTexStorage1DEXT = extern(C) void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) @system @nogc nothrow;
27889     /// Ditto
27890     @OpenGL_Version(OGLIntroducedIn.Unknown)
27891     @OpenGL_Extension("GL_EXT_texture_storage")
27892     fn_glTexStorage1DEXT glTexStorage1DEXT;
27893     alias fn_glTexStorage2DEXT = extern(C) void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
27894     /// Ditto
27895     @OpenGL_Version(OGLIntroducedIn.Unknown)
27896     @OpenGL_Extension("GL_EXT_texture_storage")
27897     fn_glTexStorage2DEXT glTexStorage2DEXT;
27898     alias fn_glTexStorage3DEXT = extern(C) void function(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) @system @nogc nothrow;
27899     /// Ditto
27900     @OpenGL_Version(OGLIntroducedIn.Unknown)
27901     @OpenGL_Extension("GL_EXT_texture_storage")
27902     fn_glTexStorage3DEXT glTexStorage3DEXT;
27903     alias fn_glTexStorage3DMultisampleOES = extern(C) void function(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) @system @nogc nothrow;
27904     /// Ditto
27905     @OpenGL_Version(OGLIntroducedIn.Unknown)
27906     @OpenGL_Extension("GL_OES_texture_storage_multisample_2d_array")
27907     fn_glTexStorage3DMultisampleOES glTexStorage3DMultisampleOES;
27908     alias fn_glTexStorageSparseAMD = extern(C) void function(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags) @system @nogc nothrow;
27909     /// Ditto
27910     @OpenGL_Version(OGLIntroducedIn.Unknown)
27911     @OpenGL_Extension("GL_AMD_sparse_texture")
27912     fn_glTexStorageSparseAMD glTexStorageSparseAMD;
27913     alias fn_glTexSubImage1DEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27914     /// Ditto
27915     @OpenGL_Version(OGLIntroducedIn.Unknown)
27916     @OpenGL_Extension("GL_EXT_subtexture")
27917     fn_glTexSubImage1DEXT glTexSubImage1DEXT;
27918     alias fn_glTexSubImage2DEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27919     /// Ditto
27920     @OpenGL_Version(OGLIntroducedIn.Unknown)
27921     @OpenGL_Extension("GL_EXT_subtexture")
27922     fn_glTexSubImage2DEXT glTexSubImage2DEXT;
27923     alias fn_glTexSubImage3DEXT = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27924     /// Ditto
27925     @OpenGL_Version(OGLIntroducedIn.Unknown)
27926     @OpenGL_Extension("GL_EXT_texture3D")
27927     fn_glTexSubImage3DEXT glTexSubImage3DEXT;
27928     alias fn_glTexSubImage3DOES = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27929     /// Ditto
27930     @OpenGL_Version(OGLIntroducedIn.Unknown)
27931     @OpenGL_Extension("GL_OES_texture_3D")
27932     fn_glTexSubImage3DOES glTexSubImage3DOES;
27933     alias fn_glTexSubImage4DSGIS = extern(C) void function(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27934     /// Ditto
27935     @OpenGL_Version(OGLIntroducedIn.Unknown)
27936     @OpenGL_Extension("GL_SGIS_texture4D")
27937     fn_glTexSubImage4DSGIS glTexSubImage4DSGIS;
27938     alias fn_glTextureBarrierNV = extern(C) void function() @system @nogc nothrow;
27939     /// Ditto
27940     @OpenGL_Version(OGLIntroducedIn.Unknown)
27941     @OpenGL_Extension("GL_NV_texture_barrier")
27942     fn_glTextureBarrierNV glTextureBarrierNV;
27943     alias fn_glTextureBufferEXT = extern(C) void function(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer) @system @nogc nothrow;
27944     /// Ditto
27945     @OpenGL_Version(OGLIntroducedIn.Unknown)
27946     @OpenGL_Extension("GL_EXT_direct_state_access")
27947     fn_glTextureBufferEXT glTextureBufferEXT;
27948     alias fn_glTextureBufferRangeEXT = extern(C) void function(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) @system @nogc nothrow;
27949     /// Ditto
27950     @OpenGL_Version(OGLIntroducedIn.Unknown)
27951     @OpenGL_Extension("GL_EXT_direct_state_access")
27952     fn_glTextureBufferRangeEXT glTextureBufferRangeEXT;
27953     alias fn_glTextureColorMaskSGIS = extern(C) void function(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) @system @nogc nothrow;
27954     /// Ditto
27955     @OpenGL_Version(OGLIntroducedIn.Unknown)
27956     @OpenGL_Extension("GL_SGIS_texture_color_mask")
27957     fn_glTextureColorMaskSGIS glTextureColorMaskSGIS;
27958     alias fn_glTextureImage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27959     /// Ditto
27960     @OpenGL_Version(OGLIntroducedIn.Unknown)
27961     @OpenGL_Extension("GL_EXT_direct_state_access")
27962     fn_glTextureImage1DEXT glTextureImage1DEXT;
27963     alias fn_glTextureImage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27964     /// Ditto
27965     @OpenGL_Version(OGLIntroducedIn.Unknown)
27966     @OpenGL_Extension("GL_EXT_direct_state_access")
27967     fn_glTextureImage2DEXT glTextureImage2DEXT;
27968     alias fn_glTextureImage2DMultisampleCoverageNV = extern(C) void function(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) @system @nogc nothrow;
27969     /// Ditto
27970     @OpenGL_Version(OGLIntroducedIn.Unknown)
27971     @OpenGL_Extension("GL_NV_texture_multisample")
27972     fn_glTextureImage2DMultisampleCoverageNV glTextureImage2DMultisampleCoverageNV;
27973     alias fn_glTextureImage2DMultisampleNV = extern(C) void function(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) @system @nogc nothrow;
27974     /// Ditto
27975     @OpenGL_Version(OGLIntroducedIn.Unknown)
27976     @OpenGL_Extension("GL_NV_texture_multisample")
27977     fn_glTextureImage2DMultisampleNV glTextureImage2DMultisampleNV;
27978     alias fn_glTextureImage3DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
27979     /// Ditto
27980     @OpenGL_Version(OGLIntroducedIn.Unknown)
27981     @OpenGL_Extension("GL_EXT_direct_state_access")
27982     fn_glTextureImage3DEXT glTextureImage3DEXT;
27983     alias fn_glTextureImage3DMultisampleCoverageNV = extern(C) void function(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) @system @nogc nothrow;
27984     /// Ditto
27985     @OpenGL_Version(OGLIntroducedIn.Unknown)
27986     @OpenGL_Extension("GL_NV_texture_multisample")
27987     fn_glTextureImage3DMultisampleCoverageNV glTextureImage3DMultisampleCoverageNV;
27988     alias fn_glTextureImage3DMultisampleNV = extern(C) void function(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) @system @nogc nothrow;
27989     /// Ditto
27990     @OpenGL_Version(OGLIntroducedIn.Unknown)
27991     @OpenGL_Extension("GL_NV_texture_multisample")
27992     fn_glTextureImage3DMultisampleNV glTextureImage3DMultisampleNV;
27993     alias fn_glTextureLightEXT = extern(C) void function(GLenum pname) @system @nogc nothrow;
27994     /// Ditto
27995     @OpenGL_Version(OGLIntroducedIn.Unknown)
27996     @OpenGL_Extension("GL_EXT_light_texture")
27997     fn_glTextureLightEXT glTextureLightEXT;
27998     alias fn_glTextureMaterialEXT = extern(C) void function(GLenum face, GLenum mode) @system @nogc nothrow;
27999     /// Ditto
28000     @OpenGL_Version(OGLIntroducedIn.Unknown)
28001     @OpenGL_Extension("GL_EXT_light_texture")
28002     fn_glTextureMaterialEXT glTextureMaterialEXT;
28003     alias fn_glTextureNormalEXT = extern(C) void function(GLenum mode) @system @nogc nothrow;
28004     /// Ditto
28005     @OpenGL_Version(OGLIntroducedIn.Unknown)
28006     @OpenGL_Extension("GL_EXT_texture_perturb_normal")
28007     fn_glTextureNormalEXT glTextureNormalEXT;
28008     alias fn_glTexturePageCommitmentEXT = extern(C) void function(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit) @system @nogc nothrow;
28009     /// Ditto
28010     @OpenGL_Version(OGLIntroducedIn.Unknown)
28011     @OpenGL_Extension("GL_EXT_direct_state_access")
28012     fn_glTexturePageCommitmentEXT glTexturePageCommitmentEXT;
28013     alias fn_glTextureParameterIiv = extern(C) void function(GLuint texture, GLenum pname, const GLint* params) @system @nogc nothrow;
28014     /// Ditto
28015     @OpenGL_Version(OGLIntroducedIn.V4P5)
28016     @OpenGL_Extension("GL_ARB_direct_state_access")
28017     fn_glTextureParameterIiv glTextureParameterIiv;
28018     alias fn_glTextureParameterIivEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
28019     /// Ditto
28020     @OpenGL_Version(OGLIntroducedIn.Unknown)
28021     @OpenGL_Extension("GL_EXT_direct_state_access")
28022     fn_glTextureParameterIivEXT glTextureParameterIivEXT;
28023     alias fn_glTextureParameterIuiv = extern(C) void function(GLuint texture, GLenum pname, const GLuint* params) @system @nogc nothrow;
28024     /// Ditto
28025     @OpenGL_Version(OGLIntroducedIn.V4P5)
28026     @OpenGL_Extension("GL_ARB_direct_state_access")
28027     fn_glTextureParameterIuiv glTextureParameterIuiv;
28028     alias fn_glTextureParameterIuivEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, const GLuint* params) @system @nogc nothrow;
28029     /// Ditto
28030     @OpenGL_Version(OGLIntroducedIn.Unknown)
28031     @OpenGL_Extension("GL_EXT_direct_state_access")
28032     fn_glTextureParameterIuivEXT glTextureParameterIuivEXT;
28033     alias fn_glTextureParameterf = extern(C) void function(GLuint texture, GLenum pname, GLfloat param) @system @nogc nothrow;
28034     /// Ditto
28035     @OpenGL_Version(OGLIntroducedIn.V4P5)
28036     @OpenGL_Extension("GL_ARB_direct_state_access")
28037     fn_glTextureParameterf glTextureParameterf;
28038     alias fn_glTextureParameterfEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, GLfloat param) @system @nogc nothrow;
28039     /// Ditto
28040     @OpenGL_Version(OGLIntroducedIn.Unknown)
28041     @OpenGL_Extension("GL_EXT_direct_state_access")
28042     fn_glTextureParameterfEXT glTextureParameterfEXT;
28043     alias fn_glTextureParameterfv = extern(C) void function(GLuint texture, GLenum pname, const GLfloat* param) @system @nogc nothrow;
28044     /// Ditto
28045     @OpenGL_Version(OGLIntroducedIn.V4P5)
28046     @OpenGL_Extension("GL_ARB_direct_state_access")
28047     fn_glTextureParameterfv glTextureParameterfv;
28048     alias fn_glTextureParameterfvEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, const GLfloat* params) @system @nogc nothrow;
28049     /// Ditto
28050     @OpenGL_Version(OGLIntroducedIn.Unknown)
28051     @OpenGL_Extension("GL_EXT_direct_state_access")
28052     fn_glTextureParameterfvEXT glTextureParameterfvEXT;
28053     alias fn_glTextureParameteri = extern(C) void function(GLuint texture, GLenum pname, GLint param) @system @nogc nothrow;
28054     /// Ditto
28055     @OpenGL_Version(OGLIntroducedIn.V4P5)
28056     @OpenGL_Extension("GL_ARB_direct_state_access")
28057     fn_glTextureParameteri glTextureParameteri;
28058     alias fn_glTextureParameteriEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, GLint param) @system @nogc nothrow;
28059     /// Ditto
28060     @OpenGL_Version(OGLIntroducedIn.Unknown)
28061     @OpenGL_Extension("GL_EXT_direct_state_access")
28062     fn_glTextureParameteriEXT glTextureParameteriEXT;
28063     alias fn_glTextureParameteriv = extern(C) void function(GLuint texture, GLenum pname, const GLint* param) @system @nogc nothrow;
28064     /// Ditto
28065     @OpenGL_Version(OGLIntroducedIn.V4P5)
28066     @OpenGL_Extension("GL_ARB_direct_state_access")
28067     fn_glTextureParameteriv glTextureParameteriv;
28068     alias fn_glTextureParameterivEXT = extern(C) void function(GLuint texture, GLenum target, GLenum pname, const GLint* params) @system @nogc nothrow;
28069     /// Ditto
28070     @OpenGL_Version(OGLIntroducedIn.Unknown)
28071     @OpenGL_Extension("GL_EXT_direct_state_access")
28072     fn_glTextureParameterivEXT glTextureParameterivEXT;
28073     alias fn_glTextureRangeAPPLE = extern(C) void function(GLenum target, GLsizei length, const void* pointer) @system @nogc nothrow;
28074     /// Ditto
28075     @OpenGL_Version(OGLIntroducedIn.Unknown)
28076     @OpenGL_Extension("GL_APPLE_texture_range")
28077     fn_glTextureRangeAPPLE glTextureRangeAPPLE;
28078     alias fn_glTextureRenderbufferEXT = extern(C) void function(GLuint texture, GLenum target, GLuint renderbuffer) @system @nogc nothrow;
28079     /// Ditto
28080     @OpenGL_Version(OGLIntroducedIn.Unknown)
28081     @OpenGL_Extension("GL_EXT_direct_state_access")
28082     fn_glTextureRenderbufferEXT glTextureRenderbufferEXT;
28083     alias fn_glTextureStorage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) @system @nogc nothrow;
28084     /// Ditto
28085     @OpenGL_Version(OGLIntroducedIn.Unknown)
28086     @OpenGL_Extension("GL_EXT_direct_state_access")
28087     fn_glTextureStorage1DEXT glTextureStorage1DEXT;
28088     alias fn_glTextureStorage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) @system @nogc nothrow;
28089     /// Ditto
28090     @OpenGL_Version(OGLIntroducedIn.Unknown)
28091     @OpenGL_Extension("GL_EXT_direct_state_access")
28092     fn_glTextureStorage2DEXT glTextureStorage2DEXT;
28093     alias fn_glTextureStorage2DMultisampleEXT = extern(C) void function(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) @system @nogc nothrow;
28094     /// Ditto
28095     @OpenGL_Version(OGLIntroducedIn.Unknown)
28096     @OpenGL_Extension("GL_EXT_direct_state_access")
28097     fn_glTextureStorage2DMultisampleEXT glTextureStorage2DMultisampleEXT;
28098     alias fn_glTextureStorage3DEXT = extern(C) void function(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) @system @nogc nothrow;
28099     /// Ditto
28100     @OpenGL_Version(OGLIntroducedIn.Unknown)
28101     @OpenGL_Extension("GL_EXT_direct_state_access")
28102     fn_glTextureStorage3DEXT glTextureStorage3DEXT;
28103     alias fn_glTextureStorage3DMultisampleEXT = extern(C) void function(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) @system @nogc nothrow;
28104     /// Ditto
28105     @OpenGL_Version(OGLIntroducedIn.Unknown)
28106     @OpenGL_Extension("GL_EXT_direct_state_access")
28107     fn_glTextureStorage3DMultisampleEXT glTextureStorage3DMultisampleEXT;
28108     alias fn_glTextureStorageSparseAMD = extern(C) void function(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags) @system @nogc nothrow;
28109     /// Ditto
28110     @OpenGL_Version(OGLIntroducedIn.Unknown)
28111     @OpenGL_Extension("GL_AMD_sparse_texture")
28112     fn_glTextureStorageSparseAMD glTextureStorageSparseAMD;
28113     alias fn_glTextureSubImage1DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
28114     /// Ditto
28115     @OpenGL_Version(OGLIntroducedIn.Unknown)
28116     @OpenGL_Extension("GL_EXT_direct_state_access")
28117     fn_glTextureSubImage1DEXT glTextureSubImage1DEXT;
28118     alias fn_glTextureSubImage2DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
28119     /// Ditto
28120     @OpenGL_Version(OGLIntroducedIn.Unknown)
28121     @OpenGL_Extension("GL_EXT_direct_state_access")
28122     fn_glTextureSubImage2DEXT glTextureSubImage2DEXT;
28123     alias fn_glTextureSubImage3DEXT = extern(C) void function(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels) @system @nogc nothrow;
28124     /// Ditto
28125     @OpenGL_Version(OGLIntroducedIn.Unknown)
28126     @OpenGL_Extension("GL_EXT_direct_state_access")
28127     fn_glTextureSubImage3DEXT glTextureSubImage3DEXT;
28128     alias fn_glTextureViewEXT = extern(C) void function(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) @system @nogc nothrow;
28129     /// Ditto
28130     @OpenGL_Version(OGLIntroducedIn.Unknown)
28131     @OpenGL_Extension("GL_EXT_texture_view")
28132     fn_glTextureViewEXT glTextureViewEXT;
28133     alias fn_glTextureViewOES = extern(C) void function(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) @system @nogc nothrow;
28134     /// Ditto
28135     @OpenGL_Version(OGLIntroducedIn.Unknown)
28136     @OpenGL_Extension("GL_OES_texture_view")
28137     fn_glTextureViewOES glTextureViewOES;
28138     alias fn_glTrackMatrixNV = extern(C) void function(GLenum target, GLuint address, GLenum matrix, GLenum transform) @system @nogc nothrow;
28139     /// Ditto
28140     @OpenGL_Version(OGLIntroducedIn.Unknown)
28141     @OpenGL_Extension("GL_NV_vertex_program")
28142     fn_glTrackMatrixNV glTrackMatrixNV;
28143     alias fn_glTransformFeedbackAttribsNV = extern(C) void function(GLsizei count, const GLint* attribs, GLenum bufferMode) @system @nogc nothrow;
28144     /// Ditto
28145     @OpenGL_Version(OGLIntroducedIn.Unknown)
28146     @OpenGL_Extension("GL_NV_transform_feedback")
28147     fn_glTransformFeedbackAttribsNV glTransformFeedbackAttribsNV;
28148     alias fn_glTransformFeedbackStreamAttribsNV = extern(C) void function(GLsizei count, const GLint* attribs, GLsizei nbuffers, const GLint* bufstreams, GLenum bufferMode) @system @nogc nothrow;
28149     /// Ditto
28150     @OpenGL_Version(OGLIntroducedIn.Unknown)
28151     @OpenGL_Extension("GL_NV_transform_feedback")
28152     fn_glTransformFeedbackStreamAttribsNV glTransformFeedbackStreamAttribsNV;
28153     alias fn_glTransformFeedbackVaryingsEXT = extern(C) void function(GLuint program, GLsizei count, const(const(GLvoid*)*) varyings, GLenum bufferMode) @system @nogc nothrow;
28154     /// Ditto
28155     @OpenGL_Version(OGLIntroducedIn.Unknown)
28156     @OpenGL_Extension("GL_EXT_transform_feedback")
28157     fn_glTransformFeedbackVaryingsEXT glTransformFeedbackVaryingsEXT;
28158     alias fn_glTransformFeedbackVaryingsNV = extern(C) void function(GLuint program, GLsizei count, const GLint* locations, GLenum bufferMode) @system @nogc nothrow;
28159     /// Ditto
28160     @OpenGL_Version(OGLIntroducedIn.Unknown)
28161     @OpenGL_Extension("GL_NV_transform_feedback")
28162     fn_glTransformFeedbackVaryingsNV glTransformFeedbackVaryingsNV;
28163     alias fn_glTransformPathNV = extern(C) void function(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues) @system @nogc nothrow;
28164     /// Ditto
28165     @OpenGL_Version(OGLIntroducedIn.Unknown)
28166     @OpenGL_Extension("GL_NV_path_rendering")
28167     fn_glTransformPathNV glTransformPathNV;
28168     alias fn_glTranslated = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
28169     /// Ditto
28170     @OpenGL_Version(OGLIntroducedIn.V1P0)
28171     fn_glTranslated glTranslated;
28172     alias fn_glTranslatef = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
28173     /// Ditto
28174     @OpenGL_Version(OGLIntroducedIn.V1P0)
28175     fn_glTranslatef glTranslatef;
28176     alias fn_glTranslatex = extern(C) void function(GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
28177     /// Ditto
28178     @OpenGL_Version(OGLIntroducedIn.Unknown)
28179     fn_glTranslatex glTranslatex;
28180     alias fn_glTranslatexOES = extern(C) void function(GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
28181     /// Ditto
28182     @OpenGL_Version(OGLIntroducedIn.Unknown)
28183     @OpenGL_Extension("GL_OES_fixed_point")
28184     fn_glTranslatexOES glTranslatexOES;
28185     alias fn_glUniform1d = extern(C) void function(GLint location, GLdouble x) @system @nogc nothrow;
28186     /// Ditto
28187     @OpenGL_Version(OGLIntroducedIn.V4P0)
28188     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28189     fn_glUniform1d glUniform1d;
28190     alias fn_glUniform1dv = extern(C) void function(GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
28191     /// Ditto
28192     @OpenGL_Version(OGLIntroducedIn.V4P0)
28193     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28194     fn_glUniform1dv glUniform1dv;
28195     alias fn_glUniform1fARB = extern(C) void function(GLint location, GLfloat v0) @system @nogc nothrow;
28196     /// Ditto
28197     @OpenGL_Version(OGLIntroducedIn.Unknown)
28198     @OpenGL_Extension("GL_ARB_shader_objects")
28199     fn_glUniform1fARB glUniform1fARB;
28200     alias fn_glUniform1fvARB = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
28201     /// Ditto
28202     @OpenGL_Version(OGLIntroducedIn.Unknown)
28203     @OpenGL_Extension("GL_ARB_shader_objects")
28204     fn_glUniform1fvARB glUniform1fvARB;
28205     alias fn_glUniform1i64ARB = extern(C) void function(GLint location, GLint64 x) @system @nogc nothrow;
28206     /// Ditto
28207     @OpenGL_Version(OGLIntroducedIn.Unknown)
28208     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28209     fn_glUniform1i64ARB glUniform1i64ARB;
28210     alias fn_glUniform1i64NV = extern(C) void function(GLint location, GLint64EXT x) @system @nogc nothrow;
28211     /// Ditto
28212     @OpenGL_Version(OGLIntroducedIn.Unknown)
28213     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28214     fn_glUniform1i64NV glUniform1i64NV;
28215     alias fn_glUniform1i64vARB = extern(C) void function(GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
28216     /// Ditto
28217     @OpenGL_Version(OGLIntroducedIn.Unknown)
28218     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28219     fn_glUniform1i64vARB glUniform1i64vARB;
28220     alias fn_glUniform1i64vNV = extern(C) void function(GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
28221     /// Ditto
28222     @OpenGL_Version(OGLIntroducedIn.Unknown)
28223     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28224     fn_glUniform1i64vNV glUniform1i64vNV;
28225     alias fn_glUniform1iARB = extern(C) void function(GLint location, GLint v0) @system @nogc nothrow;
28226     /// Ditto
28227     @OpenGL_Version(OGLIntroducedIn.Unknown)
28228     @OpenGL_Extension("GL_ARB_shader_objects")
28229     fn_glUniform1iARB glUniform1iARB;
28230     alias fn_glUniform1ivARB = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
28231     /// Ditto
28232     @OpenGL_Version(OGLIntroducedIn.Unknown)
28233     @OpenGL_Extension("GL_ARB_shader_objects")
28234     fn_glUniform1ivARB glUniform1ivARB;
28235     alias fn_glUniform1ui64ARB = extern(C) void function(GLint location, GLuint64 x) @system @nogc nothrow;
28236     /// Ditto
28237     @OpenGL_Version(OGLIntroducedIn.Unknown)
28238     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28239     fn_glUniform1ui64ARB glUniform1ui64ARB;
28240     alias fn_glUniform1ui64NV = extern(C) void function(GLint location, GLuint64EXT x) @system @nogc nothrow;
28241     /// Ditto
28242     @OpenGL_Version(OGLIntroducedIn.Unknown)
28243     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28244     fn_glUniform1ui64NV glUniform1ui64NV;
28245     alias fn_glUniform1ui64vARB = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28246     /// Ditto
28247     @OpenGL_Version(OGLIntroducedIn.Unknown)
28248     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28249     fn_glUniform1ui64vARB glUniform1ui64vARB;
28250     alias fn_glUniform1ui64vNV = extern(C) void function(GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
28251     /// Ditto
28252     @OpenGL_Version(OGLIntroducedIn.Unknown)
28253     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28254     fn_glUniform1ui64vNV glUniform1ui64vNV;
28255     alias fn_glUniform1uiEXT = extern(C) void function(GLint location, GLuint v0) @system @nogc nothrow;
28256     /// Ditto
28257     @OpenGL_Version(OGLIntroducedIn.Unknown)
28258     @OpenGL_Extension("GL_EXT_gpu_shader4")
28259     fn_glUniform1uiEXT glUniform1uiEXT;
28260     alias fn_glUniform1uivEXT = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
28261     /// Ditto
28262     @OpenGL_Version(OGLIntroducedIn.Unknown)
28263     @OpenGL_Extension("GL_EXT_gpu_shader4")
28264     fn_glUniform1uivEXT glUniform1uivEXT;
28265     alias fn_glUniform2d = extern(C) void function(GLint location, GLdouble x, GLdouble y) @system @nogc nothrow;
28266     /// Ditto
28267     @OpenGL_Version(OGLIntroducedIn.V4P0)
28268     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28269     fn_glUniform2d glUniform2d;
28270     alias fn_glUniform2dv = extern(C) void function(GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
28271     /// Ditto
28272     @OpenGL_Version(OGLIntroducedIn.V4P0)
28273     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28274     fn_glUniform2dv glUniform2dv;
28275     alias fn_glUniform2fARB = extern(C) void function(GLint location, GLfloat v0, GLfloat v1) @system @nogc nothrow;
28276     /// Ditto
28277     @OpenGL_Version(OGLIntroducedIn.Unknown)
28278     @OpenGL_Extension("GL_ARB_shader_objects")
28279     fn_glUniform2fARB glUniform2fARB;
28280     alias fn_glUniform2fvARB = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
28281     /// Ditto
28282     @OpenGL_Version(OGLIntroducedIn.Unknown)
28283     @OpenGL_Extension("GL_ARB_shader_objects")
28284     fn_glUniform2fvARB glUniform2fvARB;
28285     alias fn_glUniform2i64ARB = extern(C) void function(GLint location, GLint64 x, GLint64 y) @system @nogc nothrow;
28286     /// Ditto
28287     @OpenGL_Version(OGLIntroducedIn.Unknown)
28288     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28289     fn_glUniform2i64ARB glUniform2i64ARB;
28290     alias fn_glUniform2i64NV = extern(C) void function(GLint location, GLint64EXT x, GLint64EXT y) @system @nogc nothrow;
28291     /// Ditto
28292     @OpenGL_Version(OGLIntroducedIn.Unknown)
28293     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28294     fn_glUniform2i64NV glUniform2i64NV;
28295     alias fn_glUniform2i64vARB = extern(C) void function(GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
28296     /// Ditto
28297     @OpenGL_Version(OGLIntroducedIn.Unknown)
28298     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28299     fn_glUniform2i64vARB glUniform2i64vARB;
28300     alias fn_glUniform2i64vNV = extern(C) void function(GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
28301     /// Ditto
28302     @OpenGL_Version(OGLIntroducedIn.Unknown)
28303     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28304     fn_glUniform2i64vNV glUniform2i64vNV;
28305     alias fn_glUniform2iARB = extern(C) void function(GLint location, GLint v0, GLint v1) @system @nogc nothrow;
28306     /// Ditto
28307     @OpenGL_Version(OGLIntroducedIn.Unknown)
28308     @OpenGL_Extension("GL_ARB_shader_objects")
28309     fn_glUniform2iARB glUniform2iARB;
28310     alias fn_glUniform2ivARB = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
28311     /// Ditto
28312     @OpenGL_Version(OGLIntroducedIn.Unknown)
28313     @OpenGL_Extension("GL_ARB_shader_objects")
28314     fn_glUniform2ivARB glUniform2ivARB;
28315     alias fn_glUniform2ui64ARB = extern(C) void function(GLint location, GLuint64 x, GLuint64 y) @system @nogc nothrow;
28316     /// Ditto
28317     @OpenGL_Version(OGLIntroducedIn.Unknown)
28318     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28319     fn_glUniform2ui64ARB glUniform2ui64ARB;
28320     alias fn_glUniform2ui64NV = extern(C) void function(GLint location, GLuint64EXT x, GLuint64EXT y) @system @nogc nothrow;
28321     /// Ditto
28322     @OpenGL_Version(OGLIntroducedIn.Unknown)
28323     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28324     fn_glUniform2ui64NV glUniform2ui64NV;
28325     alias fn_glUniform2ui64vARB = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28326     /// Ditto
28327     @OpenGL_Version(OGLIntroducedIn.Unknown)
28328     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28329     fn_glUniform2ui64vARB glUniform2ui64vARB;
28330     alias fn_glUniform2ui64vNV = extern(C) void function(GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
28331     /// Ditto
28332     @OpenGL_Version(OGLIntroducedIn.Unknown)
28333     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28334     fn_glUniform2ui64vNV glUniform2ui64vNV;
28335     alias fn_glUniform2uiEXT = extern(C) void function(GLint location, GLuint v0, GLuint v1) @system @nogc nothrow;
28336     /// Ditto
28337     @OpenGL_Version(OGLIntroducedIn.Unknown)
28338     @OpenGL_Extension("GL_EXT_gpu_shader4")
28339     fn_glUniform2uiEXT glUniform2uiEXT;
28340     alias fn_glUniform2uivEXT = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
28341     /// Ditto
28342     @OpenGL_Version(OGLIntroducedIn.Unknown)
28343     @OpenGL_Extension("GL_EXT_gpu_shader4")
28344     fn_glUniform2uivEXT glUniform2uivEXT;
28345     alias fn_glUniform3d = extern(C) void function(GLint location, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
28346     /// Ditto
28347     @OpenGL_Version(OGLIntroducedIn.V4P0)
28348     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28349     fn_glUniform3d glUniform3d;
28350     alias fn_glUniform3dv = extern(C) void function(GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
28351     /// Ditto
28352     @OpenGL_Version(OGLIntroducedIn.V4P0)
28353     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28354     fn_glUniform3dv glUniform3dv;
28355     alias fn_glUniform3fARB = extern(C) void function(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) @system @nogc nothrow;
28356     /// Ditto
28357     @OpenGL_Version(OGLIntroducedIn.Unknown)
28358     @OpenGL_Extension("GL_ARB_shader_objects")
28359     fn_glUniform3fARB glUniform3fARB;
28360     alias fn_glUniform3fvARB = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
28361     /// Ditto
28362     @OpenGL_Version(OGLIntroducedIn.Unknown)
28363     @OpenGL_Extension("GL_ARB_shader_objects")
28364     fn_glUniform3fvARB glUniform3fvARB;
28365     alias fn_glUniform3i64ARB = extern(C) void function(GLint location, GLint64 x, GLint64 y, GLint64 z) @system @nogc nothrow;
28366     /// Ditto
28367     @OpenGL_Version(OGLIntroducedIn.Unknown)
28368     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28369     fn_glUniform3i64ARB glUniform3i64ARB;
28370     alias fn_glUniform3i64NV = extern(C) void function(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z) @system @nogc nothrow;
28371     /// Ditto
28372     @OpenGL_Version(OGLIntroducedIn.Unknown)
28373     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28374     fn_glUniform3i64NV glUniform3i64NV;
28375     alias fn_glUniform3i64vARB = extern(C) void function(GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
28376     /// Ditto
28377     @OpenGL_Version(OGLIntroducedIn.Unknown)
28378     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28379     fn_glUniform3i64vARB glUniform3i64vARB;
28380     alias fn_glUniform3i64vNV = extern(C) void function(GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
28381     /// Ditto
28382     @OpenGL_Version(OGLIntroducedIn.Unknown)
28383     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28384     fn_glUniform3i64vNV glUniform3i64vNV;
28385     alias fn_glUniform3iARB = extern(C) void function(GLint location, GLint v0, GLint v1, GLint v2) @system @nogc nothrow;
28386     /// Ditto
28387     @OpenGL_Version(OGLIntroducedIn.Unknown)
28388     @OpenGL_Extension("GL_ARB_shader_objects")
28389     fn_glUniform3iARB glUniform3iARB;
28390     alias fn_glUniform3ivARB = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
28391     /// Ditto
28392     @OpenGL_Version(OGLIntroducedIn.Unknown)
28393     @OpenGL_Extension("GL_ARB_shader_objects")
28394     fn_glUniform3ivARB glUniform3ivARB;
28395     alias fn_glUniform3ui64ARB = extern(C) void function(GLint location, GLuint64 x, GLuint64 y, GLuint64 z) @system @nogc nothrow;
28396     /// Ditto
28397     @OpenGL_Version(OGLIntroducedIn.Unknown)
28398     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28399     fn_glUniform3ui64ARB glUniform3ui64ARB;
28400     alias fn_glUniform3ui64NV = extern(C) void function(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) @system @nogc nothrow;
28401     /// Ditto
28402     @OpenGL_Version(OGLIntroducedIn.Unknown)
28403     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28404     fn_glUniform3ui64NV glUniform3ui64NV;
28405     alias fn_glUniform3ui64vARB = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28406     /// Ditto
28407     @OpenGL_Version(OGLIntroducedIn.Unknown)
28408     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28409     fn_glUniform3ui64vARB glUniform3ui64vARB;
28410     alias fn_glUniform3ui64vNV = extern(C) void function(GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
28411     /// Ditto
28412     @OpenGL_Version(OGLIntroducedIn.Unknown)
28413     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28414     fn_glUniform3ui64vNV glUniform3ui64vNV;
28415     alias fn_glUniform3uiEXT = extern(C) void function(GLint location, GLuint v0, GLuint v1, GLuint v2) @system @nogc nothrow;
28416     /// Ditto
28417     @OpenGL_Version(OGLIntroducedIn.Unknown)
28418     @OpenGL_Extension("GL_EXT_gpu_shader4")
28419     fn_glUniform3uiEXT glUniform3uiEXT;
28420     alias fn_glUniform3uivEXT = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
28421     /// Ditto
28422     @OpenGL_Version(OGLIntroducedIn.Unknown)
28423     @OpenGL_Extension("GL_EXT_gpu_shader4")
28424     fn_glUniform3uivEXT glUniform3uivEXT;
28425     alias fn_glUniform4d = extern(C) void function(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
28426     /// Ditto
28427     @OpenGL_Version(OGLIntroducedIn.V4P0)
28428     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28429     fn_glUniform4d glUniform4d;
28430     alias fn_glUniform4dv = extern(C) void function(GLint location, GLsizei count, const GLdouble* value) @system @nogc nothrow;
28431     /// Ditto
28432     @OpenGL_Version(OGLIntroducedIn.V4P0)
28433     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28434     fn_glUniform4dv glUniform4dv;
28435     alias fn_glUniform4fARB = extern(C) void function(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) @system @nogc nothrow;
28436     /// Ditto
28437     @OpenGL_Version(OGLIntroducedIn.Unknown)
28438     @OpenGL_Extension("GL_ARB_shader_objects")
28439     fn_glUniform4fARB glUniform4fARB;
28440     alias fn_glUniform4fvARB = extern(C) void function(GLint location, GLsizei count, const GLfloat* value) @system @nogc nothrow;
28441     /// Ditto
28442     @OpenGL_Version(OGLIntroducedIn.Unknown)
28443     @OpenGL_Extension("GL_ARB_shader_objects")
28444     fn_glUniform4fvARB glUniform4fvARB;
28445     alias fn_glUniform4i64ARB = extern(C) void function(GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w) @system @nogc nothrow;
28446     /// Ditto
28447     @OpenGL_Version(OGLIntroducedIn.Unknown)
28448     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28449     fn_glUniform4i64ARB glUniform4i64ARB;
28450     alias fn_glUniform4i64NV = extern(C) void function(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) @system @nogc nothrow;
28451     /// Ditto
28452     @OpenGL_Version(OGLIntroducedIn.Unknown)
28453     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28454     fn_glUniform4i64NV glUniform4i64NV;
28455     alias fn_glUniform4i64vARB = extern(C) void function(GLint location, GLsizei count, const GLint64* value) @system @nogc nothrow;
28456     /// Ditto
28457     @OpenGL_Version(OGLIntroducedIn.Unknown)
28458     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28459     fn_glUniform4i64vARB glUniform4i64vARB;
28460     alias fn_glUniform4i64vNV = extern(C) void function(GLint location, GLsizei count, const GLint64EXT* value) @system @nogc nothrow;
28461     /// Ditto
28462     @OpenGL_Version(OGLIntroducedIn.Unknown)
28463     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28464     fn_glUniform4i64vNV glUniform4i64vNV;
28465     alias fn_glUniform4iARB = extern(C) void function(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) @system @nogc nothrow;
28466     /// Ditto
28467     @OpenGL_Version(OGLIntroducedIn.Unknown)
28468     @OpenGL_Extension("GL_ARB_shader_objects")
28469     fn_glUniform4iARB glUniform4iARB;
28470     alias fn_glUniform4ivARB = extern(C) void function(GLint location, GLsizei count, const GLint* value) @system @nogc nothrow;
28471     /// Ditto
28472     @OpenGL_Version(OGLIntroducedIn.Unknown)
28473     @OpenGL_Extension("GL_ARB_shader_objects")
28474     fn_glUniform4ivARB glUniform4ivARB;
28475     alias fn_glUniform4ui64ARB = extern(C) void function(GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w) @system @nogc nothrow;
28476     /// Ditto
28477     @OpenGL_Version(OGLIntroducedIn.Unknown)
28478     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28479     fn_glUniform4ui64ARB glUniform4ui64ARB;
28480     alias fn_glUniform4ui64NV = extern(C) void function(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) @system @nogc nothrow;
28481     /// Ditto
28482     @OpenGL_Version(OGLIntroducedIn.Unknown)
28483     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28484     fn_glUniform4ui64NV glUniform4ui64NV;
28485     alias fn_glUniform4ui64vARB = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28486     /// Ditto
28487     @OpenGL_Version(OGLIntroducedIn.Unknown)
28488     @OpenGL_Extension("GL_ARB_gpu_shader_int64")
28489     fn_glUniform4ui64vARB glUniform4ui64vARB;
28490     alias fn_glUniform4ui64vNV = extern(C) void function(GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
28491     /// Ditto
28492     @OpenGL_Version(OGLIntroducedIn.Unknown)
28493     @OpenGL_Extension("GL_AMD_gpu_shader_int64")
28494     fn_glUniform4ui64vNV glUniform4ui64vNV;
28495     alias fn_glUniform4uiEXT = extern(C) void function(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) @system @nogc nothrow;
28496     /// Ditto
28497     @OpenGL_Version(OGLIntroducedIn.Unknown)
28498     @OpenGL_Extension("GL_EXT_gpu_shader4")
28499     fn_glUniform4uiEXT glUniform4uiEXT;
28500     alias fn_glUniform4uivEXT = extern(C) void function(GLint location, GLsizei count, const GLuint* value) @system @nogc nothrow;
28501     /// Ditto
28502     @OpenGL_Version(OGLIntroducedIn.Unknown)
28503     @OpenGL_Extension("GL_EXT_gpu_shader4")
28504     fn_glUniform4uivEXT glUniform4uivEXT;
28505     alias fn_glUniformBufferEXT = extern(C) void function(GLuint program, GLint location, GLuint buffer) @system @nogc nothrow;
28506     /// Ditto
28507     @OpenGL_Version(OGLIntroducedIn.Unknown)
28508     @OpenGL_Extension("GL_EXT_bindable_uniform")
28509     fn_glUniformBufferEXT glUniformBufferEXT;
28510     alias fn_glUniformHandleui64ARB = extern(C) void function(GLint location, GLuint64 value) @system @nogc nothrow;
28511     /// Ditto
28512     @OpenGL_Version(OGLIntroducedIn.Unknown)
28513     @OpenGL_Extension("GL_ARB_bindless_texture")
28514     fn_glUniformHandleui64ARB glUniformHandleui64ARB;
28515     alias fn_glUniformHandleui64IMG = extern(C) void function(GLint location, GLuint64 value) @system @nogc nothrow;
28516     /// Ditto
28517     @OpenGL_Version(OGLIntroducedIn.Unknown)
28518     @OpenGL_Extension("GL_IMG_bindless_texture")
28519     fn_glUniformHandleui64IMG glUniformHandleui64IMG;
28520     alias fn_glUniformHandleui64NV = extern(C) void function(GLint location, GLuint64 value) @system @nogc nothrow;
28521     /// Ditto
28522     @OpenGL_Version(OGLIntroducedIn.Unknown)
28523     @OpenGL_Extension("GL_NV_bindless_texture")
28524     fn_glUniformHandleui64NV glUniformHandleui64NV;
28525     alias fn_glUniformHandleui64vARB = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28526     /// Ditto
28527     @OpenGL_Version(OGLIntroducedIn.Unknown)
28528     @OpenGL_Extension("GL_ARB_bindless_texture")
28529     fn_glUniformHandleui64vARB glUniformHandleui64vARB;
28530     alias fn_glUniformHandleui64vIMG = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28531     /// Ditto
28532     @OpenGL_Version(OGLIntroducedIn.Unknown)
28533     @OpenGL_Extension("GL_IMG_bindless_texture")
28534     fn_glUniformHandleui64vIMG glUniformHandleui64vIMG;
28535     alias fn_glUniformHandleui64vNV = extern(C) void function(GLint location, GLsizei count, const GLuint64* value) @system @nogc nothrow;
28536     /// Ditto
28537     @OpenGL_Version(OGLIntroducedIn.Unknown)
28538     @OpenGL_Extension("GL_NV_bindless_texture")
28539     fn_glUniformHandleui64vNV glUniformHandleui64vNV;
28540     alias fn_glUniformMatrix2dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28541     /// Ditto
28542     @OpenGL_Version(OGLIntroducedIn.V4P0)
28543     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28544     fn_glUniformMatrix2dv glUniformMatrix2dv;
28545     alias fn_glUniformMatrix2fvARB = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28546     /// Ditto
28547     @OpenGL_Version(OGLIntroducedIn.Unknown)
28548     @OpenGL_Extension("GL_ARB_shader_objects")
28549     fn_glUniformMatrix2fvARB glUniformMatrix2fvARB;
28550     alias fn_glUniformMatrix2x3dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28551     /// Ditto
28552     @OpenGL_Version(OGLIntroducedIn.V4P0)
28553     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28554     fn_glUniformMatrix2x3dv glUniformMatrix2x3dv;
28555     alias fn_glUniformMatrix2x3fvNV = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28556     /// Ditto
28557     @OpenGL_Version(OGLIntroducedIn.Unknown)
28558     @OpenGL_Extension("GL_NV_non_square_matrices")
28559     fn_glUniformMatrix2x3fvNV glUniformMatrix2x3fvNV;
28560     alias fn_glUniformMatrix2x4dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28561     /// Ditto
28562     @OpenGL_Version(OGLIntroducedIn.V4P0)
28563     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28564     fn_glUniformMatrix2x4dv glUniformMatrix2x4dv;
28565     alias fn_glUniformMatrix2x4fvNV = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28566     /// Ditto
28567     @OpenGL_Version(OGLIntroducedIn.Unknown)
28568     @OpenGL_Extension("GL_NV_non_square_matrices")
28569     fn_glUniformMatrix2x4fvNV glUniformMatrix2x4fvNV;
28570     alias fn_glUniformMatrix3dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28571     /// Ditto
28572     @OpenGL_Version(OGLIntroducedIn.V4P0)
28573     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28574     fn_glUniformMatrix3dv glUniformMatrix3dv;
28575     alias fn_glUniformMatrix3fvARB = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28576     /// Ditto
28577     @OpenGL_Version(OGLIntroducedIn.Unknown)
28578     @OpenGL_Extension("GL_ARB_shader_objects")
28579     fn_glUniformMatrix3fvARB glUniformMatrix3fvARB;
28580     alias fn_glUniformMatrix3x2dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28581     /// Ditto
28582     @OpenGL_Version(OGLIntroducedIn.V4P0)
28583     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28584     fn_glUniformMatrix3x2dv glUniformMatrix3x2dv;
28585     alias fn_glUniformMatrix3x2fvNV = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28586     /// Ditto
28587     @OpenGL_Version(OGLIntroducedIn.Unknown)
28588     @OpenGL_Extension("GL_NV_non_square_matrices")
28589     fn_glUniformMatrix3x2fvNV glUniformMatrix3x2fvNV;
28590     alias fn_glUniformMatrix3x4dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28591     /// Ditto
28592     @OpenGL_Version(OGLIntroducedIn.V4P0)
28593     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28594     fn_glUniformMatrix3x4dv glUniformMatrix3x4dv;
28595     alias fn_glUniformMatrix3x4fvNV = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28596     /// Ditto
28597     @OpenGL_Version(OGLIntroducedIn.Unknown)
28598     @OpenGL_Extension("GL_NV_non_square_matrices")
28599     fn_glUniformMatrix3x4fvNV glUniformMatrix3x4fvNV;
28600     alias fn_glUniformMatrix4dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28601     /// Ditto
28602     @OpenGL_Version(OGLIntroducedIn.V4P0)
28603     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28604     fn_glUniformMatrix4dv glUniformMatrix4dv;
28605     alias fn_glUniformMatrix4fvARB = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28606     /// Ditto
28607     @OpenGL_Version(OGLIntroducedIn.Unknown)
28608     @OpenGL_Extension("GL_ARB_shader_objects")
28609     fn_glUniformMatrix4fvARB glUniformMatrix4fvARB;
28610     alias fn_glUniformMatrix4x2dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28611     /// Ditto
28612     @OpenGL_Version(OGLIntroducedIn.V4P0)
28613     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28614     fn_glUniformMatrix4x2dv glUniformMatrix4x2dv;
28615     alias fn_glUniformMatrix4x2fvNV = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28616     /// Ditto
28617     @OpenGL_Version(OGLIntroducedIn.Unknown)
28618     @OpenGL_Extension("GL_NV_non_square_matrices")
28619     fn_glUniformMatrix4x2fvNV glUniformMatrix4x2fvNV;
28620     alias fn_glUniformMatrix4x3dv = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLdouble* value) @system @nogc nothrow;
28621     /// Ditto
28622     @OpenGL_Version(OGLIntroducedIn.V4P0)
28623     @OpenGL_Extension("GL_ARB_gpu_shader_fp64")
28624     fn_glUniformMatrix4x3dv glUniformMatrix4x3dv;
28625     alias fn_glUniformMatrix4x3fvNV = extern(C) void function(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) @system @nogc nothrow;
28626     /// Ditto
28627     @OpenGL_Version(OGLIntroducedIn.Unknown)
28628     @OpenGL_Extension("GL_NV_non_square_matrices")
28629     fn_glUniformMatrix4x3fvNV glUniformMatrix4x3fvNV;
28630     alias fn_glUniformui64NV = extern(C) void function(GLint location, GLuint64EXT value) @system @nogc nothrow;
28631     /// Ditto
28632     @OpenGL_Version(OGLIntroducedIn.Unknown)
28633     @OpenGL_Extension("GL_NV_shader_buffer_load")
28634     fn_glUniformui64NV glUniformui64NV;
28635     alias fn_glUniformui64vNV = extern(C) void function(GLint location, GLsizei count, const GLuint64EXT* value) @system @nogc nothrow;
28636     /// Ditto
28637     @OpenGL_Version(OGLIntroducedIn.Unknown)
28638     @OpenGL_Extension("GL_NV_shader_buffer_load")
28639     fn_glUniformui64vNV glUniformui64vNV;
28640     alias fn_glUnlockArraysEXT = extern(C) void function() @system @nogc nothrow;
28641     /// Ditto
28642     @OpenGL_Version(OGLIntroducedIn.Unknown)
28643     @OpenGL_Extension("GL_EXT_compiled_vertex_array")
28644     fn_glUnlockArraysEXT glUnlockArraysEXT;
28645     alias fn_glUnmapBufferARB = extern(C) GLboolean function(GLenum target) @system @nogc nothrow;
28646     /// Ditto
28647     @OpenGL_Version(OGLIntroducedIn.Unknown)
28648     @OpenGL_Extension("GL_ARB_vertex_buffer_object")
28649     fn_glUnmapBufferARB glUnmapBufferARB;
28650     alias fn_glUnmapBufferOES = extern(C) GLboolean function(GLenum target) @system @nogc nothrow;
28651     /// Ditto
28652     @OpenGL_Version(OGLIntroducedIn.Unknown)
28653     @OpenGL_Extension("GL_OES_mapbuffer")
28654     fn_glUnmapBufferOES glUnmapBufferOES;
28655     alias fn_glUnmapNamedBufferEXT = extern(C) GLboolean function(GLuint buffer) @system @nogc nothrow;
28656     /// Ditto
28657     @OpenGL_Version(OGLIntroducedIn.Unknown)
28658     @OpenGL_Extension("GL_EXT_direct_state_access")
28659     fn_glUnmapNamedBufferEXT glUnmapNamedBufferEXT;
28660     alias fn_glUnmapObjectBufferATI = extern(C) void function(GLuint buffer) @system @nogc nothrow;
28661     /// Ditto
28662     @OpenGL_Version(OGLIntroducedIn.Unknown)
28663     @OpenGL_Extension("GL_ATI_map_object_buffer")
28664     fn_glUnmapObjectBufferATI glUnmapObjectBufferATI;
28665     alias fn_glUnmapTexture2DINTEL = extern(C) void function(GLuint texture, GLint level) @system @nogc nothrow;
28666     /// Ditto
28667     @OpenGL_Version(OGLIntroducedIn.Unknown)
28668     @OpenGL_Extension("GL_INTEL_map_texture")
28669     fn_glUnmapTexture2DINTEL glUnmapTexture2DINTEL;
28670     alias fn_glUpdateObjectBufferATI = extern(C) void function(GLuint buffer, GLuint offset, GLsizei size, const void* pointer, GLenum preserve) @system @nogc nothrow;
28671     /// Ditto
28672     @OpenGL_Version(OGLIntroducedIn.Unknown)
28673     @OpenGL_Extension("GL_ATI_vertex_array_object")
28674     fn_glUpdateObjectBufferATI glUpdateObjectBufferATI;
28675     alias fn_glUseProgramObjectARB = extern(C) void function(GLhandleARB programObj) @system @nogc nothrow;
28676     /// Ditto
28677     @OpenGL_Version(OGLIntroducedIn.Unknown)
28678     @OpenGL_Extension("GL_ARB_shader_objects")
28679     fn_glUseProgramObjectARB glUseProgramObjectARB;
28680     alias fn_glUseProgramStagesEXT = extern(C) void function(GLuint pipeline, GLbitfield stages, GLuint program) @system @nogc nothrow;
28681     /// Ditto
28682     @OpenGL_Version(OGLIntroducedIn.Unknown)
28683     @OpenGL_Extension("GL_EXT_separate_shader_objects")
28684     fn_glUseProgramStagesEXT glUseProgramStagesEXT;
28685     alias fn_glUseShaderProgramEXT = extern(C) void function(GLenum type, GLuint program) @system @nogc nothrow;
28686     /// Ditto
28687     @OpenGL_Version(OGLIntroducedIn.Unknown)
28688     @OpenGL_Extension("GL_EXT_separate_shader_objects")
28689     fn_glUseShaderProgramEXT glUseShaderProgramEXT;
28690     alias fn_glVDPAUFiniNV = extern(C) void function() @system @nogc nothrow;
28691     /// Ditto
28692     @OpenGL_Version(OGLIntroducedIn.Unknown)
28693     @OpenGL_Extension("GL_NV_vdpau_interop")
28694     fn_glVDPAUFiniNV glVDPAUFiniNV;
28695     alias fn_glVDPAUGetSurfaceivNV = extern(C) void function(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) @system @nogc nothrow;
28696     /// Ditto
28697     @OpenGL_Version(OGLIntroducedIn.Unknown)
28698     @OpenGL_Extension("GL_NV_vdpau_interop")
28699     fn_glVDPAUGetSurfaceivNV glVDPAUGetSurfaceivNV;
28700     alias fn_glVDPAUInitNV = extern(C) void function(const void* vdpDevice, const void* getProcAddress) @system @nogc nothrow;
28701     /// Ditto
28702     @OpenGL_Version(OGLIntroducedIn.Unknown)
28703     @OpenGL_Extension("GL_NV_vdpau_interop")
28704     fn_glVDPAUInitNV glVDPAUInitNV;
28705     alias fn_glVDPAUIsSurfaceNV = extern(C) GLboolean function(GLvdpauSurfaceNV surface) @system @nogc nothrow;
28706     /// Ditto
28707     @OpenGL_Version(OGLIntroducedIn.Unknown)
28708     @OpenGL_Extension("GL_NV_vdpau_interop")
28709     fn_glVDPAUIsSurfaceNV glVDPAUIsSurfaceNV;
28710     alias fn_glVDPAUMapSurfacesNV = extern(C) void function(GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces) @system @nogc nothrow;
28711     /// Ditto
28712     @OpenGL_Version(OGLIntroducedIn.Unknown)
28713     @OpenGL_Extension("GL_NV_vdpau_interop")
28714     fn_glVDPAUMapSurfacesNV glVDPAUMapSurfacesNV;
28715     alias fn_glVDPAURegisterOutputSurfaceNV = extern(C) GLvdpauSurfaceNV function(const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint* textureNames) @system @nogc nothrow;
28716     /// Ditto
28717     @OpenGL_Version(OGLIntroducedIn.Unknown)
28718     @OpenGL_Extension("GL_NV_vdpau_interop")
28719     fn_glVDPAURegisterOutputSurfaceNV glVDPAURegisterOutputSurfaceNV;
28720     alias fn_glVDPAURegisterVideoSurfaceNV = extern(C) GLvdpauSurfaceNV function(const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint* textureNames) @system @nogc nothrow;
28721     /// Ditto
28722     @OpenGL_Version(OGLIntroducedIn.Unknown)
28723     @OpenGL_Extension("GL_NV_vdpau_interop")
28724     fn_glVDPAURegisterVideoSurfaceNV glVDPAURegisterVideoSurfaceNV;
28725     alias fn_glVDPAUSurfaceAccessNV = extern(C) void function(GLvdpauSurfaceNV surface, GLenum access) @system @nogc nothrow;
28726     /// Ditto
28727     @OpenGL_Version(OGLIntroducedIn.Unknown)
28728     @OpenGL_Extension("GL_NV_vdpau_interop")
28729     fn_glVDPAUSurfaceAccessNV glVDPAUSurfaceAccessNV;
28730     alias fn_glVDPAUUnmapSurfacesNV = extern(C) void function(GLsizei numSurface, const GLvdpauSurfaceNV* surfaces) @system @nogc nothrow;
28731     /// Ditto
28732     @OpenGL_Version(OGLIntroducedIn.Unknown)
28733     @OpenGL_Extension("GL_NV_vdpau_interop")
28734     fn_glVDPAUUnmapSurfacesNV glVDPAUUnmapSurfacesNV;
28735     alias fn_glVDPAUUnregisterSurfaceNV = extern(C) void function(GLvdpauSurfaceNV surface) @system @nogc nothrow;
28736     /// Ditto
28737     @OpenGL_Version(OGLIntroducedIn.Unknown)
28738     @OpenGL_Extension("GL_NV_vdpau_interop")
28739     fn_glVDPAUUnregisterSurfaceNV glVDPAUUnregisterSurfaceNV;
28740     alias fn_glValidateProgramARB = extern(C) void function(GLhandleARB programObj) @system @nogc nothrow;
28741     /// Ditto
28742     @OpenGL_Version(OGLIntroducedIn.Unknown)
28743     @OpenGL_Extension("GL_ARB_shader_objects")
28744     fn_glValidateProgramARB glValidateProgramARB;
28745     alias fn_glValidateProgramPipelineEXT = extern(C) void function(GLuint pipeline) @system @nogc nothrow;
28746     /// Ditto
28747     @OpenGL_Version(OGLIntroducedIn.Unknown)
28748     @OpenGL_Extension("GL_EXT_separate_shader_objects")
28749     fn_glValidateProgramPipelineEXT glValidateProgramPipelineEXT;
28750     alias fn_glVariantArrayObjectATI = extern(C) void function(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset) @system @nogc nothrow;
28751     /// Ditto
28752     @OpenGL_Version(OGLIntroducedIn.Unknown)
28753     @OpenGL_Extension("GL_ATI_vertex_array_object")
28754     fn_glVariantArrayObjectATI glVariantArrayObjectATI;
28755     alias fn_glVariantPointerEXT = extern(C) void function(GLuint id, GLenum type, GLuint stride, const void* addr) @system @nogc nothrow;
28756     /// Ditto
28757     @OpenGL_Version(OGLIntroducedIn.Unknown)
28758     @OpenGL_Extension("GL_EXT_vertex_shader")
28759     fn_glVariantPointerEXT glVariantPointerEXT;
28760     alias fn_glVariantbvEXT = extern(C) void function(GLuint id, const GLbyte* addr) @system @nogc nothrow;
28761     /// Ditto
28762     @OpenGL_Version(OGLIntroducedIn.Unknown)
28763     @OpenGL_Extension("GL_EXT_vertex_shader")
28764     fn_glVariantbvEXT glVariantbvEXT;
28765     alias fn_glVariantdvEXT = extern(C) void function(GLuint id, const GLdouble* addr) @system @nogc nothrow;
28766     /// Ditto
28767     @OpenGL_Version(OGLIntroducedIn.Unknown)
28768     @OpenGL_Extension("GL_EXT_vertex_shader")
28769     fn_glVariantdvEXT glVariantdvEXT;
28770     alias fn_glVariantfvEXT = extern(C) void function(GLuint id, const GLfloat* addr) @system @nogc nothrow;
28771     /// Ditto
28772     @OpenGL_Version(OGLIntroducedIn.Unknown)
28773     @OpenGL_Extension("GL_EXT_vertex_shader")
28774     fn_glVariantfvEXT glVariantfvEXT;
28775     alias fn_glVariantivEXT = extern(C) void function(GLuint id, const GLint* addr) @system @nogc nothrow;
28776     /// Ditto
28777     @OpenGL_Version(OGLIntroducedIn.Unknown)
28778     @OpenGL_Extension("GL_EXT_vertex_shader")
28779     fn_glVariantivEXT glVariantivEXT;
28780     alias fn_glVariantsvEXT = extern(C) void function(GLuint id, const GLshort* addr) @system @nogc nothrow;
28781     /// Ditto
28782     @OpenGL_Version(OGLIntroducedIn.Unknown)
28783     @OpenGL_Extension("GL_EXT_vertex_shader")
28784     fn_glVariantsvEXT glVariantsvEXT;
28785     alias fn_glVariantubvEXT = extern(C) void function(GLuint id, const(GLubyte)* addr) @system @nogc nothrow;
28786     /// Ditto
28787     @OpenGL_Version(OGLIntroducedIn.Unknown)
28788     @OpenGL_Extension("GL_EXT_vertex_shader")
28789     fn_glVariantubvEXT glVariantubvEXT;
28790     alias fn_glVariantuivEXT = extern(C) void function(GLuint id, const GLuint* addr) @system @nogc nothrow;
28791     /// Ditto
28792     @OpenGL_Version(OGLIntroducedIn.Unknown)
28793     @OpenGL_Extension("GL_EXT_vertex_shader")
28794     fn_glVariantuivEXT glVariantuivEXT;
28795     alias fn_glVariantusvEXT = extern(C) void function(GLuint id, const GLushort* addr) @system @nogc nothrow;
28796     /// Ditto
28797     @OpenGL_Version(OGLIntroducedIn.Unknown)
28798     @OpenGL_Extension("GL_EXT_vertex_shader")
28799     fn_glVariantusvEXT glVariantusvEXT;
28800     alias fn_glVertex2bOES = extern(C) void function(GLbyte x, GLbyte y) @system @nogc nothrow;
28801     /// Ditto
28802     @OpenGL_Version(OGLIntroducedIn.Unknown)
28803     @OpenGL_Extension("GL_OES_byte_coordinates")
28804     fn_glVertex2bOES glVertex2bOES;
28805     alias fn_glVertex2bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
28806     /// Ditto
28807     @OpenGL_Version(OGLIntroducedIn.Unknown)
28808     @OpenGL_Extension("GL_OES_byte_coordinates")
28809     fn_glVertex2bvOES glVertex2bvOES;
28810     alias fn_glVertex2d = extern(C) void function(GLdouble x, GLdouble y) @system @nogc nothrow;
28811     /// Ditto
28812     @OpenGL_Version(OGLIntroducedIn.V1P0)
28813     fn_glVertex2d glVertex2d;
28814     alias fn_glVertex2dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
28815     /// Ditto
28816     @OpenGL_Version(OGLIntroducedIn.V1P0)
28817     fn_glVertex2dv glVertex2dv;
28818     alias fn_glVertex2f = extern(C) void function(GLfloat x, GLfloat y) @system @nogc nothrow;
28819     /// Ditto
28820     @OpenGL_Version(OGLIntroducedIn.V1P0)
28821     fn_glVertex2f glVertex2f;
28822     alias fn_glVertex2fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
28823     /// Ditto
28824     @OpenGL_Version(OGLIntroducedIn.V1P0)
28825     fn_glVertex2fv glVertex2fv;
28826     alias fn_glVertex2hNV = extern(C) void function(GLhalfNV x, GLhalfNV y) @system @nogc nothrow;
28827     /// Ditto
28828     @OpenGL_Version(OGLIntroducedIn.Unknown)
28829     @OpenGL_Extension("GL_NV_half_float")
28830     fn_glVertex2hNV glVertex2hNV;
28831     alias fn_glVertex2hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
28832     /// Ditto
28833     @OpenGL_Version(OGLIntroducedIn.Unknown)
28834     @OpenGL_Extension("GL_NV_half_float")
28835     fn_glVertex2hvNV glVertex2hvNV;
28836     alias fn_glVertex2i = extern(C) void function(GLint x, GLint y) @system @nogc nothrow;
28837     /// Ditto
28838     @OpenGL_Version(OGLIntroducedIn.V1P0)
28839     fn_glVertex2i glVertex2i;
28840     alias fn_glVertex2iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
28841     /// Ditto
28842     @OpenGL_Version(OGLIntroducedIn.V1P0)
28843     fn_glVertex2iv glVertex2iv;
28844     alias fn_glVertex2s = extern(C) void function(GLshort x, GLshort y) @system @nogc nothrow;
28845     /// Ditto
28846     @OpenGL_Version(OGLIntroducedIn.V1P0)
28847     fn_glVertex2s glVertex2s;
28848     alias fn_glVertex2sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
28849     /// Ditto
28850     @OpenGL_Version(OGLIntroducedIn.V1P0)
28851     fn_glVertex2sv glVertex2sv;
28852     alias fn_glVertex2xOES = extern(C) void function(GLfixed x) @system @nogc nothrow;
28853     /// Ditto
28854     @OpenGL_Version(OGLIntroducedIn.Unknown)
28855     @OpenGL_Extension("GL_OES_fixed_point")
28856     fn_glVertex2xOES glVertex2xOES;
28857     alias fn_glVertex2xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
28858     /// Ditto
28859     @OpenGL_Version(OGLIntroducedIn.Unknown)
28860     @OpenGL_Extension("GL_OES_fixed_point")
28861     fn_glVertex2xvOES glVertex2xvOES;
28862     alias fn_glVertex3bOES = extern(C) void function(GLbyte x, GLbyte y, GLbyte z) @system @nogc nothrow;
28863     /// Ditto
28864     @OpenGL_Version(OGLIntroducedIn.Unknown)
28865     @OpenGL_Extension("GL_OES_byte_coordinates")
28866     fn_glVertex3bOES glVertex3bOES;
28867     alias fn_glVertex3bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
28868     /// Ditto
28869     @OpenGL_Version(OGLIntroducedIn.Unknown)
28870     @OpenGL_Extension("GL_OES_byte_coordinates")
28871     fn_glVertex3bvOES glVertex3bvOES;
28872     alias fn_glVertex3d = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
28873     /// Ditto
28874     @OpenGL_Version(OGLIntroducedIn.V1P0)
28875     fn_glVertex3d glVertex3d;
28876     alias fn_glVertex3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
28877     /// Ditto
28878     @OpenGL_Version(OGLIntroducedIn.V1P0)
28879     fn_glVertex3dv glVertex3dv;
28880     alias fn_glVertex3f = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
28881     /// Ditto
28882     @OpenGL_Version(OGLIntroducedIn.V1P0)
28883     fn_glVertex3f glVertex3f;
28884     alias fn_glVertex3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
28885     /// Ditto
28886     @OpenGL_Version(OGLIntroducedIn.V1P0)
28887     fn_glVertex3fv glVertex3fv;
28888     alias fn_glVertex3hNV = extern(C) void function(GLhalfNV x, GLhalfNV y, GLhalfNV z) @system @nogc nothrow;
28889     /// Ditto
28890     @OpenGL_Version(OGLIntroducedIn.Unknown)
28891     @OpenGL_Extension("GL_NV_half_float")
28892     fn_glVertex3hNV glVertex3hNV;
28893     alias fn_glVertex3hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
28894     /// Ditto
28895     @OpenGL_Version(OGLIntroducedIn.Unknown)
28896     @OpenGL_Extension("GL_NV_half_float")
28897     fn_glVertex3hvNV glVertex3hvNV;
28898     alias fn_glVertex3i = extern(C) void function(GLint x, GLint y, GLint z) @system @nogc nothrow;
28899     /// Ditto
28900     @OpenGL_Version(OGLIntroducedIn.V1P0)
28901     fn_glVertex3i glVertex3i;
28902     alias fn_glVertex3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
28903     /// Ditto
28904     @OpenGL_Version(OGLIntroducedIn.V1P0)
28905     fn_glVertex3iv glVertex3iv;
28906     alias fn_glVertex3s = extern(C) void function(GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
28907     /// Ditto
28908     @OpenGL_Version(OGLIntroducedIn.V1P0)
28909     fn_glVertex3s glVertex3s;
28910     alias fn_glVertex3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
28911     /// Ditto
28912     @OpenGL_Version(OGLIntroducedIn.V1P0)
28913     fn_glVertex3sv glVertex3sv;
28914     alias fn_glVertex3xOES = extern(C) void function(GLfixed x, GLfixed y) @system @nogc nothrow;
28915     /// Ditto
28916     @OpenGL_Version(OGLIntroducedIn.Unknown)
28917     @OpenGL_Extension("GL_OES_fixed_point")
28918     fn_glVertex3xOES glVertex3xOES;
28919     alias fn_glVertex3xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
28920     /// Ditto
28921     @OpenGL_Version(OGLIntroducedIn.Unknown)
28922     @OpenGL_Extension("GL_OES_fixed_point")
28923     fn_glVertex3xvOES glVertex3xvOES;
28924     alias fn_glVertex4bOES = extern(C) void function(GLbyte x, GLbyte y, GLbyte z, GLbyte w) @system @nogc nothrow;
28925     /// Ditto
28926     @OpenGL_Version(OGLIntroducedIn.Unknown)
28927     @OpenGL_Extension("GL_OES_byte_coordinates")
28928     fn_glVertex4bOES glVertex4bOES;
28929     alias fn_glVertex4bvOES = extern(C) void function(const GLbyte* coords) @system @nogc nothrow;
28930     /// Ditto
28931     @OpenGL_Version(OGLIntroducedIn.Unknown)
28932     @OpenGL_Extension("GL_OES_byte_coordinates")
28933     fn_glVertex4bvOES glVertex4bvOES;
28934     alias fn_glVertex4d = extern(C) void function(GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
28935     /// Ditto
28936     @OpenGL_Version(OGLIntroducedIn.V1P0)
28937     fn_glVertex4d glVertex4d;
28938     alias fn_glVertex4dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
28939     /// Ditto
28940     @OpenGL_Version(OGLIntroducedIn.V1P0)
28941     fn_glVertex4dv glVertex4dv;
28942     alias fn_glVertex4f = extern(C) void function(GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
28943     /// Ditto
28944     @OpenGL_Version(OGLIntroducedIn.V1P0)
28945     fn_glVertex4f glVertex4f;
28946     alias fn_glVertex4fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
28947     /// Ditto
28948     @OpenGL_Version(OGLIntroducedIn.V1P0)
28949     fn_glVertex4fv glVertex4fv;
28950     alias fn_glVertex4hNV = extern(C) void function(GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) @system @nogc nothrow;
28951     /// Ditto
28952     @OpenGL_Version(OGLIntroducedIn.Unknown)
28953     @OpenGL_Extension("GL_NV_half_float")
28954     fn_glVertex4hNV glVertex4hNV;
28955     alias fn_glVertex4hvNV = extern(C) void function(const GLhalfNV* v) @system @nogc nothrow;
28956     /// Ditto
28957     @OpenGL_Version(OGLIntroducedIn.Unknown)
28958     @OpenGL_Extension("GL_NV_half_float")
28959     fn_glVertex4hvNV glVertex4hvNV;
28960     alias fn_glVertex4i = extern(C) void function(GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
28961     /// Ditto
28962     @OpenGL_Version(OGLIntroducedIn.V1P0)
28963     fn_glVertex4i glVertex4i;
28964     alias fn_glVertex4iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
28965     /// Ditto
28966     @OpenGL_Version(OGLIntroducedIn.V1P0)
28967     fn_glVertex4iv glVertex4iv;
28968     alias fn_glVertex4s = extern(C) void function(GLshort x, GLshort y, GLshort z, GLshort w) @system @nogc nothrow;
28969     /// Ditto
28970     @OpenGL_Version(OGLIntroducedIn.V1P0)
28971     fn_glVertex4s glVertex4s;
28972     alias fn_glVertex4sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
28973     /// Ditto
28974     @OpenGL_Version(OGLIntroducedIn.V1P0)
28975     fn_glVertex4sv glVertex4sv;
28976     alias fn_glVertex4xOES = extern(C) void function(GLfixed x, GLfixed y, GLfixed z) @system @nogc nothrow;
28977     /// Ditto
28978     @OpenGL_Version(OGLIntroducedIn.Unknown)
28979     @OpenGL_Extension("GL_OES_fixed_point")
28980     fn_glVertex4xOES glVertex4xOES;
28981     alias fn_glVertex4xvOES = extern(C) void function(const GLfixed* coords) @system @nogc nothrow;
28982     /// Ditto
28983     @OpenGL_Version(OGLIntroducedIn.Unknown)
28984     @OpenGL_Extension("GL_OES_fixed_point")
28985     fn_glVertex4xvOES glVertex4xvOES;
28986     alias fn_glVertexArrayBindVertexBufferEXT = extern(C) void function(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) @system @nogc nothrow;
28987     /// Ditto
28988     @OpenGL_Version(OGLIntroducedIn.Unknown)
28989     @OpenGL_Extension("GL_EXT_direct_state_access")
28990     fn_glVertexArrayBindVertexBufferEXT glVertexArrayBindVertexBufferEXT;
28991     alias fn_glVertexArrayColorOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
28992     /// Ditto
28993     @OpenGL_Version(OGLIntroducedIn.Unknown)
28994     @OpenGL_Extension("GL_EXT_direct_state_access")
28995     fn_glVertexArrayColorOffsetEXT glVertexArrayColorOffsetEXT;
28996     alias fn_glVertexArrayEdgeFlagOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset) @system @nogc nothrow;
28997     /// Ditto
28998     @OpenGL_Version(OGLIntroducedIn.Unknown)
28999     @OpenGL_Extension("GL_EXT_direct_state_access")
29000     fn_glVertexArrayEdgeFlagOffsetEXT glVertexArrayEdgeFlagOffsetEXT;
29001     alias fn_glVertexArrayFogCoordOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29002     /// Ditto
29003     @OpenGL_Version(OGLIntroducedIn.Unknown)
29004     @OpenGL_Extension("GL_EXT_direct_state_access")
29005     fn_glVertexArrayFogCoordOffsetEXT glVertexArrayFogCoordOffsetEXT;
29006     alias fn_glVertexArrayIndexOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29007     /// Ditto
29008     @OpenGL_Version(OGLIntroducedIn.Unknown)
29009     @OpenGL_Extension("GL_EXT_direct_state_access")
29010     fn_glVertexArrayIndexOffsetEXT glVertexArrayIndexOffsetEXT;
29011     alias fn_glVertexArrayMultiTexCoordOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29012     /// Ditto
29013     @OpenGL_Version(OGLIntroducedIn.Unknown)
29014     @OpenGL_Extension("GL_EXT_direct_state_access")
29015     fn_glVertexArrayMultiTexCoordOffsetEXT glVertexArrayMultiTexCoordOffsetEXT;
29016     alias fn_glVertexArrayNormalOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29017     /// Ditto
29018     @OpenGL_Version(OGLIntroducedIn.Unknown)
29019     @OpenGL_Extension("GL_EXT_direct_state_access")
29020     fn_glVertexArrayNormalOffsetEXT glVertexArrayNormalOffsetEXT;
29021     alias fn_glVertexArrayParameteriAPPLE = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
29022     /// Ditto
29023     @OpenGL_Version(OGLIntroducedIn.Unknown)
29024     @OpenGL_Extension("GL_APPLE_vertex_array_range")
29025     fn_glVertexArrayParameteriAPPLE glVertexArrayParameteriAPPLE;
29026     alias fn_glVertexArrayRangeAPPLE = extern(C) void function(GLsizei length, void* pointer) @system @nogc nothrow;
29027     /// Ditto
29028     @OpenGL_Version(OGLIntroducedIn.Unknown)
29029     @OpenGL_Extension("GL_APPLE_vertex_array_range")
29030     fn_glVertexArrayRangeAPPLE glVertexArrayRangeAPPLE;
29031     alias fn_glVertexArrayRangeNV = extern(C) void function(GLsizei length, const void* pointer) @system @nogc nothrow;
29032     /// Ditto
29033     @OpenGL_Version(OGLIntroducedIn.Unknown)
29034     @OpenGL_Extension("GL_NV_vertex_array_range")
29035     fn_glVertexArrayRangeNV glVertexArrayRangeNV;
29036     alias fn_glVertexArraySecondaryColorOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29037     /// Ditto
29038     @OpenGL_Version(OGLIntroducedIn.Unknown)
29039     @OpenGL_Extension("GL_EXT_direct_state_access")
29040     fn_glVertexArraySecondaryColorOffsetEXT glVertexArraySecondaryColorOffsetEXT;
29041     alias fn_glVertexArrayTexCoordOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29042     /// Ditto
29043     @OpenGL_Version(OGLIntroducedIn.Unknown)
29044     @OpenGL_Extension("GL_EXT_direct_state_access")
29045     fn_glVertexArrayTexCoordOffsetEXT glVertexArrayTexCoordOffsetEXT;
29046     alias fn_glVertexArrayVertexAttribBindingEXT = extern(C) void function(GLuint vaobj, GLuint attribindex, GLuint bindingindex) @system @nogc nothrow;
29047     /// Ditto
29048     @OpenGL_Version(OGLIntroducedIn.Unknown)
29049     @OpenGL_Extension("GL_EXT_direct_state_access")
29050     fn_glVertexArrayVertexAttribBindingEXT glVertexArrayVertexAttribBindingEXT;
29051     alias fn_glVertexArrayVertexAttribDivisorEXT = extern(C) void function(GLuint vaobj, GLuint index, GLuint divisor) @system @nogc nothrow;
29052     /// Ditto
29053     @OpenGL_Version(OGLIntroducedIn.Unknown)
29054     @OpenGL_Extension("GL_EXT_direct_state_access")
29055     fn_glVertexArrayVertexAttribDivisorEXT glVertexArrayVertexAttribDivisorEXT;
29056     alias fn_glVertexArrayVertexAttribFormatEXT = extern(C) void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) @system @nogc nothrow;
29057     /// Ditto
29058     @OpenGL_Version(OGLIntroducedIn.Unknown)
29059     @OpenGL_Extension("GL_EXT_direct_state_access")
29060     fn_glVertexArrayVertexAttribFormatEXT glVertexArrayVertexAttribFormatEXT;
29061     alias fn_glVertexArrayVertexAttribIFormatEXT = extern(C) void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) @system @nogc nothrow;
29062     /// Ditto
29063     @OpenGL_Version(OGLIntroducedIn.Unknown)
29064     @OpenGL_Extension("GL_EXT_direct_state_access")
29065     fn_glVertexArrayVertexAttribIFormatEXT glVertexArrayVertexAttribIFormatEXT;
29066     alias fn_glVertexArrayVertexAttribIOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29067     /// Ditto
29068     @OpenGL_Version(OGLIntroducedIn.Unknown)
29069     @OpenGL_Extension("GL_EXT_direct_state_access")
29070     fn_glVertexArrayVertexAttribIOffsetEXT glVertexArrayVertexAttribIOffsetEXT;
29071     alias fn_glVertexArrayVertexAttribLFormatEXT = extern(C) void function(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) @system @nogc nothrow;
29072     /// Ditto
29073     @OpenGL_Version(OGLIntroducedIn.Unknown)
29074     @OpenGL_Extension("GL_EXT_direct_state_access")
29075     fn_glVertexArrayVertexAttribLFormatEXT glVertexArrayVertexAttribLFormatEXT;
29076     alias fn_glVertexArrayVertexAttribLOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29077     /// Ditto
29078     @OpenGL_Version(OGLIntroducedIn.Unknown)
29079     @OpenGL_Extension("GL_EXT_direct_state_access")
29080     fn_glVertexArrayVertexAttribLOffsetEXT glVertexArrayVertexAttribLOffsetEXT;
29081     alias fn_glVertexArrayVertexAttribOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29082     /// Ditto
29083     @OpenGL_Version(OGLIntroducedIn.Unknown)
29084     @OpenGL_Extension("GL_EXT_direct_state_access")
29085     fn_glVertexArrayVertexAttribOffsetEXT glVertexArrayVertexAttribOffsetEXT;
29086     alias fn_glVertexArrayVertexBindingDivisorEXT = extern(C) void function(GLuint vaobj, GLuint bindingindex, GLuint divisor) @system @nogc nothrow;
29087     /// Ditto
29088     @OpenGL_Version(OGLIntroducedIn.Unknown)
29089     @OpenGL_Extension("GL_EXT_direct_state_access")
29090     fn_glVertexArrayVertexBindingDivisorEXT glVertexArrayVertexBindingDivisorEXT;
29091     alias fn_glVertexArrayVertexOffsetEXT = extern(C) void function(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset) @system @nogc nothrow;
29092     /// Ditto
29093     @OpenGL_Version(OGLIntroducedIn.Unknown)
29094     @OpenGL_Extension("GL_EXT_direct_state_access")
29095     fn_glVertexArrayVertexOffsetEXT glVertexArrayVertexOffsetEXT;
29096     alias fn_glVertexAttrib1dARB = extern(C) void function(GLuint index, GLdouble x) @system @nogc nothrow;
29097     /// Ditto
29098     @OpenGL_Version(OGLIntroducedIn.Unknown)
29099     @OpenGL_Extension("GL_ARB_vertex_program")
29100     fn_glVertexAttrib1dARB glVertexAttrib1dARB;
29101     alias fn_glVertexAttrib1dNV = extern(C) void function(GLuint index, GLdouble x) @system @nogc nothrow;
29102     /// Ditto
29103     @OpenGL_Version(OGLIntroducedIn.Unknown)
29104     @OpenGL_Extension("GL_NV_vertex_program")
29105     fn_glVertexAttrib1dNV glVertexAttrib1dNV;
29106     alias fn_glVertexAttrib1dvARB = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29107     /// Ditto
29108     @OpenGL_Version(OGLIntroducedIn.Unknown)
29109     @OpenGL_Extension("GL_ARB_vertex_program")
29110     fn_glVertexAttrib1dvARB glVertexAttrib1dvARB;
29111     alias fn_glVertexAttrib1dvNV = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29112     /// Ditto
29113     @OpenGL_Version(OGLIntroducedIn.Unknown)
29114     @OpenGL_Extension("GL_NV_vertex_program")
29115     fn_glVertexAttrib1dvNV glVertexAttrib1dvNV;
29116     alias fn_glVertexAttrib1fARB = extern(C) void function(GLuint index, GLfloat x) @system @nogc nothrow;
29117     /// Ditto
29118     @OpenGL_Version(OGLIntroducedIn.Unknown)
29119     @OpenGL_Extension("GL_ARB_vertex_program")
29120     fn_glVertexAttrib1fARB glVertexAttrib1fARB;
29121     alias fn_glVertexAttrib1fNV = extern(C) void function(GLuint index, GLfloat x) @system @nogc nothrow;
29122     /// Ditto
29123     @OpenGL_Version(OGLIntroducedIn.Unknown)
29124     @OpenGL_Extension("GL_NV_vertex_program")
29125     fn_glVertexAttrib1fNV glVertexAttrib1fNV;
29126     alias fn_glVertexAttrib1fvARB = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29127     /// Ditto
29128     @OpenGL_Version(OGLIntroducedIn.Unknown)
29129     @OpenGL_Extension("GL_ARB_vertex_program")
29130     fn_glVertexAttrib1fvARB glVertexAttrib1fvARB;
29131     alias fn_glVertexAttrib1fvNV = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29132     /// Ditto
29133     @OpenGL_Version(OGLIntroducedIn.Unknown)
29134     @OpenGL_Extension("GL_NV_vertex_program")
29135     fn_glVertexAttrib1fvNV glVertexAttrib1fvNV;
29136     alias fn_glVertexAttrib1hNV = extern(C) void function(GLuint index, GLhalfNV x) @system @nogc nothrow;
29137     /// Ditto
29138     @OpenGL_Version(OGLIntroducedIn.Unknown)
29139     @OpenGL_Extension("GL_NV_half_float")
29140     fn_glVertexAttrib1hNV glVertexAttrib1hNV;
29141     alias fn_glVertexAttrib1hvNV = extern(C) void function(GLuint index, const GLhalfNV* v) @system @nogc nothrow;
29142     /// Ditto
29143     @OpenGL_Version(OGLIntroducedIn.Unknown)
29144     @OpenGL_Extension("GL_NV_half_float")
29145     fn_glVertexAttrib1hvNV glVertexAttrib1hvNV;
29146     alias fn_glVertexAttrib1sARB = extern(C) void function(GLuint index, GLshort x) @system @nogc nothrow;
29147     /// Ditto
29148     @OpenGL_Version(OGLIntroducedIn.Unknown)
29149     @OpenGL_Extension("GL_ARB_vertex_program")
29150     fn_glVertexAttrib1sARB glVertexAttrib1sARB;
29151     alias fn_glVertexAttrib1sNV = extern(C) void function(GLuint index, GLshort x) @system @nogc nothrow;
29152     /// Ditto
29153     @OpenGL_Version(OGLIntroducedIn.Unknown)
29154     @OpenGL_Extension("GL_NV_vertex_program")
29155     fn_glVertexAttrib1sNV glVertexAttrib1sNV;
29156     alias fn_glVertexAttrib1svARB = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29157     /// Ditto
29158     @OpenGL_Version(OGLIntroducedIn.Unknown)
29159     @OpenGL_Extension("GL_ARB_vertex_program")
29160     fn_glVertexAttrib1svARB glVertexAttrib1svARB;
29161     alias fn_glVertexAttrib1svNV = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29162     /// Ditto
29163     @OpenGL_Version(OGLIntroducedIn.Unknown)
29164     @OpenGL_Extension("GL_NV_vertex_program")
29165     fn_glVertexAttrib1svNV glVertexAttrib1svNV;
29166     alias fn_glVertexAttrib2dARB = extern(C) void function(GLuint index, GLdouble x, GLdouble y) @system @nogc nothrow;
29167     /// Ditto
29168     @OpenGL_Version(OGLIntroducedIn.Unknown)
29169     @OpenGL_Extension("GL_ARB_vertex_program")
29170     fn_glVertexAttrib2dARB glVertexAttrib2dARB;
29171     alias fn_glVertexAttrib2dNV = extern(C) void function(GLuint index, GLdouble x, GLdouble y) @system @nogc nothrow;
29172     /// Ditto
29173     @OpenGL_Version(OGLIntroducedIn.Unknown)
29174     @OpenGL_Extension("GL_NV_vertex_program")
29175     fn_glVertexAttrib2dNV glVertexAttrib2dNV;
29176     alias fn_glVertexAttrib2dvARB = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29177     /// Ditto
29178     @OpenGL_Version(OGLIntroducedIn.Unknown)
29179     @OpenGL_Extension("GL_ARB_vertex_program")
29180     fn_glVertexAttrib2dvARB glVertexAttrib2dvARB;
29181     alias fn_glVertexAttrib2dvNV = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29182     /// Ditto
29183     @OpenGL_Version(OGLIntroducedIn.Unknown)
29184     @OpenGL_Extension("GL_NV_vertex_program")
29185     fn_glVertexAttrib2dvNV glVertexAttrib2dvNV;
29186     alias fn_glVertexAttrib2fARB = extern(C) void function(GLuint index, GLfloat x, GLfloat y) @system @nogc nothrow;
29187     /// Ditto
29188     @OpenGL_Version(OGLIntroducedIn.Unknown)
29189     @OpenGL_Extension("GL_ARB_vertex_program")
29190     fn_glVertexAttrib2fARB glVertexAttrib2fARB;
29191     alias fn_glVertexAttrib2fNV = extern(C) void function(GLuint index, GLfloat x, GLfloat y) @system @nogc nothrow;
29192     /// Ditto
29193     @OpenGL_Version(OGLIntroducedIn.Unknown)
29194     @OpenGL_Extension("GL_NV_vertex_program")
29195     fn_glVertexAttrib2fNV glVertexAttrib2fNV;
29196     alias fn_glVertexAttrib2fvARB = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29197     /// Ditto
29198     @OpenGL_Version(OGLIntroducedIn.Unknown)
29199     @OpenGL_Extension("GL_ARB_vertex_program")
29200     fn_glVertexAttrib2fvARB glVertexAttrib2fvARB;
29201     alias fn_glVertexAttrib2fvNV = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29202     /// Ditto
29203     @OpenGL_Version(OGLIntroducedIn.Unknown)
29204     @OpenGL_Extension("GL_NV_vertex_program")
29205     fn_glVertexAttrib2fvNV glVertexAttrib2fvNV;
29206     alias fn_glVertexAttrib2hNV = extern(C) void function(GLuint index, GLhalfNV x, GLhalfNV y) @system @nogc nothrow;
29207     /// Ditto
29208     @OpenGL_Version(OGLIntroducedIn.Unknown)
29209     @OpenGL_Extension("GL_NV_half_float")
29210     fn_glVertexAttrib2hNV glVertexAttrib2hNV;
29211     alias fn_glVertexAttrib2hvNV = extern(C) void function(GLuint index, const GLhalfNV* v) @system @nogc nothrow;
29212     /// Ditto
29213     @OpenGL_Version(OGLIntroducedIn.Unknown)
29214     @OpenGL_Extension("GL_NV_half_float")
29215     fn_glVertexAttrib2hvNV glVertexAttrib2hvNV;
29216     alias fn_glVertexAttrib2sARB = extern(C) void function(GLuint index, GLshort x, GLshort y) @system @nogc nothrow;
29217     /// Ditto
29218     @OpenGL_Version(OGLIntroducedIn.Unknown)
29219     @OpenGL_Extension("GL_ARB_vertex_program")
29220     fn_glVertexAttrib2sARB glVertexAttrib2sARB;
29221     alias fn_glVertexAttrib2sNV = extern(C) void function(GLuint index, GLshort x, GLshort y) @system @nogc nothrow;
29222     /// Ditto
29223     @OpenGL_Version(OGLIntroducedIn.Unknown)
29224     @OpenGL_Extension("GL_NV_vertex_program")
29225     fn_glVertexAttrib2sNV glVertexAttrib2sNV;
29226     alias fn_glVertexAttrib2svARB = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29227     /// Ditto
29228     @OpenGL_Version(OGLIntroducedIn.Unknown)
29229     @OpenGL_Extension("GL_ARB_vertex_program")
29230     fn_glVertexAttrib2svARB glVertexAttrib2svARB;
29231     alias fn_glVertexAttrib2svNV = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29232     /// Ditto
29233     @OpenGL_Version(OGLIntroducedIn.Unknown)
29234     @OpenGL_Extension("GL_NV_vertex_program")
29235     fn_glVertexAttrib2svNV glVertexAttrib2svNV;
29236     alias fn_glVertexAttrib3dARB = extern(C) void function(GLuint index, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
29237     /// Ditto
29238     @OpenGL_Version(OGLIntroducedIn.Unknown)
29239     @OpenGL_Extension("GL_ARB_vertex_program")
29240     fn_glVertexAttrib3dARB glVertexAttrib3dARB;
29241     alias fn_glVertexAttrib3dNV = extern(C) void function(GLuint index, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
29242     /// Ditto
29243     @OpenGL_Version(OGLIntroducedIn.Unknown)
29244     @OpenGL_Extension("GL_NV_vertex_program")
29245     fn_glVertexAttrib3dNV glVertexAttrib3dNV;
29246     alias fn_glVertexAttrib3dvARB = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29247     /// Ditto
29248     @OpenGL_Version(OGLIntroducedIn.Unknown)
29249     @OpenGL_Extension("GL_ARB_vertex_program")
29250     fn_glVertexAttrib3dvARB glVertexAttrib3dvARB;
29251     alias fn_glVertexAttrib3dvNV = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29252     /// Ditto
29253     @OpenGL_Version(OGLIntroducedIn.Unknown)
29254     @OpenGL_Extension("GL_NV_vertex_program")
29255     fn_glVertexAttrib3dvNV glVertexAttrib3dvNV;
29256     alias fn_glVertexAttrib3fARB = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
29257     /// Ditto
29258     @OpenGL_Version(OGLIntroducedIn.Unknown)
29259     @OpenGL_Extension("GL_ARB_vertex_program")
29260     fn_glVertexAttrib3fARB glVertexAttrib3fARB;
29261     alias fn_glVertexAttrib3fNV = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
29262     /// Ditto
29263     @OpenGL_Version(OGLIntroducedIn.Unknown)
29264     @OpenGL_Extension("GL_NV_vertex_program")
29265     fn_glVertexAttrib3fNV glVertexAttrib3fNV;
29266     alias fn_glVertexAttrib3fvARB = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29267     /// Ditto
29268     @OpenGL_Version(OGLIntroducedIn.Unknown)
29269     @OpenGL_Extension("GL_ARB_vertex_program")
29270     fn_glVertexAttrib3fvARB glVertexAttrib3fvARB;
29271     alias fn_glVertexAttrib3fvNV = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29272     /// Ditto
29273     @OpenGL_Version(OGLIntroducedIn.Unknown)
29274     @OpenGL_Extension("GL_NV_vertex_program")
29275     fn_glVertexAttrib3fvNV glVertexAttrib3fvNV;
29276     alias fn_glVertexAttrib3hNV = extern(C) void function(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z) @system @nogc nothrow;
29277     /// Ditto
29278     @OpenGL_Version(OGLIntroducedIn.Unknown)
29279     @OpenGL_Extension("GL_NV_half_float")
29280     fn_glVertexAttrib3hNV glVertexAttrib3hNV;
29281     alias fn_glVertexAttrib3hvNV = extern(C) void function(GLuint index, const GLhalfNV* v) @system @nogc nothrow;
29282     /// Ditto
29283     @OpenGL_Version(OGLIntroducedIn.Unknown)
29284     @OpenGL_Extension("GL_NV_half_float")
29285     fn_glVertexAttrib3hvNV glVertexAttrib3hvNV;
29286     alias fn_glVertexAttrib3sARB = extern(C) void function(GLuint index, GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
29287     /// Ditto
29288     @OpenGL_Version(OGLIntroducedIn.Unknown)
29289     @OpenGL_Extension("GL_ARB_vertex_program")
29290     fn_glVertexAttrib3sARB glVertexAttrib3sARB;
29291     alias fn_glVertexAttrib3sNV = extern(C) void function(GLuint index, GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
29292     /// Ditto
29293     @OpenGL_Version(OGLIntroducedIn.Unknown)
29294     @OpenGL_Extension("GL_NV_vertex_program")
29295     fn_glVertexAttrib3sNV glVertexAttrib3sNV;
29296     alias fn_glVertexAttrib3svARB = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29297     /// Ditto
29298     @OpenGL_Version(OGLIntroducedIn.Unknown)
29299     @OpenGL_Extension("GL_ARB_vertex_program")
29300     fn_glVertexAttrib3svARB glVertexAttrib3svARB;
29301     alias fn_glVertexAttrib3svNV = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29302     /// Ditto
29303     @OpenGL_Version(OGLIntroducedIn.Unknown)
29304     @OpenGL_Extension("GL_NV_vertex_program")
29305     fn_glVertexAttrib3svNV glVertexAttrib3svNV;
29306     alias fn_glVertexAttrib4NbvARB = extern(C) void function(GLuint index, const GLbyte* v) @system @nogc nothrow;
29307     /// Ditto
29308     @OpenGL_Version(OGLIntroducedIn.Unknown)
29309     @OpenGL_Extension("GL_ARB_vertex_program")
29310     fn_glVertexAttrib4NbvARB glVertexAttrib4NbvARB;
29311     alias fn_glVertexAttrib4NivARB = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
29312     /// Ditto
29313     @OpenGL_Version(OGLIntroducedIn.Unknown)
29314     @OpenGL_Extension("GL_ARB_vertex_program")
29315     fn_glVertexAttrib4NivARB glVertexAttrib4NivARB;
29316     alias fn_glVertexAttrib4NsvARB = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29317     /// Ditto
29318     @OpenGL_Version(OGLIntroducedIn.Unknown)
29319     @OpenGL_Extension("GL_ARB_vertex_program")
29320     fn_glVertexAttrib4NsvARB glVertexAttrib4NsvARB;
29321     alias fn_glVertexAttrib4NubARB = extern(C) void function(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) @system @nogc nothrow;
29322     /// Ditto
29323     @OpenGL_Version(OGLIntroducedIn.Unknown)
29324     @OpenGL_Extension("GL_ARB_vertex_program")
29325     fn_glVertexAttrib4NubARB glVertexAttrib4NubARB;
29326     alias fn_glVertexAttrib4NubvARB = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
29327     /// Ditto
29328     @OpenGL_Version(OGLIntroducedIn.Unknown)
29329     @OpenGL_Extension("GL_ARB_vertex_program")
29330     fn_glVertexAttrib4NubvARB glVertexAttrib4NubvARB;
29331     alias fn_glVertexAttrib4NuivARB = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
29332     /// Ditto
29333     @OpenGL_Version(OGLIntroducedIn.Unknown)
29334     @OpenGL_Extension("GL_ARB_vertex_program")
29335     fn_glVertexAttrib4NuivARB glVertexAttrib4NuivARB;
29336     alias fn_glVertexAttrib4NusvARB = extern(C) void function(GLuint index, const GLushort* v) @system @nogc nothrow;
29337     /// Ditto
29338     @OpenGL_Version(OGLIntroducedIn.Unknown)
29339     @OpenGL_Extension("GL_ARB_vertex_program")
29340     fn_glVertexAttrib4NusvARB glVertexAttrib4NusvARB;
29341     alias fn_glVertexAttrib4bvARB = extern(C) void function(GLuint index, const GLbyte* v) @system @nogc nothrow;
29342     /// Ditto
29343     @OpenGL_Version(OGLIntroducedIn.Unknown)
29344     @OpenGL_Extension("GL_ARB_vertex_program")
29345     fn_glVertexAttrib4bvARB glVertexAttrib4bvARB;
29346     alias fn_glVertexAttrib4dARB = extern(C) void function(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
29347     /// Ditto
29348     @OpenGL_Version(OGLIntroducedIn.Unknown)
29349     @OpenGL_Extension("GL_ARB_vertex_program")
29350     fn_glVertexAttrib4dARB glVertexAttrib4dARB;
29351     alias fn_glVertexAttrib4dNV = extern(C) void function(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
29352     /// Ditto
29353     @OpenGL_Version(OGLIntroducedIn.Unknown)
29354     @OpenGL_Extension("GL_NV_vertex_program")
29355     fn_glVertexAttrib4dNV glVertexAttrib4dNV;
29356     alias fn_glVertexAttrib4dvARB = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29357     /// Ditto
29358     @OpenGL_Version(OGLIntroducedIn.Unknown)
29359     @OpenGL_Extension("GL_ARB_vertex_program")
29360     fn_glVertexAttrib4dvARB glVertexAttrib4dvARB;
29361     alias fn_glVertexAttrib4dvNV = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29362     /// Ditto
29363     @OpenGL_Version(OGLIntroducedIn.Unknown)
29364     @OpenGL_Extension("GL_NV_vertex_program")
29365     fn_glVertexAttrib4dvNV glVertexAttrib4dvNV;
29366     alias fn_glVertexAttrib4fARB = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
29367     /// Ditto
29368     @OpenGL_Version(OGLIntroducedIn.Unknown)
29369     @OpenGL_Extension("GL_ARB_vertex_program")
29370     fn_glVertexAttrib4fARB glVertexAttrib4fARB;
29371     alias fn_glVertexAttrib4fNV = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
29372     /// Ditto
29373     @OpenGL_Version(OGLIntroducedIn.Unknown)
29374     @OpenGL_Extension("GL_NV_vertex_program")
29375     fn_glVertexAttrib4fNV glVertexAttrib4fNV;
29376     alias fn_glVertexAttrib4fvARB = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29377     /// Ditto
29378     @OpenGL_Version(OGLIntroducedIn.Unknown)
29379     @OpenGL_Extension("GL_ARB_vertex_program")
29380     fn_glVertexAttrib4fvARB glVertexAttrib4fvARB;
29381     alias fn_glVertexAttrib4fvNV = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
29382     /// Ditto
29383     @OpenGL_Version(OGLIntroducedIn.Unknown)
29384     @OpenGL_Extension("GL_NV_vertex_program")
29385     fn_glVertexAttrib4fvNV glVertexAttrib4fvNV;
29386     alias fn_glVertexAttrib4hNV = extern(C) void function(GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w) @system @nogc nothrow;
29387     /// Ditto
29388     @OpenGL_Version(OGLIntroducedIn.Unknown)
29389     @OpenGL_Extension("GL_NV_half_float")
29390     fn_glVertexAttrib4hNV glVertexAttrib4hNV;
29391     alias fn_glVertexAttrib4hvNV = extern(C) void function(GLuint index, const GLhalfNV* v) @system @nogc nothrow;
29392     /// Ditto
29393     @OpenGL_Version(OGLIntroducedIn.Unknown)
29394     @OpenGL_Extension("GL_NV_half_float")
29395     fn_glVertexAttrib4hvNV glVertexAttrib4hvNV;
29396     alias fn_glVertexAttrib4ivARB = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
29397     /// Ditto
29398     @OpenGL_Version(OGLIntroducedIn.Unknown)
29399     @OpenGL_Extension("GL_ARB_vertex_program")
29400     fn_glVertexAttrib4ivARB glVertexAttrib4ivARB;
29401     alias fn_glVertexAttrib4sARB = extern(C) void function(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) @system @nogc nothrow;
29402     /// Ditto
29403     @OpenGL_Version(OGLIntroducedIn.Unknown)
29404     @OpenGL_Extension("GL_ARB_vertex_program")
29405     fn_glVertexAttrib4sARB glVertexAttrib4sARB;
29406     alias fn_glVertexAttrib4sNV = extern(C) void function(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) @system @nogc nothrow;
29407     /// Ditto
29408     @OpenGL_Version(OGLIntroducedIn.Unknown)
29409     @OpenGL_Extension("GL_NV_vertex_program")
29410     fn_glVertexAttrib4sNV glVertexAttrib4sNV;
29411     alias fn_glVertexAttrib4svARB = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29412     /// Ditto
29413     @OpenGL_Version(OGLIntroducedIn.Unknown)
29414     @OpenGL_Extension("GL_ARB_vertex_program")
29415     fn_glVertexAttrib4svARB glVertexAttrib4svARB;
29416     alias fn_glVertexAttrib4svNV = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29417     /// Ditto
29418     @OpenGL_Version(OGLIntroducedIn.Unknown)
29419     @OpenGL_Extension("GL_NV_vertex_program")
29420     fn_glVertexAttrib4svNV glVertexAttrib4svNV;
29421     alias fn_glVertexAttrib4ubNV = extern(C) void function(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) @system @nogc nothrow;
29422     /// Ditto
29423     @OpenGL_Version(OGLIntroducedIn.Unknown)
29424     @OpenGL_Extension("GL_NV_vertex_program")
29425     fn_glVertexAttrib4ubNV glVertexAttrib4ubNV;
29426     alias fn_glVertexAttrib4ubvARB = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
29427     /// Ditto
29428     @OpenGL_Version(OGLIntroducedIn.Unknown)
29429     @OpenGL_Extension("GL_ARB_vertex_program")
29430     fn_glVertexAttrib4ubvARB glVertexAttrib4ubvARB;
29431     alias fn_glVertexAttrib4ubvNV = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
29432     /// Ditto
29433     @OpenGL_Version(OGLIntroducedIn.Unknown)
29434     @OpenGL_Extension("GL_NV_vertex_program")
29435     fn_glVertexAttrib4ubvNV glVertexAttrib4ubvNV;
29436     alias fn_glVertexAttrib4uivARB = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
29437     /// Ditto
29438     @OpenGL_Version(OGLIntroducedIn.Unknown)
29439     @OpenGL_Extension("GL_ARB_vertex_program")
29440     fn_glVertexAttrib4uivARB glVertexAttrib4uivARB;
29441     alias fn_glVertexAttrib4usvARB = extern(C) void function(GLuint index, const GLushort* v) @system @nogc nothrow;
29442     /// Ditto
29443     @OpenGL_Version(OGLIntroducedIn.Unknown)
29444     @OpenGL_Extension("GL_ARB_vertex_program")
29445     fn_glVertexAttrib4usvARB glVertexAttrib4usvARB;
29446     alias fn_glVertexAttribArrayObjectATI = extern(C) void function(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset) @system @nogc nothrow;
29447     /// Ditto
29448     @OpenGL_Version(OGLIntroducedIn.Unknown)
29449     @OpenGL_Extension("GL_ATI_vertex_attrib_array_object")
29450     fn_glVertexAttribArrayObjectATI glVertexAttribArrayObjectATI;
29451     alias fn_glVertexAttribDivisorANGLE = extern(C) void function(GLuint index, GLuint divisor) @system @nogc nothrow;
29452     /// Ditto
29453     @OpenGL_Version(OGLIntroducedIn.Unknown)
29454     @OpenGL_Extension("GL_ANGLE_instanced_arrays")
29455     fn_glVertexAttribDivisorANGLE glVertexAttribDivisorANGLE;
29456     alias fn_glVertexAttribDivisorARB = extern(C) void function(GLuint index, GLuint divisor) @system @nogc nothrow;
29457     /// Ditto
29458     @OpenGL_Version(OGLIntroducedIn.Unknown)
29459     @OpenGL_Extension("GL_ARB_instanced_arrays")
29460     fn_glVertexAttribDivisorARB glVertexAttribDivisorARB;
29461     alias fn_glVertexAttribDivisorEXT = extern(C) void function(GLuint index, GLuint divisor) @system @nogc nothrow;
29462     /// Ditto
29463     @OpenGL_Version(OGLIntroducedIn.Unknown)
29464     @OpenGL_Extension("GL_EXT_instanced_arrays")
29465     fn_glVertexAttribDivisorEXT glVertexAttribDivisorEXT;
29466     alias fn_glVertexAttribDivisorNV = extern(C) void function(GLuint index, GLuint divisor) @system @nogc nothrow;
29467     /// Ditto
29468     @OpenGL_Version(OGLIntroducedIn.Unknown)
29469     @OpenGL_Extension("GL_NV_instanced_arrays")
29470     fn_glVertexAttribDivisorNV glVertexAttribDivisorNV;
29471     alias fn_glVertexAttribFormatNV = extern(C) void function(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride) @system @nogc nothrow;
29472     /// Ditto
29473     @OpenGL_Version(OGLIntroducedIn.Unknown)
29474     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
29475     fn_glVertexAttribFormatNV glVertexAttribFormatNV;
29476     alias fn_glVertexAttribI1iEXT = extern(C) void function(GLuint index, GLint x) @system @nogc nothrow;
29477     /// Ditto
29478     @OpenGL_Version(OGLIntroducedIn.Unknown)
29479     @OpenGL_Extension("GL_NV_vertex_program4")
29480     fn_glVertexAttribI1iEXT glVertexAttribI1iEXT;
29481     alias fn_glVertexAttribI1ivEXT = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
29482     /// Ditto
29483     @OpenGL_Version(OGLIntroducedIn.Unknown)
29484     @OpenGL_Extension("GL_NV_vertex_program4")
29485     fn_glVertexAttribI1ivEXT glVertexAttribI1ivEXT;
29486     alias fn_glVertexAttribI1uiEXT = extern(C) void function(GLuint index, GLuint x) @system @nogc nothrow;
29487     /// Ditto
29488     @OpenGL_Version(OGLIntroducedIn.Unknown)
29489     @OpenGL_Extension("GL_NV_vertex_program4")
29490     fn_glVertexAttribI1uiEXT glVertexAttribI1uiEXT;
29491     alias fn_glVertexAttribI1uivEXT = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
29492     /// Ditto
29493     @OpenGL_Version(OGLIntroducedIn.Unknown)
29494     @OpenGL_Extension("GL_NV_vertex_program4")
29495     fn_glVertexAttribI1uivEXT glVertexAttribI1uivEXT;
29496     alias fn_glVertexAttribI2iEXT = extern(C) void function(GLuint index, GLint x, GLint y) @system @nogc nothrow;
29497     /// Ditto
29498     @OpenGL_Version(OGLIntroducedIn.Unknown)
29499     @OpenGL_Extension("GL_NV_vertex_program4")
29500     fn_glVertexAttribI2iEXT glVertexAttribI2iEXT;
29501     alias fn_glVertexAttribI2ivEXT = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
29502     /// Ditto
29503     @OpenGL_Version(OGLIntroducedIn.Unknown)
29504     @OpenGL_Extension("GL_NV_vertex_program4")
29505     fn_glVertexAttribI2ivEXT glVertexAttribI2ivEXT;
29506     alias fn_glVertexAttribI2uiEXT = extern(C) void function(GLuint index, GLuint x, GLuint y) @system @nogc nothrow;
29507     /// Ditto
29508     @OpenGL_Version(OGLIntroducedIn.Unknown)
29509     @OpenGL_Extension("GL_NV_vertex_program4")
29510     fn_glVertexAttribI2uiEXT glVertexAttribI2uiEXT;
29511     alias fn_glVertexAttribI2uivEXT = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
29512     /// Ditto
29513     @OpenGL_Version(OGLIntroducedIn.Unknown)
29514     @OpenGL_Extension("GL_NV_vertex_program4")
29515     fn_glVertexAttribI2uivEXT glVertexAttribI2uivEXT;
29516     alias fn_glVertexAttribI3iEXT = extern(C) void function(GLuint index, GLint x, GLint y, GLint z) @system @nogc nothrow;
29517     /// Ditto
29518     @OpenGL_Version(OGLIntroducedIn.Unknown)
29519     @OpenGL_Extension("GL_NV_vertex_program4")
29520     fn_glVertexAttribI3iEXT glVertexAttribI3iEXT;
29521     alias fn_glVertexAttribI3ivEXT = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
29522     /// Ditto
29523     @OpenGL_Version(OGLIntroducedIn.Unknown)
29524     @OpenGL_Extension("GL_NV_vertex_program4")
29525     fn_glVertexAttribI3ivEXT glVertexAttribI3ivEXT;
29526     alias fn_glVertexAttribI3uiEXT = extern(C) void function(GLuint index, GLuint x, GLuint y, GLuint z) @system @nogc nothrow;
29527     /// Ditto
29528     @OpenGL_Version(OGLIntroducedIn.Unknown)
29529     @OpenGL_Extension("GL_NV_vertex_program4")
29530     fn_glVertexAttribI3uiEXT glVertexAttribI3uiEXT;
29531     alias fn_glVertexAttribI3uivEXT = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
29532     /// Ditto
29533     @OpenGL_Version(OGLIntroducedIn.Unknown)
29534     @OpenGL_Extension("GL_NV_vertex_program4")
29535     fn_glVertexAttribI3uivEXT glVertexAttribI3uivEXT;
29536     alias fn_glVertexAttribI4bvEXT = extern(C) void function(GLuint index, const GLbyte* v) @system @nogc nothrow;
29537     /// Ditto
29538     @OpenGL_Version(OGLIntroducedIn.Unknown)
29539     @OpenGL_Extension("GL_NV_vertex_program4")
29540     fn_glVertexAttribI4bvEXT glVertexAttribI4bvEXT;
29541     alias fn_glVertexAttribI4iEXT = extern(C) void function(GLuint index, GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
29542     /// Ditto
29543     @OpenGL_Version(OGLIntroducedIn.Unknown)
29544     @OpenGL_Extension("GL_NV_vertex_program4")
29545     fn_glVertexAttribI4iEXT glVertexAttribI4iEXT;
29546     alias fn_glVertexAttribI4ivEXT = extern(C) void function(GLuint index, const GLint* v) @system @nogc nothrow;
29547     /// Ditto
29548     @OpenGL_Version(OGLIntroducedIn.Unknown)
29549     @OpenGL_Extension("GL_NV_vertex_program4")
29550     fn_glVertexAttribI4ivEXT glVertexAttribI4ivEXT;
29551     alias fn_glVertexAttribI4svEXT = extern(C) void function(GLuint index, const GLshort* v) @system @nogc nothrow;
29552     /// Ditto
29553     @OpenGL_Version(OGLIntroducedIn.Unknown)
29554     @OpenGL_Extension("GL_NV_vertex_program4")
29555     fn_glVertexAttribI4svEXT glVertexAttribI4svEXT;
29556     alias fn_glVertexAttribI4ubvEXT = extern(C) void function(GLuint index, const(GLubyte)* v) @system @nogc nothrow;
29557     /// Ditto
29558     @OpenGL_Version(OGLIntroducedIn.Unknown)
29559     @OpenGL_Extension("GL_NV_vertex_program4")
29560     fn_glVertexAttribI4ubvEXT glVertexAttribI4ubvEXT;
29561     alias fn_glVertexAttribI4uiEXT = extern(C) void function(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) @system @nogc nothrow;
29562     /// Ditto
29563     @OpenGL_Version(OGLIntroducedIn.Unknown)
29564     @OpenGL_Extension("GL_NV_vertex_program4")
29565     fn_glVertexAttribI4uiEXT glVertexAttribI4uiEXT;
29566     alias fn_glVertexAttribI4uivEXT = extern(C) void function(GLuint index, const GLuint* v) @system @nogc nothrow;
29567     /// Ditto
29568     @OpenGL_Version(OGLIntroducedIn.Unknown)
29569     @OpenGL_Extension("GL_NV_vertex_program4")
29570     fn_glVertexAttribI4uivEXT glVertexAttribI4uivEXT;
29571     alias fn_glVertexAttribI4usvEXT = extern(C) void function(GLuint index, const GLushort* v) @system @nogc nothrow;
29572     /// Ditto
29573     @OpenGL_Version(OGLIntroducedIn.Unknown)
29574     @OpenGL_Extension("GL_NV_vertex_program4")
29575     fn_glVertexAttribI4usvEXT glVertexAttribI4usvEXT;
29576     alias fn_glVertexAttribIFormatNV = extern(C) void function(GLuint index, GLint size, GLenum type, GLsizei stride) @system @nogc nothrow;
29577     /// Ditto
29578     @OpenGL_Version(OGLIntroducedIn.Unknown)
29579     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
29580     fn_glVertexAttribIFormatNV glVertexAttribIFormatNV;
29581     alias fn_glVertexAttribIPointerEXT = extern(C) void function(GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
29582     /// Ditto
29583     @OpenGL_Version(OGLIntroducedIn.Unknown)
29584     @OpenGL_Extension("GL_NV_vertex_program4")
29585     fn_glVertexAttribIPointerEXT glVertexAttribIPointerEXT;
29586     alias fn_glVertexAttribL1dEXT = extern(C) void function(GLuint index, GLdouble x) @system @nogc nothrow;
29587     /// Ditto
29588     @OpenGL_Version(OGLIntroducedIn.Unknown)
29589     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29590     fn_glVertexAttribL1dEXT glVertexAttribL1dEXT;
29591     alias fn_glVertexAttribL1dvEXT = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29592     /// Ditto
29593     @OpenGL_Version(OGLIntroducedIn.Unknown)
29594     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29595     fn_glVertexAttribL1dvEXT glVertexAttribL1dvEXT;
29596     alias fn_glVertexAttribL1i64NV = extern(C) void function(GLuint index, GLint64EXT x) @system @nogc nothrow;
29597     /// Ditto
29598     @OpenGL_Version(OGLIntroducedIn.Unknown)
29599     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29600     fn_glVertexAttribL1i64NV glVertexAttribL1i64NV;
29601     alias fn_glVertexAttribL1i64vNV = extern(C) void function(GLuint index, const GLint64EXT* v) @system @nogc nothrow;
29602     /// Ditto
29603     @OpenGL_Version(OGLIntroducedIn.Unknown)
29604     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29605     fn_glVertexAttribL1i64vNV glVertexAttribL1i64vNV;
29606     alias fn_glVertexAttribL1ui64ARB = extern(C) void function(GLuint index, GLuint64EXT x) @system @nogc nothrow;
29607     /// Ditto
29608     @OpenGL_Version(OGLIntroducedIn.Unknown)
29609     @OpenGL_Extension("GL_ARB_bindless_texture")
29610     fn_glVertexAttribL1ui64ARB glVertexAttribL1ui64ARB;
29611     alias fn_glVertexAttribL1ui64NV = extern(C) void function(GLuint index, GLuint64EXT x) @system @nogc nothrow;
29612     /// Ditto
29613     @OpenGL_Version(OGLIntroducedIn.Unknown)
29614     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29615     fn_glVertexAttribL1ui64NV glVertexAttribL1ui64NV;
29616     alias fn_glVertexAttribL1ui64vARB = extern(C) void function(GLuint index, const GLuint64EXT* v) @system @nogc nothrow;
29617     /// Ditto
29618     @OpenGL_Version(OGLIntroducedIn.Unknown)
29619     @OpenGL_Extension("GL_ARB_bindless_texture")
29620     fn_glVertexAttribL1ui64vARB glVertexAttribL1ui64vARB;
29621     alias fn_glVertexAttribL1ui64vNV = extern(C) void function(GLuint index, const GLuint64EXT* v) @system @nogc nothrow;
29622     /// Ditto
29623     @OpenGL_Version(OGLIntroducedIn.Unknown)
29624     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29625     fn_glVertexAttribL1ui64vNV glVertexAttribL1ui64vNV;
29626     alias fn_glVertexAttribL2dEXT = extern(C) void function(GLuint index, GLdouble x, GLdouble y) @system @nogc nothrow;
29627     /// Ditto
29628     @OpenGL_Version(OGLIntroducedIn.Unknown)
29629     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29630     fn_glVertexAttribL2dEXT glVertexAttribL2dEXT;
29631     alias fn_glVertexAttribL2dvEXT = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29632     /// Ditto
29633     @OpenGL_Version(OGLIntroducedIn.Unknown)
29634     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29635     fn_glVertexAttribL2dvEXT glVertexAttribL2dvEXT;
29636     alias fn_glVertexAttribL2i64NV = extern(C) void function(GLuint index, GLint64EXT x, GLint64EXT y) @system @nogc nothrow;
29637     /// Ditto
29638     @OpenGL_Version(OGLIntroducedIn.Unknown)
29639     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29640     fn_glVertexAttribL2i64NV glVertexAttribL2i64NV;
29641     alias fn_glVertexAttribL2i64vNV = extern(C) void function(GLuint index, const GLint64EXT* v) @system @nogc nothrow;
29642     /// Ditto
29643     @OpenGL_Version(OGLIntroducedIn.Unknown)
29644     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29645     fn_glVertexAttribL2i64vNV glVertexAttribL2i64vNV;
29646     alias fn_glVertexAttribL2ui64NV = extern(C) void function(GLuint index, GLuint64EXT x, GLuint64EXT y) @system @nogc nothrow;
29647     /// Ditto
29648     @OpenGL_Version(OGLIntroducedIn.Unknown)
29649     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29650     fn_glVertexAttribL2ui64NV glVertexAttribL2ui64NV;
29651     alias fn_glVertexAttribL2ui64vNV = extern(C) void function(GLuint index, const GLuint64EXT* v) @system @nogc nothrow;
29652     /// Ditto
29653     @OpenGL_Version(OGLIntroducedIn.Unknown)
29654     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29655     fn_glVertexAttribL2ui64vNV glVertexAttribL2ui64vNV;
29656     alias fn_glVertexAttribL3dEXT = extern(C) void function(GLuint index, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
29657     /// Ditto
29658     @OpenGL_Version(OGLIntroducedIn.Unknown)
29659     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29660     fn_glVertexAttribL3dEXT glVertexAttribL3dEXT;
29661     alias fn_glVertexAttribL3dvEXT = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29662     /// Ditto
29663     @OpenGL_Version(OGLIntroducedIn.Unknown)
29664     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29665     fn_glVertexAttribL3dvEXT glVertexAttribL3dvEXT;
29666     alias fn_glVertexAttribL3i64NV = extern(C) void function(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z) @system @nogc nothrow;
29667     /// Ditto
29668     @OpenGL_Version(OGLIntroducedIn.Unknown)
29669     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29670     fn_glVertexAttribL3i64NV glVertexAttribL3i64NV;
29671     alias fn_glVertexAttribL3i64vNV = extern(C) void function(GLuint index, const GLint64EXT* v) @system @nogc nothrow;
29672     /// Ditto
29673     @OpenGL_Version(OGLIntroducedIn.Unknown)
29674     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29675     fn_glVertexAttribL3i64vNV glVertexAttribL3i64vNV;
29676     alias fn_glVertexAttribL3ui64NV = extern(C) void function(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z) @system @nogc nothrow;
29677     /// Ditto
29678     @OpenGL_Version(OGLIntroducedIn.Unknown)
29679     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29680     fn_glVertexAttribL3ui64NV glVertexAttribL3ui64NV;
29681     alias fn_glVertexAttribL3ui64vNV = extern(C) void function(GLuint index, const GLuint64EXT* v) @system @nogc nothrow;
29682     /// Ditto
29683     @OpenGL_Version(OGLIntroducedIn.Unknown)
29684     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29685     fn_glVertexAttribL3ui64vNV glVertexAttribL3ui64vNV;
29686     alias fn_glVertexAttribL4dEXT = extern(C) void function(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
29687     /// Ditto
29688     @OpenGL_Version(OGLIntroducedIn.Unknown)
29689     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29690     fn_glVertexAttribL4dEXT glVertexAttribL4dEXT;
29691     alias fn_glVertexAttribL4dvEXT = extern(C) void function(GLuint index, const GLdouble* v) @system @nogc nothrow;
29692     /// Ditto
29693     @OpenGL_Version(OGLIntroducedIn.Unknown)
29694     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29695     fn_glVertexAttribL4dvEXT glVertexAttribL4dvEXT;
29696     alias fn_glVertexAttribL4i64NV = extern(C) void function(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w) @system @nogc nothrow;
29697     /// Ditto
29698     @OpenGL_Version(OGLIntroducedIn.Unknown)
29699     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29700     fn_glVertexAttribL4i64NV glVertexAttribL4i64NV;
29701     alias fn_glVertexAttribL4i64vNV = extern(C) void function(GLuint index, const GLint64EXT* v) @system @nogc nothrow;
29702     /// Ditto
29703     @OpenGL_Version(OGLIntroducedIn.Unknown)
29704     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29705     fn_glVertexAttribL4i64vNV glVertexAttribL4i64vNV;
29706     alias fn_glVertexAttribL4ui64NV = extern(C) void function(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w) @system @nogc nothrow;
29707     /// Ditto
29708     @OpenGL_Version(OGLIntroducedIn.Unknown)
29709     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29710     fn_glVertexAttribL4ui64NV glVertexAttribL4ui64NV;
29711     alias fn_glVertexAttribL4ui64vNV = extern(C) void function(GLuint index, const GLuint64EXT* v) @system @nogc nothrow;
29712     /// Ditto
29713     @OpenGL_Version(OGLIntroducedIn.Unknown)
29714     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29715     fn_glVertexAttribL4ui64vNV glVertexAttribL4ui64vNV;
29716     alias fn_glVertexAttribLFormatNV = extern(C) void function(GLuint index, GLint size, GLenum type, GLsizei stride) @system @nogc nothrow;
29717     /// Ditto
29718     @OpenGL_Version(OGLIntroducedIn.Unknown)
29719     @OpenGL_Extension("GL_NV_vertex_attrib_integer_64bit")
29720     fn_glVertexAttribLFormatNV glVertexAttribLFormatNV;
29721     alias fn_glVertexAttribLPointerEXT = extern(C) void function(GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
29722     /// Ditto
29723     @OpenGL_Version(OGLIntroducedIn.Unknown)
29724     @OpenGL_Extension("GL_EXT_vertex_attrib_64bit")
29725     fn_glVertexAttribLPointerEXT glVertexAttribLPointerEXT;
29726     alias fn_glVertexAttribP1uiv = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) @system @nogc nothrow;
29727     /// Ditto
29728     @OpenGL_Version(OGLIntroducedIn.V3P3)
29729     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29730     fn_glVertexAttribP1uiv glVertexAttribP1uiv;
29731     alias fn_glVertexAttribP2uiv = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) @system @nogc nothrow;
29732     /// Ditto
29733     @OpenGL_Version(OGLIntroducedIn.V3P3)
29734     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29735     fn_glVertexAttribP2uiv glVertexAttribP2uiv;
29736     alias fn_glVertexAttribP3uiv = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) @system @nogc nothrow;
29737     /// Ditto
29738     @OpenGL_Version(OGLIntroducedIn.V3P3)
29739     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29740     fn_glVertexAttribP3uiv glVertexAttribP3uiv;
29741     alias fn_glVertexAttribP4uiv = extern(C) void function(GLuint index, GLenum type, GLboolean normalized, const GLuint* value) @system @nogc nothrow;
29742     /// Ditto
29743     @OpenGL_Version(OGLIntroducedIn.V3P3)
29744     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29745     fn_glVertexAttribP4uiv glVertexAttribP4uiv;
29746     alias fn_glVertexAttribParameteriAMD = extern(C) void function(GLuint index, GLenum pname, GLint param) @system @nogc nothrow;
29747     /// Ditto
29748     @OpenGL_Version(OGLIntroducedIn.Unknown)
29749     @OpenGL_Extension("GL_AMD_interleaved_elements")
29750     fn_glVertexAttribParameteriAMD glVertexAttribParameteriAMD;
29751     alias fn_glVertexAttribPointerARB = extern(C) void function(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer) @system @nogc nothrow;
29752     /// Ditto
29753     @OpenGL_Version(OGLIntroducedIn.Unknown)
29754     @OpenGL_Extension("GL_ARB_vertex_program")
29755     fn_glVertexAttribPointerARB glVertexAttribPointerARB;
29756     alias fn_glVertexAttribPointerNV = extern(C) void function(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
29757     /// Ditto
29758     @OpenGL_Version(OGLIntroducedIn.Unknown)
29759     @OpenGL_Extension("GL_NV_vertex_program")
29760     fn_glVertexAttribPointerNV glVertexAttribPointerNV;
29761     alias fn_glVertexAttribs1dvNV = extern(C) void function(GLuint index, GLsizei count, const GLdouble* v) @system @nogc nothrow;
29762     /// Ditto
29763     @OpenGL_Version(OGLIntroducedIn.Unknown)
29764     @OpenGL_Extension("GL_NV_vertex_program")
29765     fn_glVertexAttribs1dvNV glVertexAttribs1dvNV;
29766     alias fn_glVertexAttribs1fvNV = extern(C) void function(GLuint index, GLsizei count, const GLfloat* v) @system @nogc nothrow;
29767     /// Ditto
29768     @OpenGL_Version(OGLIntroducedIn.Unknown)
29769     @OpenGL_Extension("GL_NV_vertex_program")
29770     fn_glVertexAttribs1fvNV glVertexAttribs1fvNV;
29771     alias fn_glVertexAttribs1hvNV = extern(C) void function(GLuint index, GLsizei n, const GLhalfNV* v) @system @nogc nothrow;
29772     /// Ditto
29773     @OpenGL_Version(OGLIntroducedIn.Unknown)
29774     @OpenGL_Extension("GL_NV_half_float")
29775     fn_glVertexAttribs1hvNV glVertexAttribs1hvNV;
29776     alias fn_glVertexAttribs1svNV = extern(C) void function(GLuint index, GLsizei count, const GLshort* v) @system @nogc nothrow;
29777     /// Ditto
29778     @OpenGL_Version(OGLIntroducedIn.Unknown)
29779     @OpenGL_Extension("GL_NV_vertex_program")
29780     fn_glVertexAttribs1svNV glVertexAttribs1svNV;
29781     alias fn_glVertexAttribs2dvNV = extern(C) void function(GLuint index, GLsizei count, const GLdouble* v) @system @nogc nothrow;
29782     /// Ditto
29783     @OpenGL_Version(OGLIntroducedIn.Unknown)
29784     @OpenGL_Extension("GL_NV_vertex_program")
29785     fn_glVertexAttribs2dvNV glVertexAttribs2dvNV;
29786     alias fn_glVertexAttribs2fvNV = extern(C) void function(GLuint index, GLsizei count, const GLfloat* v) @system @nogc nothrow;
29787     /// Ditto
29788     @OpenGL_Version(OGLIntroducedIn.Unknown)
29789     @OpenGL_Extension("GL_NV_vertex_program")
29790     fn_glVertexAttribs2fvNV glVertexAttribs2fvNV;
29791     alias fn_glVertexAttribs2hvNV = extern(C) void function(GLuint index, GLsizei n, const GLhalfNV* v) @system @nogc nothrow;
29792     /// Ditto
29793     @OpenGL_Version(OGLIntroducedIn.Unknown)
29794     @OpenGL_Extension("GL_NV_half_float")
29795     fn_glVertexAttribs2hvNV glVertexAttribs2hvNV;
29796     alias fn_glVertexAttribs2svNV = extern(C) void function(GLuint index, GLsizei count, const GLshort* v) @system @nogc nothrow;
29797     /// Ditto
29798     @OpenGL_Version(OGLIntroducedIn.Unknown)
29799     @OpenGL_Extension("GL_NV_vertex_program")
29800     fn_glVertexAttribs2svNV glVertexAttribs2svNV;
29801     alias fn_glVertexAttribs3dvNV = extern(C) void function(GLuint index, GLsizei count, const GLdouble* v) @system @nogc nothrow;
29802     /// Ditto
29803     @OpenGL_Version(OGLIntroducedIn.Unknown)
29804     @OpenGL_Extension("GL_NV_vertex_program")
29805     fn_glVertexAttribs3dvNV glVertexAttribs3dvNV;
29806     alias fn_glVertexAttribs3fvNV = extern(C) void function(GLuint index, GLsizei count, const GLfloat* v) @system @nogc nothrow;
29807     /// Ditto
29808     @OpenGL_Version(OGLIntroducedIn.Unknown)
29809     @OpenGL_Extension("GL_NV_vertex_program")
29810     fn_glVertexAttribs3fvNV glVertexAttribs3fvNV;
29811     alias fn_glVertexAttribs3hvNV = extern(C) void function(GLuint index, GLsizei n, const GLhalfNV* v) @system @nogc nothrow;
29812     /// Ditto
29813     @OpenGL_Version(OGLIntroducedIn.Unknown)
29814     @OpenGL_Extension("GL_NV_half_float")
29815     fn_glVertexAttribs3hvNV glVertexAttribs3hvNV;
29816     alias fn_glVertexAttribs3svNV = extern(C) void function(GLuint index, GLsizei count, const GLshort* v) @system @nogc nothrow;
29817     /// Ditto
29818     @OpenGL_Version(OGLIntroducedIn.Unknown)
29819     @OpenGL_Extension("GL_NV_vertex_program")
29820     fn_glVertexAttribs3svNV glVertexAttribs3svNV;
29821     alias fn_glVertexAttribs4dvNV = extern(C) void function(GLuint index, GLsizei count, const GLdouble* v) @system @nogc nothrow;
29822     /// Ditto
29823     @OpenGL_Version(OGLIntroducedIn.Unknown)
29824     @OpenGL_Extension("GL_NV_vertex_program")
29825     fn_glVertexAttribs4dvNV glVertexAttribs4dvNV;
29826     alias fn_glVertexAttribs4fvNV = extern(C) void function(GLuint index, GLsizei count, const GLfloat* v) @system @nogc nothrow;
29827     /// Ditto
29828     @OpenGL_Version(OGLIntroducedIn.Unknown)
29829     @OpenGL_Extension("GL_NV_vertex_program")
29830     fn_glVertexAttribs4fvNV glVertexAttribs4fvNV;
29831     alias fn_glVertexAttribs4hvNV = extern(C) void function(GLuint index, GLsizei n, const GLhalfNV* v) @system @nogc nothrow;
29832     /// Ditto
29833     @OpenGL_Version(OGLIntroducedIn.Unknown)
29834     @OpenGL_Extension("GL_NV_half_float")
29835     fn_glVertexAttribs4hvNV glVertexAttribs4hvNV;
29836     alias fn_glVertexAttribs4svNV = extern(C) void function(GLuint index, GLsizei count, const GLshort* v) @system @nogc nothrow;
29837     /// Ditto
29838     @OpenGL_Version(OGLIntroducedIn.Unknown)
29839     @OpenGL_Extension("GL_NV_vertex_program")
29840     fn_glVertexAttribs4svNV glVertexAttribs4svNV;
29841     alias fn_glVertexAttribs4ubvNV = extern(C) void function(GLuint index, GLsizei count, const(GLubyte)* v) @system @nogc nothrow;
29842     /// Ditto
29843     @OpenGL_Version(OGLIntroducedIn.Unknown)
29844     @OpenGL_Extension("GL_NV_vertex_program")
29845     fn_glVertexAttribs4ubvNV glVertexAttribs4ubvNV;
29846     alias fn_glVertexBlendARB = extern(C) void function(GLint count) @system @nogc nothrow;
29847     /// Ditto
29848     @OpenGL_Version(OGLIntroducedIn.Unknown)
29849     @OpenGL_Extension("GL_ARB_vertex_blend")
29850     fn_glVertexBlendARB glVertexBlendARB;
29851     alias fn_glVertexBlendEnvfATI = extern(C) void function(GLenum pname, GLfloat param) @system @nogc nothrow;
29852     /// Ditto
29853     @OpenGL_Version(OGLIntroducedIn.Unknown)
29854     @OpenGL_Extension("GL_ATI_vertex_streams")
29855     fn_glVertexBlendEnvfATI glVertexBlendEnvfATI;
29856     alias fn_glVertexBlendEnviATI = extern(C) void function(GLenum pname, GLint param) @system @nogc nothrow;
29857     /// Ditto
29858     @OpenGL_Version(OGLIntroducedIn.Unknown)
29859     @OpenGL_Extension("GL_ATI_vertex_streams")
29860     fn_glVertexBlendEnviATI glVertexBlendEnviATI;
29861     alias fn_glVertexFormatNV = extern(C) void function(GLint size, GLenum type, GLsizei stride) @system @nogc nothrow;
29862     /// Ditto
29863     @OpenGL_Version(OGLIntroducedIn.Unknown)
29864     @OpenGL_Extension("GL_NV_vertex_buffer_unified_memory")
29865     fn_glVertexFormatNV glVertexFormatNV;
29866     alias fn_glVertexP2ui = extern(C) void function(GLenum type, GLuint value) @system @nogc nothrow;
29867     /// Ditto
29868     @OpenGL_Version(OGLIntroducedIn.V3P3)
29869     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29870     fn_glVertexP2ui glVertexP2ui;
29871     alias fn_glVertexP2uiv = extern(C) void function(GLenum type, const GLuint* value) @system @nogc nothrow;
29872     /// Ditto
29873     @OpenGL_Version(OGLIntroducedIn.V3P3)
29874     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29875     fn_glVertexP2uiv glVertexP2uiv;
29876     alias fn_glVertexP3ui = extern(C) void function(GLenum type, GLuint value) @system @nogc nothrow;
29877     /// Ditto
29878     @OpenGL_Version(OGLIntroducedIn.V3P3)
29879     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29880     fn_glVertexP3ui glVertexP3ui;
29881     alias fn_glVertexP3uiv = extern(C) void function(GLenum type, const GLuint* value) @system @nogc nothrow;
29882     /// Ditto
29883     @OpenGL_Version(OGLIntroducedIn.V3P3)
29884     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29885     fn_glVertexP3uiv glVertexP3uiv;
29886     alias fn_glVertexP4ui = extern(C) void function(GLenum type, GLuint value) @system @nogc nothrow;
29887     /// Ditto
29888     @OpenGL_Version(OGLIntroducedIn.V3P3)
29889     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29890     fn_glVertexP4ui glVertexP4ui;
29891     alias fn_glVertexP4uiv = extern(C) void function(GLenum type, const GLuint* value) @system @nogc nothrow;
29892     /// Ditto
29893     @OpenGL_Version(OGLIntroducedIn.V3P3)
29894     @OpenGL_Extension("GL_ARB_vertex_type_2_10_10_10_rev")
29895     fn_glVertexP4uiv glVertexP4uiv;
29896     alias fn_glVertexPointer = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
29897     /// Ditto
29898     @OpenGL_Version(OGLIntroducedIn.V1P1)
29899     fn_glVertexPointer glVertexPointer;
29900     alias fn_glVertexPointerEXT = extern(C) void function(GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer) @system @nogc nothrow;
29901     /// Ditto
29902     @OpenGL_Version(OGLIntroducedIn.Unknown)
29903     @OpenGL_Extension("GL_EXT_vertex_array")
29904     fn_glVertexPointerEXT glVertexPointerEXT;
29905     alias fn_glVertexPointerListIBM = extern(C) void function(GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride) @system @nogc nothrow;
29906     /// Ditto
29907     @OpenGL_Version(OGLIntroducedIn.Unknown)
29908     @OpenGL_Extension("GL_IBM_vertex_array_lists")
29909     fn_glVertexPointerListIBM glVertexPointerListIBM;
29910     alias fn_glVertexPointervINTEL = extern(C) void function(GLint size, GLenum type, const void** pointer) @system @nogc nothrow;
29911     /// Ditto
29912     @OpenGL_Version(OGLIntroducedIn.Unknown)
29913     @OpenGL_Extension("GL_INTEL_parallel_arrays")
29914     fn_glVertexPointervINTEL glVertexPointervINTEL;
29915     alias fn_glVertexStream1dATI = extern(C) void function(GLenum stream, GLdouble x) @system @nogc nothrow;
29916     /// Ditto
29917     @OpenGL_Version(OGLIntroducedIn.Unknown)
29918     @OpenGL_Extension("GL_ATI_vertex_streams")
29919     fn_glVertexStream1dATI glVertexStream1dATI;
29920     alias fn_glVertexStream1dvATI = extern(C) void function(GLenum stream, const GLdouble* coords) @system @nogc nothrow;
29921     /// Ditto
29922     @OpenGL_Version(OGLIntroducedIn.Unknown)
29923     @OpenGL_Extension("GL_ATI_vertex_streams")
29924     fn_glVertexStream1dvATI glVertexStream1dvATI;
29925     alias fn_glVertexStream1fATI = extern(C) void function(GLenum stream, GLfloat x) @system @nogc nothrow;
29926     /// Ditto
29927     @OpenGL_Version(OGLIntroducedIn.Unknown)
29928     @OpenGL_Extension("GL_ATI_vertex_streams")
29929     fn_glVertexStream1fATI glVertexStream1fATI;
29930     alias fn_glVertexStream1fvATI = extern(C) void function(GLenum stream, const GLfloat* coords) @system @nogc nothrow;
29931     /// Ditto
29932     @OpenGL_Version(OGLIntroducedIn.Unknown)
29933     @OpenGL_Extension("GL_ATI_vertex_streams")
29934     fn_glVertexStream1fvATI glVertexStream1fvATI;
29935     alias fn_glVertexStream1iATI = extern(C) void function(GLenum stream, GLint x) @system @nogc nothrow;
29936     /// Ditto
29937     @OpenGL_Version(OGLIntroducedIn.Unknown)
29938     @OpenGL_Extension("GL_ATI_vertex_streams")
29939     fn_glVertexStream1iATI glVertexStream1iATI;
29940     alias fn_glVertexStream1ivATI = extern(C) void function(GLenum stream, const GLint* coords) @system @nogc nothrow;
29941     /// Ditto
29942     @OpenGL_Version(OGLIntroducedIn.Unknown)
29943     @OpenGL_Extension("GL_ATI_vertex_streams")
29944     fn_glVertexStream1ivATI glVertexStream1ivATI;
29945     alias fn_glVertexStream1sATI = extern(C) void function(GLenum stream, GLshort x) @system @nogc nothrow;
29946     /// Ditto
29947     @OpenGL_Version(OGLIntroducedIn.Unknown)
29948     @OpenGL_Extension("GL_ATI_vertex_streams")
29949     fn_glVertexStream1sATI glVertexStream1sATI;
29950     alias fn_glVertexStream1svATI = extern(C) void function(GLenum stream, const GLshort* coords) @system @nogc nothrow;
29951     /// Ditto
29952     @OpenGL_Version(OGLIntroducedIn.Unknown)
29953     @OpenGL_Extension("GL_ATI_vertex_streams")
29954     fn_glVertexStream1svATI glVertexStream1svATI;
29955     alias fn_glVertexStream2dATI = extern(C) void function(GLenum stream, GLdouble x, GLdouble y) @system @nogc nothrow;
29956     /// Ditto
29957     @OpenGL_Version(OGLIntroducedIn.Unknown)
29958     @OpenGL_Extension("GL_ATI_vertex_streams")
29959     fn_glVertexStream2dATI glVertexStream2dATI;
29960     alias fn_glVertexStream2dvATI = extern(C) void function(GLenum stream, const GLdouble* coords) @system @nogc nothrow;
29961     /// Ditto
29962     @OpenGL_Version(OGLIntroducedIn.Unknown)
29963     @OpenGL_Extension("GL_ATI_vertex_streams")
29964     fn_glVertexStream2dvATI glVertexStream2dvATI;
29965     alias fn_glVertexStream2fATI = extern(C) void function(GLenum stream, GLfloat x, GLfloat y) @system @nogc nothrow;
29966     /// Ditto
29967     @OpenGL_Version(OGLIntroducedIn.Unknown)
29968     @OpenGL_Extension("GL_ATI_vertex_streams")
29969     fn_glVertexStream2fATI glVertexStream2fATI;
29970     alias fn_glVertexStream2fvATI = extern(C) void function(GLenum stream, const GLfloat* coords) @system @nogc nothrow;
29971     /// Ditto
29972     @OpenGL_Version(OGLIntroducedIn.Unknown)
29973     @OpenGL_Extension("GL_ATI_vertex_streams")
29974     fn_glVertexStream2fvATI glVertexStream2fvATI;
29975     alias fn_glVertexStream2iATI = extern(C) void function(GLenum stream, GLint x, GLint y) @system @nogc nothrow;
29976     /// Ditto
29977     @OpenGL_Version(OGLIntroducedIn.Unknown)
29978     @OpenGL_Extension("GL_ATI_vertex_streams")
29979     fn_glVertexStream2iATI glVertexStream2iATI;
29980     alias fn_glVertexStream2ivATI = extern(C) void function(GLenum stream, const GLint* coords) @system @nogc nothrow;
29981     /// Ditto
29982     @OpenGL_Version(OGLIntroducedIn.Unknown)
29983     @OpenGL_Extension("GL_ATI_vertex_streams")
29984     fn_glVertexStream2ivATI glVertexStream2ivATI;
29985     alias fn_glVertexStream2sATI = extern(C) void function(GLenum stream, GLshort x, GLshort y) @system @nogc nothrow;
29986     /// Ditto
29987     @OpenGL_Version(OGLIntroducedIn.Unknown)
29988     @OpenGL_Extension("GL_ATI_vertex_streams")
29989     fn_glVertexStream2sATI glVertexStream2sATI;
29990     alias fn_glVertexStream2svATI = extern(C) void function(GLenum stream, const GLshort* coords) @system @nogc nothrow;
29991     /// Ditto
29992     @OpenGL_Version(OGLIntroducedIn.Unknown)
29993     @OpenGL_Extension("GL_ATI_vertex_streams")
29994     fn_glVertexStream2svATI glVertexStream2svATI;
29995     alias fn_glVertexStream3dATI = extern(C) void function(GLenum stream, GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
29996     /// Ditto
29997     @OpenGL_Version(OGLIntroducedIn.Unknown)
29998     @OpenGL_Extension("GL_ATI_vertex_streams")
29999     fn_glVertexStream3dATI glVertexStream3dATI;
30000     alias fn_glVertexStream3dvATI = extern(C) void function(GLenum stream, const GLdouble* coords) @system @nogc nothrow;
30001     /// Ditto
30002     @OpenGL_Version(OGLIntroducedIn.Unknown)
30003     @OpenGL_Extension("GL_ATI_vertex_streams")
30004     fn_glVertexStream3dvATI glVertexStream3dvATI;
30005     alias fn_glVertexStream3fATI = extern(C) void function(GLenum stream, GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
30006     /// Ditto
30007     @OpenGL_Version(OGLIntroducedIn.Unknown)
30008     @OpenGL_Extension("GL_ATI_vertex_streams")
30009     fn_glVertexStream3fATI glVertexStream3fATI;
30010     alias fn_glVertexStream3fvATI = extern(C) void function(GLenum stream, const GLfloat* coords) @system @nogc nothrow;
30011     /// Ditto
30012     @OpenGL_Version(OGLIntroducedIn.Unknown)
30013     @OpenGL_Extension("GL_ATI_vertex_streams")
30014     fn_glVertexStream3fvATI glVertexStream3fvATI;
30015     alias fn_glVertexStream3iATI = extern(C) void function(GLenum stream, GLint x, GLint y, GLint z) @system @nogc nothrow;
30016     /// Ditto
30017     @OpenGL_Version(OGLIntroducedIn.Unknown)
30018     @OpenGL_Extension("GL_ATI_vertex_streams")
30019     fn_glVertexStream3iATI glVertexStream3iATI;
30020     alias fn_glVertexStream3ivATI = extern(C) void function(GLenum stream, const GLint* coords) @system @nogc nothrow;
30021     /// Ditto
30022     @OpenGL_Version(OGLIntroducedIn.Unknown)
30023     @OpenGL_Extension("GL_ATI_vertex_streams")
30024     fn_glVertexStream3ivATI glVertexStream3ivATI;
30025     alias fn_glVertexStream3sATI = extern(C) void function(GLenum stream, GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
30026     /// Ditto
30027     @OpenGL_Version(OGLIntroducedIn.Unknown)
30028     @OpenGL_Extension("GL_ATI_vertex_streams")
30029     fn_glVertexStream3sATI glVertexStream3sATI;
30030     alias fn_glVertexStream3svATI = extern(C) void function(GLenum stream, const GLshort* coords) @system @nogc nothrow;
30031     /// Ditto
30032     @OpenGL_Version(OGLIntroducedIn.Unknown)
30033     @OpenGL_Extension("GL_ATI_vertex_streams")
30034     fn_glVertexStream3svATI glVertexStream3svATI;
30035     alias fn_glVertexStream4dATI = extern(C) void function(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
30036     /// Ditto
30037     @OpenGL_Version(OGLIntroducedIn.Unknown)
30038     @OpenGL_Extension("GL_ATI_vertex_streams")
30039     fn_glVertexStream4dATI glVertexStream4dATI;
30040     alias fn_glVertexStream4dvATI = extern(C) void function(GLenum stream, const GLdouble* coords) @system @nogc nothrow;
30041     /// Ditto
30042     @OpenGL_Version(OGLIntroducedIn.Unknown)
30043     @OpenGL_Extension("GL_ATI_vertex_streams")
30044     fn_glVertexStream4dvATI glVertexStream4dvATI;
30045     alias fn_glVertexStream4fATI = extern(C) void function(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
30046     /// Ditto
30047     @OpenGL_Version(OGLIntroducedIn.Unknown)
30048     @OpenGL_Extension("GL_ATI_vertex_streams")
30049     fn_glVertexStream4fATI glVertexStream4fATI;
30050     alias fn_glVertexStream4fvATI = extern(C) void function(GLenum stream, const GLfloat* coords) @system @nogc nothrow;
30051     /// Ditto
30052     @OpenGL_Version(OGLIntroducedIn.Unknown)
30053     @OpenGL_Extension("GL_ATI_vertex_streams")
30054     fn_glVertexStream4fvATI glVertexStream4fvATI;
30055     alias fn_glVertexStream4iATI = extern(C) void function(GLenum stream, GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
30056     /// Ditto
30057     @OpenGL_Version(OGLIntroducedIn.Unknown)
30058     @OpenGL_Extension("GL_ATI_vertex_streams")
30059     fn_glVertexStream4iATI glVertexStream4iATI;
30060     alias fn_glVertexStream4ivATI = extern(C) void function(GLenum stream, const GLint* coords) @system @nogc nothrow;
30061     /// Ditto
30062     @OpenGL_Version(OGLIntroducedIn.Unknown)
30063     @OpenGL_Extension("GL_ATI_vertex_streams")
30064     fn_glVertexStream4ivATI glVertexStream4ivATI;
30065     alias fn_glVertexStream4sATI = extern(C) void function(GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w) @system @nogc nothrow;
30066     /// Ditto
30067     @OpenGL_Version(OGLIntroducedIn.Unknown)
30068     @OpenGL_Extension("GL_ATI_vertex_streams")
30069     fn_glVertexStream4sATI glVertexStream4sATI;
30070     alias fn_glVertexStream4svATI = extern(C) void function(GLenum stream, const GLshort* coords) @system @nogc nothrow;
30071     /// Ditto
30072     @OpenGL_Version(OGLIntroducedIn.Unknown)
30073     @OpenGL_Extension("GL_ATI_vertex_streams")
30074     fn_glVertexStream4svATI glVertexStream4svATI;
30075     alias fn_glVertexWeightPointerEXT = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
30076     /// Ditto
30077     @OpenGL_Version(OGLIntroducedIn.Unknown)
30078     @OpenGL_Extension("GL_EXT_vertex_weighting")
30079     fn_glVertexWeightPointerEXT glVertexWeightPointerEXT;
30080     alias fn_glVertexWeightfEXT = extern(C) void function(GLfloat weight) @system @nogc nothrow;
30081     /// Ditto
30082     @OpenGL_Version(OGLIntroducedIn.Unknown)
30083     @OpenGL_Extension("GL_EXT_vertex_weighting")
30084     fn_glVertexWeightfEXT glVertexWeightfEXT;
30085     alias fn_glVertexWeightfvEXT = extern(C) void function(const GLfloat* weight) @system @nogc nothrow;
30086     /// Ditto
30087     @OpenGL_Version(OGLIntroducedIn.Unknown)
30088     @OpenGL_Extension("GL_EXT_vertex_weighting")
30089     fn_glVertexWeightfvEXT glVertexWeightfvEXT;
30090     alias fn_glVertexWeighthNV = extern(C) void function(GLhalfNV weight) @system @nogc nothrow;
30091     /// Ditto
30092     @OpenGL_Version(OGLIntroducedIn.Unknown)
30093     @OpenGL_Extension("GL_NV_half_float")
30094     fn_glVertexWeighthNV glVertexWeighthNV;
30095     alias fn_glVertexWeighthvNV = extern(C) void function(const GLhalfNV* weight) @system @nogc nothrow;
30096     /// Ditto
30097     @OpenGL_Version(OGLIntroducedIn.Unknown)
30098     @OpenGL_Extension("GL_NV_half_float")
30099     fn_glVertexWeighthvNV glVertexWeighthvNV;
30100     alias fn_glVideoCaptureNV = extern(C) GLenum function(GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT* capture_time) @system @nogc nothrow;
30101     /// Ditto
30102     @OpenGL_Version(OGLIntroducedIn.Unknown)
30103     @OpenGL_Extension("GL_NV_video_capture")
30104     fn_glVideoCaptureNV glVideoCaptureNV;
30105     alias fn_glVideoCaptureStreamParameterdvNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params) @system @nogc nothrow;
30106     /// Ditto
30107     @OpenGL_Version(OGLIntroducedIn.Unknown)
30108     @OpenGL_Extension("GL_NV_video_capture")
30109     fn_glVideoCaptureStreamParameterdvNV glVideoCaptureStreamParameterdvNV;
30110     alias fn_glVideoCaptureStreamParameterfvNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params) @system @nogc nothrow;
30111     /// Ditto
30112     @OpenGL_Version(OGLIntroducedIn.Unknown)
30113     @OpenGL_Extension("GL_NV_video_capture")
30114     fn_glVideoCaptureStreamParameterfvNV glVideoCaptureStreamParameterfvNV;
30115     alias fn_glVideoCaptureStreamParameterivNV = extern(C) void function(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params) @system @nogc nothrow;
30116     /// Ditto
30117     @OpenGL_Version(OGLIntroducedIn.Unknown)
30118     @OpenGL_Extension("GL_NV_video_capture")
30119     fn_glVideoCaptureStreamParameterivNV glVideoCaptureStreamParameterivNV;
30120     alias fn_glViewportArrayvNV = extern(C) void function(GLuint first, GLsizei count, const GLfloat* v) @system @nogc nothrow;
30121     /// Ditto
30122     @OpenGL_Version(OGLIntroducedIn.Unknown)
30123     @OpenGL_Extension("GL_NV_viewport_array")
30124     fn_glViewportArrayvNV glViewportArrayvNV;
30125     alias fn_glViewportArrayvOES = extern(C) void function(GLuint first, GLsizei count, const GLfloat* v) @system @nogc nothrow;
30126     /// Ditto
30127     @OpenGL_Version(OGLIntroducedIn.Unknown)
30128     @OpenGL_Extension("GL_OES_viewport_array")
30129     fn_glViewportArrayvOES glViewportArrayvOES;
30130     alias fn_glViewportIndexedfOES = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) @system @nogc nothrow;
30131     /// Ditto
30132     @OpenGL_Version(OGLIntroducedIn.Unknown)
30133     @OpenGL_Extension("GL_OES_viewport_array")
30134     fn_glViewportIndexedfOES glViewportIndexedfOES;
30135     alias fn_glViewportIndexedfNV = extern(C) void function(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) @system @nogc nothrow;
30136     /// Ditto
30137     @OpenGL_Version(OGLIntroducedIn.Unknown)
30138     @OpenGL_Extension("GL_NV_viewport_array")
30139     fn_glViewportIndexedfNV glViewportIndexedfNV;
30140     alias fn_glViewportIndexedfv = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
30141     /// Ditto
30142     @OpenGL_Version(OGLIntroducedIn.V4P1)
30143     @OpenGL_Extension("GL_ARB_viewport_array")
30144     fn_glViewportIndexedfv glViewportIndexedfv;
30145     alias fn_glViewportIndexedfvOES = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
30146     /// Ditto
30147     @OpenGL_Version(OGLIntroducedIn.Unknown)
30148     @OpenGL_Extension("GL_OES_viewport_array")
30149     fn_glViewportIndexedfvOES glViewportIndexedfvOES;
30150     alias fn_glViewportIndexedfvNV = extern(C) void function(GLuint index, const GLfloat* v) @system @nogc nothrow;
30151     /// Ditto
30152     @OpenGL_Version(OGLIntroducedIn.Unknown)
30153     @OpenGL_Extension("GL_NV_viewport_array")
30154     fn_glViewportIndexedfvNV glViewportIndexedfvNV;
30155     alias fn_glViewportPositionWScaleNV = extern(C) void function(GLuint index, GLfloat xcoeff, GLfloat ycoeff) @system @nogc nothrow;
30156     /// Ditto
30157     @OpenGL_Version(OGLIntroducedIn.Unknown)
30158     @OpenGL_Extension("GL_NV_clip_space_w_scaling")
30159     fn_glViewportPositionWScaleNV glViewportPositionWScaleNV;
30160     alias fn_glViewportSwizzleNV = extern(C) void function(GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew) @system @nogc nothrow;
30161     /// Ditto
30162     @OpenGL_Version(OGLIntroducedIn.Unknown)
30163     @OpenGL_Extension("GL_NV_viewport_swizzle")
30164     fn_glViewportSwizzleNV glViewportSwizzleNV;
30165     alias fn_glWaitSyncAPPLE = extern(C) void function(GLsync sync, GLbitfield flags, GLuint64 timeout) @system @nogc nothrow;
30166     /// Ditto
30167     @OpenGL_Version(OGLIntroducedIn.Unknown)
30168     @OpenGL_Extension("GL_APPLE_sync")
30169     fn_glWaitSyncAPPLE glWaitSyncAPPLE;
30170     alias fn_glWeightPathsNV = extern(C) void function(GLuint resultPath, GLsizei numPaths, const GLuint* paths, const GLfloat* weights) @system @nogc nothrow;
30171     /// Ditto
30172     @OpenGL_Version(OGLIntroducedIn.Unknown)
30173     @OpenGL_Extension("GL_NV_path_rendering")
30174     fn_glWeightPathsNV glWeightPathsNV;
30175     alias fn_glWeightPointerARB = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
30176     /// Ditto
30177     @OpenGL_Version(OGLIntroducedIn.Unknown)
30178     @OpenGL_Extension("GL_ARB_vertex_blend")
30179     fn_glWeightPointerARB glWeightPointerARB;
30180     alias fn_glWeightPointerOES = extern(C) void function(GLint size, GLenum type, GLsizei stride, const void* pointer) @system @nogc nothrow;
30181     /// Ditto
30182     @OpenGL_Version(OGLIntroducedIn.Unknown)
30183     @OpenGL_Extension("GL_OES_matrix_palette")
30184     fn_glWeightPointerOES glWeightPointerOES;
30185     alias fn_glWeightbvARB = extern(C) void function(GLint size, const GLbyte* weights) @system @nogc nothrow;
30186     /// Ditto
30187     @OpenGL_Version(OGLIntroducedIn.Unknown)
30188     @OpenGL_Extension("GL_ARB_vertex_blend")
30189     fn_glWeightbvARB glWeightbvARB;
30190     alias fn_glWeightdvARB = extern(C) void function(GLint size, const GLdouble* weights) @system @nogc nothrow;
30191     /// Ditto
30192     @OpenGL_Version(OGLIntroducedIn.Unknown)
30193     @OpenGL_Extension("GL_ARB_vertex_blend")
30194     fn_glWeightdvARB glWeightdvARB;
30195     alias fn_glWeightfvARB = extern(C) void function(GLint size, const GLfloat* weights) @system @nogc nothrow;
30196     /// Ditto
30197     @OpenGL_Version(OGLIntroducedIn.Unknown)
30198     @OpenGL_Extension("GL_ARB_vertex_blend")
30199     fn_glWeightfvARB glWeightfvARB;
30200     alias fn_glWeightivARB = extern(C) void function(GLint size, const GLint* weights) @system @nogc nothrow;
30201     /// Ditto
30202     @OpenGL_Version(OGLIntroducedIn.Unknown)
30203     @OpenGL_Extension("GL_ARB_vertex_blend")
30204     fn_glWeightivARB glWeightivARB;
30205     alias fn_glWeightsvARB = extern(C) void function(GLint size, const GLshort* weights) @system @nogc nothrow;
30206     /// Ditto
30207     @OpenGL_Version(OGLIntroducedIn.Unknown)
30208     @OpenGL_Extension("GL_ARB_vertex_blend")
30209     fn_glWeightsvARB glWeightsvARB;
30210     alias fn_glWeightubvARB = extern(C) void function(GLint size, const(GLubyte)* weights) @system @nogc nothrow;
30211     /// Ditto
30212     @OpenGL_Version(OGLIntroducedIn.Unknown)
30213     @OpenGL_Extension("GL_ARB_vertex_blend")
30214     fn_glWeightubvARB glWeightubvARB;
30215     alias fn_glWeightuivARB = extern(C) void function(GLint size, const GLuint* weights) @system @nogc nothrow;
30216     /// Ditto
30217     @OpenGL_Version(OGLIntroducedIn.Unknown)
30218     @OpenGL_Extension("GL_ARB_vertex_blend")
30219     fn_glWeightuivARB glWeightuivARB;
30220     alias fn_glWeightusvARB = extern(C) void function(GLint size, const GLushort* weights) @system @nogc nothrow;
30221     /// Ditto
30222     @OpenGL_Version(OGLIntroducedIn.Unknown)
30223     @OpenGL_Extension("GL_ARB_vertex_blend")
30224     fn_glWeightusvARB glWeightusvARB;
30225     alias fn_glWindowPos2d = extern(C) void function(GLdouble x, GLdouble y) @system @nogc nothrow;
30226     /// Ditto
30227     @OpenGL_Version(OGLIntroducedIn.V1P4)
30228     fn_glWindowPos2d glWindowPos2d;
30229     alias fn_glWindowPos2dARB = extern(C) void function(GLdouble x, GLdouble y) @system @nogc nothrow;
30230     /// Ditto
30231     @OpenGL_Version(OGLIntroducedIn.Unknown)
30232     @OpenGL_Extension("GL_ARB_window_pos")
30233     fn_glWindowPos2dARB glWindowPos2dARB;
30234     alias fn_glWindowPos2dMESA = extern(C) void function(GLdouble x, GLdouble y) @system @nogc nothrow;
30235     /// Ditto
30236     @OpenGL_Version(OGLIntroducedIn.Unknown)
30237     @OpenGL_Extension("GL_MESA_window_pos")
30238     fn_glWindowPos2dMESA glWindowPos2dMESA;
30239     alias fn_glWindowPos2dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30240     /// Ditto
30241     @OpenGL_Version(OGLIntroducedIn.V1P4)
30242     fn_glWindowPos2dv glWindowPos2dv;
30243     alias fn_glWindowPos2dvARB = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30244     /// Ditto
30245     @OpenGL_Version(OGLIntroducedIn.Unknown)
30246     @OpenGL_Extension("GL_ARB_window_pos")
30247     fn_glWindowPos2dvARB glWindowPos2dvARB;
30248     alias fn_glWindowPos2dvMESA = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30249     /// Ditto
30250     @OpenGL_Version(OGLIntroducedIn.Unknown)
30251     @OpenGL_Extension("GL_MESA_window_pos")
30252     fn_glWindowPos2dvMESA glWindowPos2dvMESA;
30253     alias fn_glWindowPos2f = extern(C) void function(GLfloat x, GLfloat y) @system @nogc nothrow;
30254     /// Ditto
30255     @OpenGL_Version(OGLIntroducedIn.V1P4)
30256     fn_glWindowPos2f glWindowPos2f;
30257     alias fn_glWindowPos2fARB = extern(C) void function(GLfloat x, GLfloat y) @system @nogc nothrow;
30258     /// Ditto
30259     @OpenGL_Version(OGLIntroducedIn.Unknown)
30260     @OpenGL_Extension("GL_ARB_window_pos")
30261     fn_glWindowPos2fARB glWindowPos2fARB;
30262     alias fn_glWindowPos2fMESA = extern(C) void function(GLfloat x, GLfloat y) @system @nogc nothrow;
30263     /// Ditto
30264     @OpenGL_Version(OGLIntroducedIn.Unknown)
30265     @OpenGL_Extension("GL_MESA_window_pos")
30266     fn_glWindowPos2fMESA glWindowPos2fMESA;
30267     alias fn_glWindowPos2fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30268     /// Ditto
30269     @OpenGL_Version(OGLIntroducedIn.V1P4)
30270     fn_glWindowPos2fv glWindowPos2fv;
30271     alias fn_glWindowPos2fvARB = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30272     /// Ditto
30273     @OpenGL_Version(OGLIntroducedIn.Unknown)
30274     @OpenGL_Extension("GL_ARB_window_pos")
30275     fn_glWindowPos2fvARB glWindowPos2fvARB;
30276     alias fn_glWindowPos2fvMESA = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30277     /// Ditto
30278     @OpenGL_Version(OGLIntroducedIn.Unknown)
30279     @OpenGL_Extension("GL_MESA_window_pos")
30280     fn_glWindowPos2fvMESA glWindowPos2fvMESA;
30281     alias fn_glWindowPos2i = extern(C) void function(GLint x, GLint y) @system @nogc nothrow;
30282     /// Ditto
30283     @OpenGL_Version(OGLIntroducedIn.V1P4)
30284     fn_glWindowPos2i glWindowPos2i;
30285     alias fn_glWindowPos2iARB = extern(C) void function(GLint x, GLint y) @system @nogc nothrow;
30286     /// Ditto
30287     @OpenGL_Version(OGLIntroducedIn.Unknown)
30288     @OpenGL_Extension("GL_ARB_window_pos")
30289     fn_glWindowPos2iARB glWindowPos2iARB;
30290     alias fn_glWindowPos2iMESA = extern(C) void function(GLint x, GLint y) @system @nogc nothrow;
30291     /// Ditto
30292     @OpenGL_Version(OGLIntroducedIn.Unknown)
30293     @OpenGL_Extension("GL_MESA_window_pos")
30294     fn_glWindowPos2iMESA glWindowPos2iMESA;
30295     alias fn_glWindowPos2iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
30296     /// Ditto
30297     @OpenGL_Version(OGLIntroducedIn.V1P4)
30298     fn_glWindowPos2iv glWindowPos2iv;
30299     alias fn_glWindowPos2ivARB = extern(C) void function(const GLint* v) @system @nogc nothrow;
30300     /// Ditto
30301     @OpenGL_Version(OGLIntroducedIn.Unknown)
30302     @OpenGL_Extension("GL_ARB_window_pos")
30303     fn_glWindowPos2ivARB glWindowPos2ivARB;
30304     alias fn_glWindowPos2ivMESA = extern(C) void function(const GLint* v) @system @nogc nothrow;
30305     /// Ditto
30306     @OpenGL_Version(OGLIntroducedIn.Unknown)
30307     @OpenGL_Extension("GL_MESA_window_pos")
30308     fn_glWindowPos2ivMESA glWindowPos2ivMESA;
30309     alias fn_glWindowPos2s = extern(C) void function(GLshort x, GLshort y) @system @nogc nothrow;
30310     /// Ditto
30311     @OpenGL_Version(OGLIntroducedIn.V1P4)
30312     fn_glWindowPos2s glWindowPos2s;
30313     alias fn_glWindowPos2sARB = extern(C) void function(GLshort x, GLshort y) @system @nogc nothrow;
30314     /// Ditto
30315     @OpenGL_Version(OGLIntroducedIn.Unknown)
30316     @OpenGL_Extension("GL_ARB_window_pos")
30317     fn_glWindowPos2sARB glWindowPos2sARB;
30318     alias fn_glWindowPos2sMESA = extern(C) void function(GLshort x, GLshort y) @system @nogc nothrow;
30319     /// Ditto
30320     @OpenGL_Version(OGLIntroducedIn.Unknown)
30321     @OpenGL_Extension("GL_MESA_window_pos")
30322     fn_glWindowPos2sMESA glWindowPos2sMESA;
30323     alias fn_glWindowPos2sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30324     /// Ditto
30325     @OpenGL_Version(OGLIntroducedIn.V1P4)
30326     fn_glWindowPos2sv glWindowPos2sv;
30327     alias fn_glWindowPos2svARB = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30328     /// Ditto
30329     @OpenGL_Version(OGLIntroducedIn.Unknown)
30330     @OpenGL_Extension("GL_ARB_window_pos")
30331     fn_glWindowPos2svARB glWindowPos2svARB;
30332     alias fn_glWindowPos2svMESA = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30333     /// Ditto
30334     @OpenGL_Version(OGLIntroducedIn.Unknown)
30335     @OpenGL_Extension("GL_MESA_window_pos")
30336     fn_glWindowPos2svMESA glWindowPos2svMESA;
30337     alias fn_glWindowPos3d = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
30338     /// Ditto
30339     @OpenGL_Version(OGLIntroducedIn.V1P4)
30340     fn_glWindowPos3d glWindowPos3d;
30341     alias fn_glWindowPos3dARB = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
30342     /// Ditto
30343     @OpenGL_Version(OGLIntroducedIn.Unknown)
30344     @OpenGL_Extension("GL_ARB_window_pos")
30345     fn_glWindowPos3dARB glWindowPos3dARB;
30346     alias fn_glWindowPos3dMESA = extern(C) void function(GLdouble x, GLdouble y, GLdouble z) @system @nogc nothrow;
30347     /// Ditto
30348     @OpenGL_Version(OGLIntroducedIn.Unknown)
30349     @OpenGL_Extension("GL_MESA_window_pos")
30350     fn_glWindowPos3dMESA glWindowPos3dMESA;
30351     alias fn_glWindowPos3dv = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30352     /// Ditto
30353     @OpenGL_Version(OGLIntroducedIn.V1P4)
30354     fn_glWindowPos3dv glWindowPos3dv;
30355     alias fn_glWindowPos3dvARB = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30356     /// Ditto
30357     @OpenGL_Version(OGLIntroducedIn.Unknown)
30358     @OpenGL_Extension("GL_ARB_window_pos")
30359     fn_glWindowPos3dvARB glWindowPos3dvARB;
30360     alias fn_glWindowPos3dvMESA = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30361     /// Ditto
30362     @OpenGL_Version(OGLIntroducedIn.Unknown)
30363     @OpenGL_Extension("GL_MESA_window_pos")
30364     fn_glWindowPos3dvMESA glWindowPos3dvMESA;
30365     alias fn_glWindowPos3f = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
30366     /// Ditto
30367     @OpenGL_Version(OGLIntroducedIn.V1P4)
30368     fn_glWindowPos3f glWindowPos3f;
30369     alias fn_glWindowPos3fARB = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
30370     /// Ditto
30371     @OpenGL_Version(OGLIntroducedIn.Unknown)
30372     @OpenGL_Extension("GL_ARB_window_pos")
30373     fn_glWindowPos3fARB glWindowPos3fARB;
30374     alias fn_glWindowPos3fMESA = extern(C) void function(GLfloat x, GLfloat y, GLfloat z) @system @nogc nothrow;
30375     /// Ditto
30376     @OpenGL_Version(OGLIntroducedIn.Unknown)
30377     @OpenGL_Extension("GL_MESA_window_pos")
30378     fn_glWindowPos3fMESA glWindowPos3fMESA;
30379     alias fn_glWindowPos3fv = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30380     /// Ditto
30381     @OpenGL_Version(OGLIntroducedIn.V1P4)
30382     fn_glWindowPos3fv glWindowPos3fv;
30383     alias fn_glWindowPos3fvARB = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30384     /// Ditto
30385     @OpenGL_Version(OGLIntroducedIn.Unknown)
30386     @OpenGL_Extension("GL_ARB_window_pos")
30387     fn_glWindowPos3fvARB glWindowPos3fvARB;
30388     alias fn_glWindowPos3fvMESA = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30389     /// Ditto
30390     @OpenGL_Version(OGLIntroducedIn.Unknown)
30391     @OpenGL_Extension("GL_MESA_window_pos")
30392     fn_glWindowPos3fvMESA glWindowPos3fvMESA;
30393     alias fn_glWindowPos3i = extern(C) void function(GLint x, GLint y, GLint z) @system @nogc nothrow;
30394     /// Ditto
30395     @OpenGL_Version(OGLIntroducedIn.V1P4)
30396     fn_glWindowPos3i glWindowPos3i;
30397     alias fn_glWindowPos3iARB = extern(C) void function(GLint x, GLint y, GLint z) @system @nogc nothrow;
30398     /// Ditto
30399     @OpenGL_Version(OGLIntroducedIn.Unknown)
30400     @OpenGL_Extension("GL_ARB_window_pos")
30401     fn_glWindowPos3iARB glWindowPos3iARB;
30402     alias fn_glWindowPos3iMESA = extern(C) void function(GLint x, GLint y, GLint z) @system @nogc nothrow;
30403     /// Ditto
30404     @OpenGL_Version(OGLIntroducedIn.Unknown)
30405     @OpenGL_Extension("GL_MESA_window_pos")
30406     fn_glWindowPos3iMESA glWindowPos3iMESA;
30407     alias fn_glWindowPos3iv = extern(C) void function(const GLint* v) @system @nogc nothrow;
30408     /// Ditto
30409     @OpenGL_Version(OGLIntroducedIn.V1P4)
30410     fn_glWindowPos3iv glWindowPos3iv;
30411     alias fn_glWindowPos3ivARB = extern(C) void function(const GLint* v) @system @nogc nothrow;
30412     /// Ditto
30413     @OpenGL_Version(OGLIntroducedIn.Unknown)
30414     @OpenGL_Extension("GL_ARB_window_pos")
30415     fn_glWindowPos3ivARB glWindowPos3ivARB;
30416     alias fn_glWindowPos3ivMESA = extern(C) void function(const GLint* v) @system @nogc nothrow;
30417     /// Ditto
30418     @OpenGL_Version(OGLIntroducedIn.Unknown)
30419     @OpenGL_Extension("GL_MESA_window_pos")
30420     fn_glWindowPos3ivMESA glWindowPos3ivMESA;
30421     alias fn_glWindowPos3s = extern(C) void function(GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
30422     /// Ditto
30423     @OpenGL_Version(OGLIntroducedIn.V1P4)
30424     fn_glWindowPos3s glWindowPos3s;
30425     alias fn_glWindowPos3sARB = extern(C) void function(GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
30426     /// Ditto
30427     @OpenGL_Version(OGLIntroducedIn.Unknown)
30428     @OpenGL_Extension("GL_ARB_window_pos")
30429     fn_glWindowPos3sARB glWindowPos3sARB;
30430     alias fn_glWindowPos3sMESA = extern(C) void function(GLshort x, GLshort y, GLshort z) @system @nogc nothrow;
30431     /// Ditto
30432     @OpenGL_Version(OGLIntroducedIn.Unknown)
30433     @OpenGL_Extension("GL_MESA_window_pos")
30434     fn_glWindowPos3sMESA glWindowPos3sMESA;
30435     alias fn_glWindowPos3sv = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30436     /// Ditto
30437     @OpenGL_Version(OGLIntroducedIn.V1P4)
30438     fn_glWindowPos3sv glWindowPos3sv;
30439     alias fn_glWindowPos3svARB = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30440     /// Ditto
30441     @OpenGL_Version(OGLIntroducedIn.Unknown)
30442     @OpenGL_Extension("GL_ARB_window_pos")
30443     fn_glWindowPos3svARB glWindowPos3svARB;
30444     alias fn_glWindowPos3svMESA = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30445     /// Ditto
30446     @OpenGL_Version(OGLIntroducedIn.Unknown)
30447     @OpenGL_Extension("GL_MESA_window_pos")
30448     fn_glWindowPos3svMESA glWindowPos3svMESA;
30449     alias fn_glWindowPos4dMESA = extern(C) void function(GLdouble x, GLdouble y, GLdouble z, GLdouble w) @system @nogc nothrow;
30450     /// Ditto
30451     @OpenGL_Version(OGLIntroducedIn.Unknown)
30452     @OpenGL_Extension("GL_MESA_window_pos")
30453     fn_glWindowPos4dMESA glWindowPos4dMESA;
30454     alias fn_glWindowPos4dvMESA = extern(C) void function(const GLdouble* v) @system @nogc nothrow;
30455     /// Ditto
30456     @OpenGL_Version(OGLIntroducedIn.Unknown)
30457     @OpenGL_Extension("GL_MESA_window_pos")
30458     fn_glWindowPos4dvMESA glWindowPos4dvMESA;
30459     alias fn_glWindowPos4fMESA = extern(C) void function(GLfloat x, GLfloat y, GLfloat z, GLfloat w) @system @nogc nothrow;
30460     /// Ditto
30461     @OpenGL_Version(OGLIntroducedIn.Unknown)
30462     @OpenGL_Extension("GL_MESA_window_pos")
30463     fn_glWindowPos4fMESA glWindowPos4fMESA;
30464     alias fn_glWindowPos4fvMESA = extern(C) void function(const GLfloat* v) @system @nogc nothrow;
30465     /// Ditto
30466     @OpenGL_Version(OGLIntroducedIn.Unknown)
30467     @OpenGL_Extension("GL_MESA_window_pos")
30468     fn_glWindowPos4fvMESA glWindowPos4fvMESA;
30469     alias fn_glWindowPos4iMESA = extern(C) void function(GLint x, GLint y, GLint z, GLint w) @system @nogc nothrow;
30470     /// Ditto
30471     @OpenGL_Version(OGLIntroducedIn.Unknown)
30472     @OpenGL_Extension("GL_MESA_window_pos")
30473     fn_glWindowPos4iMESA glWindowPos4iMESA;
30474     alias fn_glWindowPos4ivMESA = extern(C) void function(const GLint* v) @system @nogc nothrow;
30475     /// Ditto
30476     @OpenGL_Version(OGLIntroducedIn.Unknown)
30477     @OpenGL_Extension("GL_MESA_window_pos")
30478     fn_glWindowPos4ivMESA glWindowPos4ivMESA;
30479     alias fn_glWindowPos4sMESA = extern(C) void function(GLshort x, GLshort y, GLshort z, GLshort w) @system @nogc nothrow;
30480     /// Ditto
30481     @OpenGL_Version(OGLIntroducedIn.Unknown)
30482     @OpenGL_Extension("GL_MESA_window_pos")
30483     fn_glWindowPos4sMESA glWindowPos4sMESA;
30484     alias fn_glWindowPos4svMESA = extern(C) void function(const GLshort* v) @system @nogc nothrow;
30485     /// Ditto
30486     @OpenGL_Version(OGLIntroducedIn.Unknown)
30487     @OpenGL_Extension("GL_MESA_window_pos")
30488     fn_glWindowPos4svMESA glWindowPos4svMESA;
30489     alias fn_glWindowRectanglesEXT = extern(C) void function(GLenum mode, GLsizei count, const GLint* box) @system @nogc nothrow;
30490     /// Ditto
30491     @OpenGL_Version(OGLIntroducedIn.Unknown)
30492     @OpenGL_Extension("GL_EXT_window_rectangles")
30493     fn_glWindowRectanglesEXT glWindowRectanglesEXT;
30494     alias fn_glWriteMaskEXT = extern(C) void function(GLuint res, GLuint in_, GLenum outX, GLenum outY, GLenum outZ, GLenum outW) @system @nogc nothrow;
30495     /// Ditto
30496     @OpenGL_Version(OGLIntroducedIn.Unknown)
30497     @OpenGL_Extension("GL_EXT_vertex_shader")
30498     fn_glWriteMaskEXT glWriteMaskEXT;