egedit: do not save cursor movement in undo -- this is my stupid habit, and it comple...
[iv.d.git] / _obsolete_dont_use / opengl / arb.d
blob1f37434841c48de7c5c9326e2806e5c83c554b9a
1 /*
2 Boost Software License - Version 1.0 - August 17th, 2003
4 Permission is hereby granted, free of charge, to any person or organization
5 obtaining a copy of the software and accompanying documentation covered by
6 this license (the "Software") to use, reproduce, display, distribute,
7 execute, and transmit the Software, and to prepare derivative works of the
8 Software, and to permit third-parties to whom the Software is furnished to
9 do so, all subject to the following:
11 The copyright notices in the Software and this entire statement, including
12 the above license grant, this restriction and the following disclaimer,
13 must be included in all copies of the Software, in whole or in part, and
14 all derivative works of the Software, unless such copies or derivative
15 works are solely in the form of machine-executable object code generated by
16 a source language processor.
18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
21 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
22 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
23 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 DEALINGS IN THE SOFTWARE.
26 module iv.opengl.arb;
28 import iv.opengl.gl;
30 // Part of ARB_sync
31 enum ulong GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF;
33 enum : uint {
34 // ARB_depth_buffer_float
35 GL_DEPTH_COMPONENT32F = 0x8CAC,
36 GL_DEPTH32F_STENCIL8 = 0x8CAD,
37 GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD,
39 // ARB_framebuffer_object
40 GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506,
41 GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210,
42 GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211,
43 GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212,
44 GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213,
45 GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214,
46 GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215,
47 GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216,
48 GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217,
49 GL_FRAMEBUFFER_DEFAULT = 0x8218,
50 GL_FRAMEBUFFER_UNDEFINED = 0x8219,
51 GL_DEPTH_STENCIL_ATTACHMENT = 0x821A,
52 GL_MAX_RENDERBUFFER_SIZE = 0x84E8,
53 GL_DEPTH_STENCIL = 0x84F9,
54 GL_UNSIGNED_INT_24_8 = 0x84FA,
55 GL_DEPTH24_STENCIL8 = 0x88F0,
56 GL_TEXTURE_STENCIL_SIZE = 0x88F1,
57 GL_TEXTURE_RED_TYPE = 0x8C10,
58 GL_TEXTURE_GREEN_TYPE = 0x8C11,
59 GL_TEXTURE_BLUE_TYPE = 0x8C12,
60 GL_TEXTURE_ALPHA_TYPE = 0x8C13,
61 GL_TEXTURE_DEPTH_TYPE = 0x8C16,
62 GL_UNSIGNED_NORMALIZED = 0x8C17,
63 GL_FRAMEBUFFER_BINDING = 0x8CA6,
64 GL_DRAW_FRAMEBUFFER_BINDING = GL_FRAMEBUFFER_BINDING,
65 GL_RENDERBUFFER_BINDING = 0x8CA7,
66 GL_READ_FRAMEBUFFER = 0x8CA8,
67 GL_DRAW_FRAMEBUFFER = 0x8CA9,
68 GL_READ_FRAMEBUFFER_BINDING = 0x8CAA,
69 GL_RENDERBUFFER_SAMPLES = 0x8CAB,
70 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0,
71 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1,
72 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2,
73 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3,
74 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4,
75 GL_FRAMEBUFFER_COMPLETE = 0x8CD5,
76 GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6,
77 GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7,
78 GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB,
79 GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC,
80 GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD,
81 GL_MAX_COLOR_ATTACHMENTS = 0x8CDF,
82 GL_COLOR_ATTACHMENT0 = 0x8CE0,
83 GL_COLOR_ATTACHMENT1 = 0x8CE1,
84 GL_COLOR_ATTACHMENT2 = 0x8CE2,
85 GL_COLOR_ATTACHMENT3 = 0x8CE3,
86 GL_COLOR_ATTACHMENT4 = 0x8CE4,
87 GL_COLOR_ATTACHMENT5 = 0x8CE5,
88 GL_COLOR_ATTACHMENT6 = 0x8CE6,
89 GL_COLOR_ATTACHMENT7 = 0x8CE7,
90 GL_COLOR_ATTACHMENT8 = 0x8CE8,
91 GL_COLOR_ATTACHMENT9 = 0x8CE9,
92 GL_COLOR_ATTACHMENT10 = 0x8CEA,
93 GL_COLOR_ATTACHMENT11 = 0x8CEB,
94 GL_COLOR_ATTACHMENT12 = 0x8CEC,
95 GL_COLOR_ATTACHMENT13 = 0x8CED,
96 GL_COLOR_ATTACHMENT14 = 0x8CEE,
97 GL_COLOR_ATTACHMENT15 = 0x8CEF,
98 GL_DEPTH_ATTACHMENT = 0x8D00,
99 GL_STENCIL_ATTACHMENT = 0x8D20,
100 GL_FRAMEBUFFER = 0x8D40,
101 GL_RENDERBUFFER = 0x8D41,
102 GL_RENDERBUFFER_WIDTH = 0x8D42,
103 GL_RENDERBUFFER_HEIGHT = 0x8D43,
104 GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44,
105 GL_STENCIL_INDEX1 = 0x8D46,
106 GL_STENCIL_INDEX4 = 0x8D47,
107 GL_STENCIL_INDEX8 = 0x8D48,
108 GL_STENCIL_INDEX16 = 0x8D49,
109 GL_RENDERBUFFER_RED_SIZE = 0x8D50,
110 GL_RENDERBUFFER_GREEN_SIZE = 0x8D51,
111 GL_RENDERBUFFER_BLUE_SIZE = 0x8D52,
112 GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53,
113 GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54,
114 GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55,
115 GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56,
116 GL_MAX_SAMPLES = 0x8D57,
118 // ARB_framebuffer_sRGB
119 GL_FRAMEBUFFER_SRGB = 0x8DB9,
121 // ARB_geometry_shader4
122 GL_LINES_ADJACENCY_ARB = 0x000A,
123 GL_LINE_STRIP_ADJACENCY_ARB = 0x000B,
124 GL_TRIANGLES_ADJACENCY_ARB = 0x000C,
125 GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D,
126 GL_PROGRAM_POINT_SIZE_ARB = 0x8642,
127 GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29,
128 GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7,
129 GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8,
130 GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9,
131 GL_GEOMETRY_SHADER_ARB = 0x8DD9,
132 GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA,
133 GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB,
134 GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC,
135 GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD,
136 GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE,
137 GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF,
138 GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0,
139 GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1,
141 // ARB_half_float_vertex
142 GL_HALF_FLOAT = 0x140B,
144 // ARB_map_buffer_range
145 GL_MAP_READ_BIT = 0x0001,
146 GL_MAP_WRITE_BIT = 0x0002,
147 GL_MAP_INVALIDATE_RANGE_BIT = 0x0004,
148 GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008,
149 GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010,
150 GL_MAP_UNSYNCHRONIZED_BIT = 0x0020,
152 // ARB_texture_compression_rgtc
153 GL_COMPRESSED_RED_RGTC1 = 0x8DBB,
154 GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC,
155 GL_COMPRESSED_RG_RGTC2 = 0x8DBD,
156 GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE,
158 // ARB_texture_rg
159 GL_RG = 0x8227,
160 GL_RG_INTEGER = 0x8228,
161 GL_R8 = 0x8229,
162 GL_R16 = 0x822A,
163 GL_RG8 = 0x822B,
164 GL_RG16 = 0x822C,
165 GL_R16F = 0x822D,
166 GL_R32F = 0x822E,
167 GL_RG16F = 0x822F,
168 GL_RG32F = 0x8230,
169 GL_R8I = 0x8231,
170 GL_R8UI = 0x8232,
171 GL_R16I = 0x8233,
172 GL_R16UI = 0x8234,
173 GL_R32I = 0x8235,
174 GL_R32UI = 0x8236,
175 GL_RG8I = 0x8237,
176 GL_RG8UI = 0x8238,
177 GL_RG16I = 0x8239,
178 GL_RG16UI = 0x823A,
179 GL_RG32I = 0x823B,
180 GL_RG32UI = 0x823C,
182 // ARB_vertex_array_object
183 GL_VERTEX_ARRAY_BINDING = 0x85B5,
185 // ARB_uniform_buffer_object
186 GL_UNIFORM_BUFFER = 0x8A11,
187 GL_UNIFORM_BUFFER_BINDING = 0x8A28,
188 GL_UNIFORM_BUFFER_START = 0x8A29,
189 GL_UNIFORM_BUFFER_SIZE = 0x8A2A,
190 GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B,
191 GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C,
192 GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D,
193 GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E,
194 GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F,
195 GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30,
196 GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31,
197 GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32,
198 GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33,
199 GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34,
200 GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35,
201 GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36,
202 GL_UNIFORM_TYPE = 0x8A37,
203 GL_UNIFORM_SIZE = 0x8A38,
204 GL_UNIFORM_NAME_LENGTH = 0x8A39,
205 GL_UNIFORM_BLOCK_INDEX = 0x8A3A,
206 GL_UNIFORM_OFFSET = 0x8A3B,
207 GL_UNIFORM_ARRAY_STRIDE = 0x8A3C,
208 GL_UNIFORM_MATRIX_STRIDE = 0x8A3D,
209 GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E,
210 GL_UNIFORM_BLOCK_BINDING = 0x8A3F,
211 GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40,
212 GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41,
213 GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42,
214 GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43,
215 GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44,
216 GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45,
217 GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46,
218 GL_INVALID_INDEX = 0xFFFFFFFFu,
220 // ARB_copy_buffer
221 GL_COPY_READ_BUFFER = 0x8F36,
222 GL_COPY_WRITE_BUFFER = 0x8F37,
224 // ARB_depth_clamp
225 GL_DEPTH_CLAMP = 0x864F,
227 // ARB_provoking_vertex
228 GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C,
229 GL_FIRST_VERTEX_CONVENTION = 0x8E4D,
230 GL_LAST_VERTEX_CONVENTION = 0x8E4E,
231 GL_PROVOKING_VERTEX = 0x8E4F,
233 // ARB_seamless_cube_map
234 GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F,
236 // ARB_sync
237 GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111,
238 GL_OBJECT_TYPE = 0x9112,
239 GL_SYNC_CONDITION = 0x9113,
240 GL_SYNC_STATUS = 0x9114,
241 GL_SYNC_FLAGS = 0x9115,
242 GL_SYNC_FENCE = 0x9116,
243 GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117,
244 GL_UNSIGNALED = 0x9118,
245 GL_SIGNALED = 0x9119,
246 GL_ALREADY_SIGNALED = 0x911A,
247 GL_TIMEOUT_EXPIRED = 0x911B,
248 GL_CONDITION_SATISFIED = 0x911C,
249 GL_WAIT_FAILED = 0x911D,
250 GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001,
252 // ARB_texture_multisample
253 GL_SAMPLE_POSITION = 0x8E50,
254 GL_SAMPLE_MASK = 0x8E51,
255 GL_SAMPLE_MASK_VALUE = 0x8E52,
256 GL_MAX_SAMPLE_MASK_WORDS = 0x8E59,
257 GL_TEXTURE_2D_MULTISAMPLE = 0x9100,
258 GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101,
259 GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102,
260 GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103,
261 GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104,
262 GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105,
263 GL_TEXTURE_SAMPLES = 0x9106,
264 GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107,
265 GL_SAMPLER_2D_MULTISAMPLE = 0x9108,
266 GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109,
267 GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A,
268 GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B,
269 GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C,
270 GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D,
271 GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E,
272 GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F,
273 GL_MAX_INTEGER_SAMPLES = 0x9110,
275 // ARB_sample_shading
276 GL_SAMPLE_SHADING_ARB = 0x8C36,
277 GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37,
279 // ARB_texture_cube_map_array
280 GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009,
281 GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A,
282 GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B,
283 GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C,
284 GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D,
285 GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E,
286 GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F,
288 // ARB_texture_gather
289 GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E,
290 GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F,
292 // ARB_shading_language_include
293 GL_SHADER_INCLUDE_ARB = 0x8DAE,
294 GL_NAMED_STRING_LENGTH_ARB = 0x8DE9,
295 GL_NAMED_STRING_TYPE_ARB = 0x8DEA,
297 // ARB_texture_compression_bptc
298 GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C,
299 GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D,
300 GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E,
301 GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F,
303 // ARB_blend_func_extended
304 GL_SRC1_COLOR = 0x88F9,
305 GL_ONE_MINUS_SRC1_COLOR = 0x88FA,
306 GL_ONE_MINUS_SRC1_ALPHA = 0x88FB,
307 GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC,
309 // ARB_occlusion_query2
310 GL_ANY_SAMPLES_PASSED = 0x8C2F,
312 // ARB_sampler_objects
313 GL_SAMPLER_BINDING = 0x8919,
315 // ARB_texture_rgb10_a2ui
316 GL_RGB10_A2UI = 0x906F,
318 // ARB_texture_swizzle
319 GL_TEXTURE_SWIZZLE_R = 0x8E42,
320 GL_TEXTURE_SWIZZLE_G = 0x8E43,
321 GL_TEXTURE_SWIZZLE_B = 0x8E44,
322 GL_TEXTURE_SWIZZLE_A = 0x8E45,
323 GL_TEXTURE_SWIZZLE_RGBA = 0x8E46,
325 // ARB_timer_query
326 GL_TIME_ELAPSED = 0x88BF,
327 GL_TIMESTAMP = 0x8E28,
329 // ARB_vertex_type_2_10_10_10_rev
330 GL_INT_2_10_10_10_REV = 0x8D9F,
332 // ARB_draw_indirect
333 GL_DRAW_INDIRECT_BUFFER = 0x8F3F,
334 GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43,
336 // ARB_gpu_shader5
337 GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F,
338 GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A,
339 GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B,
340 GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C,
341 GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D,
343 // ARB_gpu_shader_fp64
344 GL_DOUBLE_VEC2 = 0x8FFC,
345 GL_DOUBLE_VEC3 = 0x8FFD,
346 GL_DOUBLE_VEC4 = 0x8FFE,
347 GL_DOUBLE_MAT2 = 0x8F46,
348 GL_DOUBLE_MAT3 = 0x8F47,
349 GL_DOUBLE_MAT4 = 0x8F48,
350 GL_DOUBLE_MAT2x3 = 0x8F49,
351 GL_DOUBLE_MAT2x4 = 0x8F4A,
352 GL_DOUBLE_MAT3x2 = 0x8F4B,
353 GL_DOUBLE_MAT3x4 = 0x8F4C,
354 GL_DOUBLE_MAT4x2 = 0x8F4D,
355 GL_DOUBLE_MAT4x3 = 0x8F4E,
357 // ARB_shader_subroutine
358 GL_ACTIVE_SUBROUTINES = 0x8DE5,
359 GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6,
360 GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47,
361 GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48,
362 GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49,
363 GL_MAX_SUBROUTINES = 0x8DE7,
364 GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8,
365 GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A,
366 GL_COMPATIBLE_SUBROUTINES = 0x8E4B,
368 // ARB_tessellation_shader
369 GL_PATCHES = 0x000E,
370 GL_PATCH_VERTICES = 0x8E72,
371 GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73,
372 GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74,
373 GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75,
374 GL_TESS_GEN_MODE = 0x8E76,
375 GL_TESS_GEN_SPACING = 0x8E77,
376 GL_TESS_GEN_VERTEX_ORDER = 0x8E78,
377 GL_TESS_GEN_POINT_MODE = 0x8E79,
378 GL_ISOLINES = 0x8E7A,
379 GL_FRACTIONAL_ODD = 0x8E7B,
380 GL_FRACTIONAL_EVEN = 0x8E7C,
381 GL_MAX_PATCH_VERTICES = 0x8E7D,
382 GL_MAX_TESS_GEN_LEVEL = 0x8E7E,
383 GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F,
384 GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80,
385 GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81,
386 GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82,
387 GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83,
388 GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84,
389 GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85,
390 GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86,
391 GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89,
392 GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A,
393 GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C,
394 GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D,
395 GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E,
396 GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F,
397 GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0,
398 GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1,
399 GL_TESS_EVALUATION_SHADER = 0x8E87,
400 GL_TESS_CONTROL_SHADER = 0x8E88,
402 // ARB_transform_feedback2
403 GL_TRANSFORM_FEEDBACK = 0x8E22,
404 GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23,
405 GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24,
406 GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25,
408 // ARB_transform_feedback3
409 GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70,
410 GL_MAX_VERTEX_STREAMS = 0x8E71,
412 // ARB_ES2_compatibility
413 GL_FIXED = 0x140C,
414 GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A,
415 GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B,
416 GL_LOW_FLOAT = 0x8DF0,
417 GL_MEDIUM_FLOAT = 0x8DF1,
418 GL_HIGH_FLOAT = 0x8DF2,
419 GL_LOW_INT = 0x8DF3,
420 GL_MEDIUM_INT = 0x8DF4,
421 GL_HIGH_INT = 0x8DF5,
422 GL_SHADER_COMPILER = 0x8DFA,
423 GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9,
424 GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB,
425 GL_MAX_VARYING_VECTORS = 0x8DFC,
426 GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD,
428 // ARB_get_program_binary
429 GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257,
430 GL_PROGRAM_BINARY_LENGTH = 0x8741,
431 GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE,
432 GL_PROGRAM_BINARY_FORMATS = 0x87FF,
434 // ARB_separate_shader_objects
435 GL_VERTEX_SHADER_BIT = 0x00000001,
436 GL_FRAGMENT_SHADER_BIT = 0x00000002,
437 GL_GEOMETRY_SHADER_BIT = 0x00000004,
438 GL_TESS_CONTROL_SHADER_BIT = 0x00000008,
439 GL_TESS_EVALUATION_SHADER_BIT = 0x00000010,
440 GL_ALL_SHADER_BITS = 0xFFFFFFFF,
441 GL_PROGRAM_SEPARABLE = 0x8258,
442 GL_ACTIVE_PROGRAM = 0x8259,
443 GL_PROGRAM_PIPELINE_BINDING = 0x825A,
445 // ARB_viewport_array
446 GL_MAX_VIEWPORTS = 0x825B,
447 GL_VIEWPORT_SUBPIXEL_BITS = 0x825C,
448 GL_VIEWPORT_BOUNDS_RANGE = 0x825D,
449 GL_LAYER_PROVOKING_VERTEX = 0x825E,
450 GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F,
451 GL_UNDEFINED_VERTEX = 0x8260,
453 // ARB_cl_event
454 GL_SYNC_CL_EVENT_ARB = 0x8240,
455 GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241,
457 // ARB_debug_output
458 GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242,
459 GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243,
460 GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244,
461 GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245,
462 GL_DEBUG_SOURCE_API_ARB = 0x8246,
463 GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247,
464 GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248,
465 GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249,
466 GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A,
467 GL_DEBUG_SOURCE_OTHER_ARB = 0x824B,
468 GL_DEBUG_TYPE_ERROR_ARB = 0x824C,
469 GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D,
470 GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E,
471 GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F,
472 GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250,
473 GL_DEBUG_TYPE_OTHER_ARB = 0x8251,
474 GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143,
475 GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144,
476 GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145,
477 GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146,
478 GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147,
479 GL_DEBUG_SEVERITY_LOW_ARB = 0x9148,
481 // ARB_robustness
482 GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004,
483 GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252,
484 GL_GUILTY_CONTEXT_RESET_ARB = 0x8253,
485 GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254,
486 GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255,
487 GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256,
488 GL_NO_RESET_NOTIFICATION_ARB = 0x8261,
490 // ARB_compressed_texture_pixel_storage
491 GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127,
492 GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128,
493 GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129,
494 GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A,
495 GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B,
496 GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C,
497 GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D,
498 GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E,
500 // ARB_internalformat_query
501 GL_NUM_SAMPLE_COUNTS = 0x9380,
503 // ARB_map_buffer_alignment
504 GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC,
506 // ARB_shader_atomic_counters
507 GL_ATOMIC_COUNTER_BUFFER = 0x92C0,
508 GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1,
509 GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2,
510 GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3,
511 GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4,
512 GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5,
513 GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6,
514 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7,
515 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8,
516 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9,
517 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA,
518 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB,
519 GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC,
520 GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD,
521 GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE,
522 GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF,
523 GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0,
524 GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1,
525 GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2,
526 GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3,
527 GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4,
528 GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5,
529 GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6,
530 GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7,
531 GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8,
532 GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC,
533 GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9,
534 GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA,
535 GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB,
537 // ARB_shader_image_load_store
538 GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001,
539 GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002,
540 GL_UNIFORM_BARRIER_BIT = 0x00000004,
541 GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008,
542 GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020,
543 GL_COMMAND_BARRIER_BIT = 0x00000040,
544 GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080,
545 GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100,
546 GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200,
547 GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400,
548 GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800,
549 GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000,
550 GL_ALL_BARRIER_BITS = 0xFFFFFFFF,
551 GL_MAX_IMAGE_UNITS = 0x8F38,
552 GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39,
553 GL_IMAGE_BINDING_NAME = 0x8F3A,
554 GL_IMAGE_BINDING_LEVEL = 0x8F3B,
555 GL_IMAGE_BINDING_LAYERED = 0x8F3C,
556 GL_IMAGE_BINDING_LAYER = 0x8F3D,
557 GL_IMAGE_BINDING_ACCESS = 0x8F3E,
558 GL_IMAGE_1D = 0x904C,
559 GL_IMAGE_2D = 0x904D,
560 GL_IMAGE_3D = 0x904E,
561 GL_IMAGE_2D_RECT = 0x904F,
562 GL_IMAGE_CUBE = 0x9050,
563 GL_IMAGE_BUFFER = 0x9051,
564 GL_IMAGE_1D_ARRAY = 0x9052,
565 GL_IMAGE_2D_ARRAY = 0x9053,
566 GL_IMAGE_CUBE_MAP_ARRAY = 0x9054,
567 GL_IMAGE_2D_MULTISAMPLE = 0x9055,
568 GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056,
569 GL_INT_IMAGE_1D = 0x9057,
570 GL_INT_IMAGE_2D = 0x9058,
571 GL_INT_IMAGE_3D = 0x9059,
572 GL_INT_IMAGE_2D_RECT = 0x905A,
573 GL_INT_IMAGE_CUBE = 0x905B,
574 GL_INT_IMAGE_BUFFER = 0x905C,
575 GL_INT_IMAGE_1D_ARRAY = 0x905D,
576 GL_INT_IMAGE_2D_ARRAY = 0x905E,
577 GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F,
578 GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060,
579 GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061,
580 GL_UNSIGNED_INT_IMAGE_1D = 0x9062,
581 GL_UNSIGNED_INT_IMAGE_2D = 0x9063,
582 GL_UNSIGNED_INT_IMAGE_3D = 0x9064,
583 GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065,
584 GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066,
585 GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067,
586 GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068,
587 GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069,
588 GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A,
589 GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B,
590 GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C,
591 GL_MAX_IMAGE_SAMPLES = 0x906D,
592 GL_IMAGE_BINDING_FORMAT = 0x906E,
593 GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7,
594 GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8,
595 GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9,
596 GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA,
597 GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB,
598 GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC,
599 GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD,
600 GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE,
601 GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF,
603 // ARB_texture_storage
604 GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F,
606 // ARB_ES3_compatibility
607 GL_COMPRESSED_RGB8_ETC2 = 0x9274,
608 GL_COMPRESSED_SRGB8_ETC2 = 0x9275,
609 GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276,
610 GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277,
611 GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278,
612 GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279,
613 GL_COMPRESSED_R11_EAC = 0x9270,
614 GL_COMPRESSED_SIGNED_R11_EAC = 0x9271,
615 GL_COMPRESSED_RG11_EAC = 0x9272,
616 GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273,
617 GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69,
618 GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A,
619 GL_MAX_ELEMENT_INDEX = 0x8D6B,
621 // ARB_compute_shader
622 GL_COMPUTE_SHADER = 0x91B9,
623 GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB,
624 GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC,
625 GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD,
626 GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262,
627 GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263,
628 GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264,
629 GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265,
630 GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266,
631 GL_MAX_COMPUTE_LOCAL_INVOCATIONS = 0x90EB,
632 GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE,
633 GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF,
634 GL_COMPUTE_LOCAL_WORK_SIZE = 0x8267,
635 GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC,
636 GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED,
637 GL_DISPATCH_INDIRECT_BUFFER = 0x90EE,
638 GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF,
639 GL_COMPUTE_SHADER_BIT = 0x00000020,
641 // KHR_debug
642 GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242,
643 GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243,
644 GL_DEBUG_CALLBACK_FUNCTION = 0x8244,
645 GL_DEBUG_CALLBACK_USER_PARAM = 0x8245,
646 GL_DEBUG_SOURCE_API = 0x8246,
647 GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247,
648 GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248,
649 GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249,
650 GL_DEBUG_SOURCE_APPLICATION = 0x824A,
651 GL_DEBUG_SOURCE_OTHER = 0x824B,
652 GL_DEBUG_TYPE_ERROR = 0x824C,
653 GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D,
654 GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E,
655 GL_DEBUG_TYPE_PORTABILITY = 0x824F,
656 GL_DEBUG_TYPE_PERFORMANCE = 0x8250,
657 GL_DEBUG_TYPE_OTHER = 0x8251,
658 GL_DEBUG_TYPE_MARKER = 0x8268,
659 GL_DEBUG_TYPE_PUSH_GROUP = 0x8269,
660 GL_DEBUG_TYPE_POP_GROUP = 0x826A,
661 GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B,
662 GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C,
663 GL_DEBUG_GROUP_STACK_DEPTH = 0x826D,
664 GL_BUFFER = 0x82E0,
665 GL_SHADER = 0x82E1,
666 GL_PROGRAM = 0x82E2,
667 GL_QUERY = 0x82E3,
668 GL_PROGRAM_PIPELINE = 0x82E4,
669 GL_SAMPLER = 0x82E6,
670 GL_DISPLAY_LIST = 0x82E7,
671 GL_MAX_LABEL_LENGTH = 0x82E8,
672 GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143,
673 GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144,
674 GL_DEBUG_LOGGED_MESSAGES = 0x9145,
675 GL_DEBUG_SEVERITY_HIGH = 0x9146,
676 GL_DEBUG_SEVERITY_MEDIUM = 0x9147,
677 GL_DEBUG_SEVERITY_LOW = 0x9148,
678 GL_DEBUG_OUTPUT = 0x92E0,
679 GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002,
681 // ARB_explicit_uniform_location
682 GL_MAX_UNIFORM_LOCATIONS = 0x826E,
684 // ARB_framebuffer_no_attachments
685 GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310,
686 GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311,
687 GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312,
688 GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313,
689 GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314,
690 GL_MAX_FRAMEBUFFER_WIDTH = 0x9315,
691 GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316,
692 GL_MAX_FRAMEBUFFER_LAYERS = 0x9317,
693 GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318,
695 // ARB_internalformat_query2
696 GL_INTERNALFORMAT_SUPPORTED = 0x826F,
697 GL_INTERNALFORMAT_PREFERRED = 0x8270,
698 GL_INTERNALFORMAT_RED_SIZE = 0x8271,
699 GL_INTERNALFORMAT_GREEN_SIZE = 0x8272,
700 GL_INTERNALFORMAT_BLUE_SIZE = 0x8273,
701 GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274,
702 GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275,
703 GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276,
704 GL_INTERNALFORMAT_SHARED_SIZE = 0x8277,
705 GL_INTERNALFORMAT_RED_TYPE = 0x8278,
706 GL_INTERNALFORMAT_GREEN_TYPE = 0x8279,
707 GL_INTERNALFORMAT_BLUE_TYPE = 0x827A,
708 GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B,
709 GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C,
710 GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D,
711 GL_MAX_WIDTH = 0x827E,
712 GL_MAX_HEIGHT = 0x827F,
713 GL_MAX_DEPTH = 0x8280,
714 GL_MAX_LAYERS = 0x8281,
715 GL_MAX_COMBINED_DIMENSIONS = 0x8282,
716 GL_COLOR_COMPONENTS = 0x8283,
717 GL_DEPTH_COMPONENTS = 0x8284,
718 GL_STENCIL_COMPONENTS = 0x8285,
719 GL_COLOR_RENDERABLE = 0x8286,
720 GL_DEPTH_RENDERABLE = 0x8287,
721 GL_STENCIL_RENDERABLE = 0x8288,
722 GL_FRAMEBUFFER_RENDERABLE = 0x8289,
723 GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A,
724 GL_FRAMEBUFFER_BLEND = 0x828B,
725 GL_READ_PIXELS = 0x828C,
726 GL_READ_PIXELS_FORMAT = 0x828D,
727 GL_READ_PIXELS_TYPE = 0x828E,
728 GL_TEXTURE_IMAGE_FORMAT = 0x828F,
729 GL_TEXTURE_IMAGE_TYPE = 0x8290,
730 GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291,
731 GL_GET_TEXTURE_IMAGE_TYPE = 0x8292,
732 GL_MIPMAP = 0x8293,
733 GL_MANUAL_GENERATE_MIPMAP = 0x8294,
734 GL_AUTO_GENERATE_MIPMAP = 0x8295,
735 GL_COLOR_ENCODING = 0x8296,
736 GL_SRGB_READ = 0x8297,
737 GL_SRGB_WRITE = 0x8298,
738 GL_SRGB_DECODE_ARB = 0x8299,
739 GL_FILTER = 0x829A,
740 GL_VERTEX_TEXTURE = 0x829B,
741 GL_TESS_CONTROL_TEXTURE = 0x829C,
742 GL_TESS_EVALUATION_TEXTURE = 0x829D,
743 GL_GEOMETRY_TEXTURE = 0x829E,
744 GL_FRAGMENT_TEXTURE = 0x829F,
745 GL_COMPUTE_TEXTURE = 0x82A0,
746 GL_TEXTURE_SHADOW = 0x82A1,
747 GL_TEXTURE_GATHER = 0x82A2,
748 GL_TEXTURE_GATHER_SHADOW = 0x82A3,
749 GL_SHADER_IMAGE_LOAD = 0x82A4,
750 GL_SHADER_IMAGE_STORE = 0x82A5,
751 GL_SHADER_IMAGE_ATOMIC = 0x82A6,
752 GL_IMAGE_TEXEL_SIZE = 0x82A7,
753 GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8,
754 GL_IMAGE_PIXEL_FORMAT = 0x82A9,
755 GL_IMAGE_PIXEL_TYPE = 0x82AA,
756 GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC,
757 GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD,
758 GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE,
759 GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF,
760 GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1,
761 GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2,
762 GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3,
763 GL_CLEAR_BUFFER = 0x82B4,
764 GL_TEXTURE_VIEW = 0x82B5,
765 GL_VIEW_COMPATIBILITY_CLASS = 0x82B6,
766 GL_FULL_SUPPORT = 0x82B7,
767 GL_CAVEAT_SUPPORT = 0x82B8,
768 GL_IMAGE_CLASS_4_X_32 = 0x82B9,
769 GL_IMAGE_CLASS_2_X_32 = 0x82BA,
770 GL_IMAGE_CLASS_1_X_32 = 0x82BB,
771 GL_IMAGE_CLASS_4_X_16 = 0x82BC,
772 GL_IMAGE_CLASS_2_X_16 = 0x82BD,
773 GL_IMAGE_CLASS_1_X_16 = 0x82BE,
774 GL_IMAGE_CLASS_4_X_8 = 0x82BF,
775 GL_IMAGE_CLASS_2_X_8 = 0x82C0,
776 GL_IMAGE_CLASS_1_X_8 = 0x82C1,
777 GL_IMAGE_CLASS_11_11_10 = 0x82C2,
778 GL_IMAGE_CLASS_10_10_10_2 = 0x82C3,
779 GL_VIEW_CLASS_128_BITS = 0x82C4,
780 GL_VIEW_CLASS_96_BITS = 0x82C5,
781 GL_VIEW_CLASS_64_BITS = 0x82C6,
782 GL_VIEW_CLASS_48_BITS = 0x82C7,
783 GL_VIEW_CLASS_32_BITS = 0x82C8,
784 GL_VIEW_CLASS_24_BITS = 0x82C9,
785 GL_VIEW_CLASS_16_BITS = 0x82CA,
786 GL_VIEW_CLASS_8_BITS = 0x82CB,
787 GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC,
788 GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD,
789 GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE,
790 GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF,
791 GL_VIEW_CLASS_RGTC1_RED = 0x82D0,
792 GL_VIEW_CLASS_RGTC2_RG = 0x82D1,
793 GL_VIEW_CLASS_BPTC_UNORM = 0x82D2,
794 GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3,
796 // ARB_program_interface_query
797 GL_UNIFORM = 0x92E1,
798 GL_UNIFORM_BLOCK = 0x92E2,
799 GL_PROGRAM_INPUT = 0x92E3,
800 GL_PROGRAM_OUTPUT = 0x92E4,
801 GL_BUFFER_VARIABLE = 0x92E5,
802 GL_SHADER_STORAGE_BLOCK = 0x92E6,
803 GL_VERTEX_SUBROUTINE = 0x92E8,
804 GL_TESS_CONTROL_SUBROUTINE = 0x92E9,
805 GL_TESS_EVALUATION_SUBROUTINE = 0x92EA,
806 GL_GEOMETRY_SUBROUTINE = 0x92EB,
807 GL_FRAGMENT_SUBROUTINE = 0x92EC,
808 GL_COMPUTE_SUBROUTINE = 0x92ED,
809 GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE,
810 GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF,
811 GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0,
812 GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1,
813 GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2,
814 GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3,
815 GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4,
816 GL_ACTIVE_RESOURCES = 0x92F5,
817 GL_MAX_NAME_LENGTH = 0x92F6,
818 GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7,
819 GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8,
820 GL_NAME_LENGTH = 0x92F9,
821 GL_TYPE = 0x92FA,
822 GL_ARRAY_SIZE = 0x92FB,
823 GL_OFFSET = 0x92FC,
824 GL_BLOCK_INDEX = 0x92FD,
825 GL_ARRAY_STRIDE = 0x92FE,
826 GL_MATRIX_STRIDE = 0x92FF,
827 GL_IS_ROW_MAJOR = 0x9300,
828 GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301,
829 GL_BUFFER_BINDING = 0x9302,
830 GL_BUFFER_DATA_SIZE = 0x9303,
831 GL_NUM_ACTIVE_VARIABLES = 0x9304,
832 GL_ACTIVE_VARIABLES = 0x9305,
833 GL_REFERENCED_BY_VERTEX_SHADER = 0x9306,
834 GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307,
835 GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308,
836 GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309,
837 GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A,
838 GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B,
839 GL_TOP_LEVEL_ARRAY_SIZE = 0x930C,
840 GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D,
841 GL_LOCATION = 0x930E,
842 GL_LOCATION_INDEX = 0x930F,
843 GL_IS_PER_PATCH = 0x92E7,
845 // ARB_shader_storage_buffer_object
846 GL_SHADER_STORAGE_BUFFER = 0x90D2,
847 GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3,
848 GL_SHADER_STORAGE_BUFFER_START = 0x90D4,
849 GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5,
850 GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6,
851 GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7,
852 GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8,
853 GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9,
854 GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA,
855 GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB,
856 GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC,
857 GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD,
858 GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE,
859 GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF,
860 GL_SHADER_STORAGE_BARRIER_BIT = 0x2000,
861 GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39,
863 // ARB_stencil_texturing
864 GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA,
866 // ARB_texture_buffer_range
867 GL_TEXTURE_BUFFER_OFFSET = 0x919D,
868 GL_TEXTURE_BUFFER_SIZE = 0x919E,
869 GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F,
871 // ARB_texture_view
872 GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB,
873 GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC,
874 GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD,
875 GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE,
876 GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF,
878 // ARB_vertex_attrib_binding
879 GL_VERTEX_ATTRIB_BINDING = 0x82D4,
880 GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5,
881 GL_VERTEX_BINDING_DIVISOR = 0x82D6,
882 GL_VERTEX_BINDING_OFFSET = 0x82D7,
883 GL_VERTEX_BINDING_STRIDE = 0x82D8,
884 GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9,
885 GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA,
887 // ARB_buffer_storage
888 GL_MAP_PERSISTENT_BIT = 0x0040,
889 GL_MAP_COHERENT_BIT = 0x0080,
890 GL_DYNAMIC_STORAGE_BIT = 0x0100,
891 GL_CLIENT_STORAGE_BIT = 0x0200,
892 GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000,
893 GL_BUFFER_IMMUTABLE_STORAGE = 0x821F,
894 GL_BUFFER_STORAGE_FLAGS = 0x8220,
896 // ARB_clear_texture
897 GL_CLEAR_TEXTURE = 0x9365,
899 // ARB_enhanced_layouts
900 GL_LOCATION_COMPONENT = 0x934A,
901 GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B,
902 GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C,
904 // ARB_query_buffer_object
905 GL_QUERY_BUFFER = 0x9192,
906 GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000,
907 GL_QUERY_BUFFER_BINDING = 0x9193,
908 GL_QUERY_RESULT_NO_WAIT = 0x9194,
910 // ARB_texture_mirror_clamp_to_edge
911 GL_MIRROR_CLAMP_TO_EDGE = 0x8743,
913 // ARB_clip_control
914 GL_NEGATIVE_ONE_TO_ONE = 0x935E,
915 GL_ZERO_TO_ONE = 0x935F,
916 GL_CLIP_ORIGIN = 0x935C,
917 GL_CLIP_DEPTH_MODE = 0x935D,
919 // ARB_cull_distance
920 GL_MAX_CULL_DISTANCES = 0x82F9,
921 GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA,
923 // ARB_conditional_render_inverted
924 GL_QUERY_WAIT_INVERTED = 0x8E17,
925 GL_QUERY_NO_WAIT_INVERTED = 0x8E18,
926 GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19,
927 GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A,
929 // KHR_context_flush_control
930 GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB,
931 GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC,
933 // KHR_robustness
934 GL_GUILTY_CONTEXT_RESET = 0x8253,
935 GL_INNOCENT_CONTEXT_RESET = 0x8254,
936 GL_UNKNOWN_CONTEXT_RESET = 0x8255,
937 GL_CONTEXT_ROBUST_ACCESS = 0x90F3,
938 GL_RESET_NOTIFICATION_STRATEGY = 0x8256,
939 GL_LOSE_CONTEXT_ON_RESET = 0x8252,
940 GL_NO_RESET_NOTIFICATION = 0x8261,
941 GL_CONTEXT_LOST = 0x0507,
944 // ARB_geometry_shader4
945 extern(System) @nogc nothrow {
946 void glProgramParameteriARB (GLuint, GLenum, GLint);
947 void glFramebufferTextureARB (GLuint, GLenum, GLuint, GLint);
948 void glFramebufferTextureLayerARB (GLuint, GLenum, GLuint, GLint, GLint);
949 void glFramebufferTextureFaceARB (GLuint, GLenum, GLuint, GLint, GLenum);
952 // ARB_framebuffer_object
953 extern(System) @nogc nothrow {
954 GLboolean glIsRenderbuffer (GLuint);
955 void glBindRenderbuffer (GLenum, GLuint);
956 void glDeleteRenderbuffers (GLsizei, const(GLuint)*);
957 void glGenRenderbuffers (GLsizei, GLuint*);
958 void glRenderbufferStorage (GLenum, GLenum, GLsizei, GLsizei);
959 void glGetRenderbufferParameteriv (GLenum, GLenum, GLint*);
960 GLboolean glIsFramebuffer (GLuint);
961 void glBindFramebuffer (GLenum, GLuint);
962 void glDeleteFramebuffers (GLsizei, const(GLuint)*);
963 void glGenFramebuffers (GLsizei, GLuint*);
964 GLenum glCheckFramebufferStatus (GLenum);
965 void glFramebufferTexture1D (GLenum, GLenum, GLenum, GLuint, GLint);
966 void glFramebufferTexture2D (GLenum, GLenum, GLenum, GLuint, GLint);
967 void glFramebufferTexture3D (GLenum, GLenum, GLenum, GLuint, GLint, GLint);
968 void glFramebufferRenderbuffer (GLenum, GLenum, GLenum, GLuint);
969 void glGetFramebufferAttachmentParameteriv (GLenum, GLenum, GLenum, GLint*);
970 void glGenerateMipmap (GLenum);
971 void glBlitFramebuffer (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
972 void glRenderbufferStorageMultisample (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
973 void glFramebufferTextureLayer (GLenum, GLenum, GLuint, GLint, GLint);
976 // ARB_map_buffer_range
977 extern(System) @nogc nothrow {
978 GLvoid* glMapBufferRange (GLenum, GLintptr, GLsizeiptr, GLbitfield);
979 void glFlushMappedBufferRange (GLenum, GLintptr, GLsizeiptr);
982 // ARB_vertex_array_object
983 extern(System) @nogc nothrow {
984 void glBindVertexArray (GLuint);
985 void glDeleteVertexArrays (GLsizei, const(GLuint)*);
986 void glGenVertexArrays (GLsizei, GLuint*);
987 GLboolean glIsVertexArray (GLuint);
990 // ARB_uniform_buffer_object
991 extern(System) @nogc nothrow {
992 void glGetUniformIndices (GLuint, GLsizei, const(GLchar*)*, GLuint*);
993 void glGetActiveUniformsiv (GLuint, GLsizei, const(GLuint)*, GLenum, GLint*);
994 void glGetActiveUniformName (GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
995 GLuint glGetUniformBlockIndex (GLuint, const(GLchar)*);
996 void glGetActiveUniformBlockiv (GLuint, GLuint, GLenum, GLint*);
997 void glGetActiveUniformBlockName (GLuint, GLuint, GLsizei, GLsizei*, GLchar*);
998 void glUniformBlockBinding (GLuint, GLuint, GLuint);
1001 // ARB_copy_buffer
1002 extern(System) @nogc nothrow {
1003 void glCopyBufferSubData (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr);
1006 // ARB_draw_elements_base_vertex
1007 extern(System) @nogc nothrow {
1008 void glDrawElementsBaseVertex (GLenum, GLsizei, GLenum, const(GLvoid)*, GLint);
1009 void glDrawRangeElementsBaseVertex (GLenum, GLuint, GLuint, GLsizei, GLenum, const(GLvoid)*, GLint);
1010 void glDrawElementsInstancedBaseVertex (GLenum, GLsizei, GLenum, const(GLvoid)*, GLsizei, GLint);
1011 void glMultiDrawElementsBaseVertex (GLenum, const(GLsizei)*, GLenum, const(GLvoid*)*, GLsizei, const(GLint)*);
1014 // ARB_provoking_vertex
1015 extern(System) @nogc nothrow {
1016 void glProvokingVertex (GLenum);
1019 // ARB_sync
1020 extern(System) @nogc nothrow {
1021 GLsync glFenceSync (GLenum, GLbitfield);
1022 GLboolean glIsSync (GLsync);
1023 void glDeleteSync (GLsync);
1024 GLenum glClientWaitSync (GLsync, GLbitfield, GLuint64);
1025 void glWaitSync (GLsync, GLbitfield, GLuint64);
1026 void glGetInteger64v (GLsync, GLint64*);
1027 void glGetSynciv (GLsync, GLenum, GLsizei, GLsizei*, GLint*);
1030 // ARB_texture_multisample
1031 extern(System) @nogc nothrow {
1032 void glTexImage2DMultisample (GLenum, GLsizei, GLint, GLsizei, GLsizei, GLboolean);
1033 void glTexImage3DMultisample (GLenum, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean);
1034 void glGetMultisamplefv (GLenum, GLuint, GLfloat*);
1035 void glSampleMaski (GLuint, GLbitfield);
1038 // ARB_draw_buffers_blend
1039 extern(System) @nogc nothrow {
1040 void glBlendEquationiARB (GLuint, GLenum);
1041 void glBlendEquationSeparateiARB (GLuint, GLenum, GLenum);
1042 void glBlendFunciARB (GLuint, GLenum, GLenum);
1043 void glBlendFuncSeparateiARB (GLuint, GLenum, GLenum, GLenum, GLenum);
1046 // ARB_sample_shading
1047 extern(System) @nogc nothrow {
1048 void glMinSampleShadingARB (GLclampf);
1051 // ARB_shading_language_include
1052 extern(System) @nogc nothrow {
1053 void glNamedStringARB (GLenum, GLint, const(GLchar)*, GLint, const(GLchar)*);
1054 void glDeleteNamedStringARB (GLint, const(GLchar)*);
1055 void glCompileShaderIncludeARB (GLuint, GLsizei, const(GLchar)*, const(GLint)*);
1056 GLboolean glIsNamedStringARB (GLint, const(GLchar)*);
1057 void glGetNamedStringARB (GLint, const(GLchar)*, GLsizei, GLint*, GLchar*);
1058 void glGetNamedStringivARB (GLint, const(GLchar)*, GLenum, GLint*);
1061 // ARB_blend_func_extended
1062 extern(System) @nogc nothrow {
1063 void glBindFragDataLocationIndexed (GLuint, GLuint, GLuint, const(GLchar)*);
1064 GLint glGetFragDataIndex (GLuint, const(GLchar)*);
1067 // ARB_sampler_objects
1068 extern(System) @nogc nothrow {
1069 void glGenSamplers (GLsizei, GLuint*);
1070 void glDeleteSamplers (GLsizei, const(GLuint)*);
1071 GLboolean glIsSampler (GLuint);
1072 void glBindSampler (GLuint, GLuint);
1073 void glSamplerParameteri (GLuint, GLenum, GLint);
1074 void glSamplerParameteriv (GLuint, GLenum, const(GLint)*);
1075 void glSamplerParameterf (GLuint, GLenum, GLfloat);
1076 void glSamplerParameterfv (GLuint, GLenum, const(GLfloat)*);
1077 void glSamplerParameterIiv (GLuint, GLenum, const(GLint)*);
1078 void glSamplerParameterIuiv (GLuint, GLenum, const(GLuint)*);
1079 void glGetSamplerParameteriv (GLuint, GLenum, GLint*);
1080 void glGetSamplerParameterIiv (GLuint, GLenum, GLint*);
1081 void glGetSamplerParameterfv (GLuint, GLenum, GLfloat*);
1082 void glGetSamplerParameterIuiv (GLuint, GLenum, GLuint*);
1085 // ARB_timer_query
1086 extern(System) @nogc nothrow {
1087 void glQueryCounter (GLuint, GLenum);
1088 void glGetQueryObjecti64v (GLuint, GLenum, GLint64*);
1089 void glGetQueryObjectui64v (GLuint, GLenum, GLuint64*);
1092 // ARB_vertex_type_2_10_10_10_rev
1093 extern(System) @nogc nothrow {
1094 void glVertexP2ui (GLenum, GLuint);
1095 void glVertexP2uiv (GLenum, const(GLuint)*);
1096 void glVertexP3ui (GLenum, GLuint);
1097 void glVertexP3uiv (GLenum, const(GLuint)*);
1098 void glVertexP4ui (GLenum, GLuint);
1099 void glVertexP4uiv (GLenum, const(GLuint)*);
1100 void glTexCoordP1ui (GLenum, GLuint);
1101 void glTexCoordP1uiv (GLenum, const(GLuint)*);
1102 void glTexCoordP2ui (GLenum, GLuint);
1103 void glTexCoordP2uiv (GLenum, const(GLuint)*);
1104 void glTexCoordP3ui (GLenum, GLuint);
1105 void glTexCoordP3uiv (GLenum, const(GLuint)*);
1106 void glTexCoordP4ui (GLenum, GLuint);
1107 void glTexCoordP4uiv (GLenum, const(GLuint)*);
1108 void glMultiTexCoordP1ui (GLenum, GLenum, GLuint);
1109 void glMultiTexCoordP1uiv (GLenum, GLenum, const(GLuint)*);
1110 void glMultiTexCoordP2ui (GLenum, GLenum, GLuint);
1111 void glMultiTexCoordP2uiv (GLenum, GLenum, const(GLuint)*);
1112 void glMultiTexCoordP3ui (GLenum, GLenum, GLuint);
1113 void glMultiTexCoordP3uiv (GLenum, GLenum, const(GLuint)*);
1114 void glMultiTexCoordP4ui (GLenum, GLenum, GLuint);
1115 void glMultiTexCoordP4uiv (GLenum, GLenum, const(GLuint)*);
1116 void glNormalP3ui (GLenum, GLuint);
1117 void glNormalP3uiv (GLenum, const(GLuint)*);
1118 void glColorP3ui (GLenum, GLuint);
1119 void glColorP3uiv (GLenum, const(GLuint)*);
1120 void glColorP4ui (GLenum, GLuint);
1121 void glColorP4uiv (GLenum, const(GLuint)*);
1122 void glSecondaryColorP3ui (GLenum, GLuint);
1123 void glSecondaryColorP3uiv (GLenum, const(GLuint)*);
1124 void glVertexAttribP1ui (GLuint, GLenum, GLboolean, GLuint);
1125 void glVertexAttribP1uiv (GLuint, GLenum, GLboolean, const(GLuint)*);
1126 void glVertexAttribP2ui (GLuint, GLenum, GLboolean, GLuint);
1127 void glVertexAttribP2uiv (GLuint, GLenum, GLboolean, const(GLuint)*);
1128 void glVertexAttribP3ui (GLuint, GLenum, GLboolean, GLuint);
1129 void glVertexAttribP3uiv (GLuint, GLenum, GLboolean, const(GLuint)*);
1130 void glVertexAttribP4ui (GLuint, GLenum, GLboolean, GLuint);
1131 void glVertexAttribP4uiv (GLuint, GLenum, GLboolean, const(GLuint)*);
1134 // ARB_draw_indirect
1135 extern(System) @nogc nothrow {
1136 void glDrawArraysIndirect (GLenum, const(GLvoid)*);
1137 void glDrawElementsIndirect (GLenum, GLenum, const(GLvoid)*);
1140 // ARB_gpu_shader_fp64
1141 extern(System) @nogc nothrow {
1142 void glUniform1d (GLint, GLdouble);
1143 void glUniform2d (GLint, GLdouble, GLdouble);
1144 void glUniform3d (GLint, GLdouble, GLdouble, GLdouble);
1145 void glUniform4d (GLint, GLdouble, GLdouble, GLdouble, GLdouble);
1146 void glUniform1dv (GLint, GLsizei, const(GLdouble)*);
1147 void glUniform2dv (GLint, GLsizei, const(GLdouble)*);
1148 void glUniform3dv (GLint, GLsizei, const(GLdouble)*);
1149 void glUniform4dv (GLint, GLsizei, const(GLdouble)*);
1150 void glUniformMatrix2dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1151 void glUniformMatrix3dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1152 void glUniformMatrix4dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1153 void glUniformMatrix2x3dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1154 void glUniformMatrix2x4dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1155 void glUniformMatrix3x2dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1156 void glUniformMatrix3x4dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1157 void glUniformMatrix4x2dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1158 void glUniformMatrix4x3dv (GLint, GLsizei, GLboolean, const(GLdouble)*);
1159 void glGetUniformdv (GLuint, GLint, GLdouble*);
1162 // ARB_shader_subroutine
1163 extern(System) @nogc nothrow {
1164 GLint glGetSubroutineUniformLocation (GLuint, GLenum, const(GLchar)*);
1165 GLuint glGetSubroutineIndex (GLuint, GLenum, const(GLchar)*);
1166 void glGetActiveSubroutineUniformiv (GLuint, GLenum, GLuint, GLenum, GLint*);
1167 void glGetActiveSubroutineUniformName (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
1168 void glGetActiveSubroutineName (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
1169 void glUniformSubroutinesuiv (GLenum, GLsizei, const(GLuint)*);
1170 void glGetUniformSubroutineuiv (GLenum, GLint, GLuint*);
1171 void glGetProgramStageiv (GLuint, GLenum, GLenum, GLint*);
1174 // ARB_tessellation_shader
1175 extern(System) @nogc nothrow {
1176 void glPatchParameteri (GLenum, GLint);
1177 void glPatchParameterfv (GLenum, const(GLfloat)*);
1180 // ARB_transform_feedback2
1181 extern(System) @nogc nothrow {
1182 void glBindTransformFeedback (GLenum, GLuint);
1183 void glDeleteTransformFeedbacks (GLsizei, const(GLuint)*);
1184 void glGenTransformFeedbacks (GLsizei, GLuint*);
1185 GLboolean glIsTransformFeedback (GLuint);
1186 void glPauseTransformFeedback ();
1187 void glResumeTransformFeedback ();
1188 void glDrawTransformFeedback (GLenum, GLuint);
1191 // ARB_transform_feedback3
1192 extern(System) @nogc nothrow {
1193 void glDrawTransformFeedbackStream (GLenum, GLuint, GLuint);
1194 void glBeginQueryIndexed (GLenum, GLuint, GLuint);
1195 void glEndQueryIndexed (GLenum, GLuint);
1196 void glGetQueryIndexediv (GLenum, GLuint, GLenum, GLint*);
1199 // ARB_ES2_compatibility
1200 extern(System) @nogc nothrow {
1201 void glReleaseShaderCompiler ();
1202 void glShaderBinary (GLsizei, const(GLuint)*, GLenum, const(GLvoid)*, GLsizei);
1203 void glGetShaderPrecisionFormat (GLenum, GLenum, GLint*, GLint*);
1204 void glDepthRangef (GLclampf, GLclampf);
1205 void glClearDepthf (GLclampf);
1208 // ARB_get_program_binary
1209 extern(System) @nogc nothrow {
1210 void glGetProgramBinary (GLuint, GLsizei, GLsizei*, GLenum*, GLvoid*);
1211 void glProgramBinary (GLuint, GLenum, const(GLvoid)*, GLsizei);
1212 void glProgramParameteri (GLuint, GLenum, GLint);
1215 // ARB_separate_shader_objects
1216 extern(System) @nogc nothrow {
1217 void glUseProgramStages (GLuint, GLbitfield, GLuint);
1218 void glActiveShaderProgram (GLuint, GLuint);
1219 GLuint glCreateShaderProgramv (GLenum, GLsizei, const(GLchar*)*);
1220 void glBindProgramPipeline (GLuint);
1221 void glDeleteProgramPipelines (GLsizei, const(GLuint)*);
1222 void glGenProgramPipelines (GLsizei, GLuint*);
1223 GLboolean glIsProgramPipeline (GLuint);
1224 void glGetProgramPipelineiv (GLuint, GLenum, GLint*);
1225 void glProgramUniform1i (GLuint, GLint, GLint);
1226 void glProgramUniform1iv (GLuint, GLint, GLsizei, const(GLint)*);
1227 void glProgramUniform1f (GLuint, GLint, GLfloat);
1228 void glProgramUniform1fv (GLuint, GLint, GLsizei, const(GLfloat)*);
1229 void glProgramUniform1d (GLuint, GLint, GLdouble);
1230 void glProgramUniform1dv (GLuint, GLint, GLsizei, const(GLdouble)*);
1231 void glProgramUniform1ui (GLuint, GLint, GLuint);
1232 void glProgramUniform1uiv (GLuint, GLint, GLsizei, const(GLuint)*);
1233 void glProgramUniform2i (GLuint, GLint, GLint, GLint);
1234 void glProgramUniform2iv (GLuint, GLint, GLsizei, const(GLint)*);
1235 void glProgramUniform2f (GLuint, GLint, GLfloat, GLfloat);
1236 void glProgramUniform2fv (GLuint, GLint, GLsizei, const(GLfloat)*);
1237 void glProgramUniform2d (GLuint, GLint, GLdouble, GLdouble);
1238 void glProgramUniform2dv (GLuint, GLint, GLsizei, const(GLdouble)*);
1239 void glProgramUniform2ui (GLuint, GLint, GLuint, GLuint);
1240 void glProgramUniform2uiv (GLuint, GLint, GLsizei, const(GLuint)*);
1241 void glProgramUniform3i (GLuint, GLint, GLint, GLint, GLint);
1242 void glProgramUniform3iv (GLuint, GLint, GLsizei, const(GLint)*);
1243 void glProgramUniform3f (GLuint, GLint, GLfloat, GLfloat, GLfloat);
1244 void glProgramUniform3fv (GLuint, GLint, GLsizei, const(GLfloat)*);
1245 void glProgramUniform3d (GLuint, GLint, GLdouble, GLdouble, GLdouble);
1246 void glProgramUniform3dv (GLuint, GLint, GLsizei, const(GLdouble)*);
1247 void glProgramUniform3ui (GLuint, GLint, GLuint, GLuint, GLuint);
1248 void glProgramUniform3uiv (GLuint, GLint, GLsizei, const(GLuint)*);
1249 void glProgramUniform4i (GLuint, GLint, GLint, GLint, GLint, GLint);
1250 void glProgramUniform4iv (GLuint, GLint, GLsizei, const(GLint)*);
1251 void glProgramUniform4f (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat);
1252 void glProgramUniform4fv (GLuint, GLint, GLsizei, const(GLfloat)*);
1253 void glProgramUniform4d (GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble);
1254 void glProgramUniform4dv (GLuint, GLint, GLsizei, const(GLdouble)*);
1255 void glProgramUniform4ui (GLuint, GLint, GLuint, GLuint, GLuint, GLuint);
1256 void glProgramUniform4uiv (GLuint, GLint, GLsizei, const(GLuint)*);
1257 void glProgramUniformMatrix2fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1258 void glProgramUniformMatrix3fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1259 void glProgramUniformMatrix4fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1260 void glProgramUniformMatrix2dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1261 void glProgramUniformMatrix3dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1262 void glProgramUniformMatrix4dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1263 void glProgramUniformMatrix2x3fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1264 void glProgramUniformMatrix3x2fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1265 void glProgramUniformMatrix2x4fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1266 void glProgramUniformMatrix4x2fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1267 void glProgramUniformMatrix3x4fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1268 void glProgramUniformMatrix4x3fv (GLuint, GLint, GLsizei, GLboolean, const(GLfloat)*);
1269 void glProgramUniformMatrix2x3dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1270 void glProgramUniformMatrix3x2dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1271 void glProgramUniformMatrix2x4dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1272 void glProgramUniformMatrix4x2dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1273 void glProgramUniformMatrix3x4dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1274 void glProgramUniformMatrix4x3dv (GLuint, GLint, GLsizei, GLboolean, const(GLdouble)*);
1275 void glValidateProgramPipeline (GLuint);
1276 void glGetProgramPipelineInfoLog (GLuint, GLsizei, GLsizei*, GLchar*);
1279 // ARB_vertex_attrib_64bit
1280 extern(System) @nogc nothrow {
1281 void glVertexAttribL1d (GLuint, GLdouble);
1282 void glVertexAttribL2d (GLuint, GLdouble, GLdouble);
1283 void glVertexAttribL3d (GLuint, GLdouble, GLdouble, GLdouble);
1284 void glVertexAttribL4d (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
1285 void glVertexAttribL1dv (GLuint, const(GLdouble)*);
1286 void glVertexAttribL2dv (GLuint, const(GLdouble)*);
1287 void glVertexAttribL3dv (GLuint, const(GLdouble)*);
1288 void glVertexAttribL4dv (GLuint, const(GLdouble)*);
1289 void glVertexAttribLPointer (GLuint, GLint, GLenum, GLsizei, const(GLvoid)*);
1290 void glGetVertexAttribLdv (GLuint, GLenum, GLdouble*);
1293 // ARB_viewport_array
1294 extern(System) @nogc nothrow {
1295 void glViewportArrayv (GLuint, GLsizei, const(GLfloat)*);
1296 void glViewportIndexedf (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
1297 void glViewportIndexedfv (GLuint, const(GLfloat)*);
1298 void glScissorArrayv (GLuint, GLsizei, const(GLint)*);
1299 void glScissorIndexed (GLuint, GLint, GLint, GLsizei, GLsizei);
1300 void glScissorIndexedv (GLuint, const(GLint)*);
1301 void glDepthRangeArrayv (GLuint, GLsizei, const(GLclampd)*);
1302 void glDepthRangeIndexed (GLuint, GLclampd, GLclampd);
1303 void glGetFloati_v (GLenum, GLuint, GLfloat*);
1304 void glGetDoublei_v (GLenum, GLuint, GLdouble*);
1307 // ARB_cl_event
1308 extern(System) @nogc nothrow {
1309 GLsync glCreateSyncFromCLeventARB (_cl_context*, _cl_event*, GLbitfield);
1312 // ARB_debug_output
1313 extern(System) @nogc nothrow {
1314 void glDebugMessageControlARB (GLenum, GLenum, GLenum, GLsizei, const(GLuint)*, GLboolean);
1315 void glDebugMessageInsertARB (GLenum, GLenum, GLuint, GLenum, GLsizei, const(GLchar)*);
1316 void glGetDebugMessageLogARB (GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
1317 void glDebugMessageCallbackARB (GLDEBUGPROCARB, const(GLvoid)*);
1320 // ARB_robustness
1321 extern(System) @nogc nothrow {
1322 GLenum glGetGraphicsResetStatusARB ();
1323 void glGetnMapdvARB (GLenum, GLenum, GLsizei, GLdouble*);
1324 void glGetnMapfvARB (GLenum, GLenum, GLsizei, GLfloat*);
1325 void glGetnMapivARB (GLenum, GLenum, GLsizei, GLint*);
1326 void glGetnPixelMapfvARB (GLenum, GLsizei, GLfloat*);
1327 void glGetnPixelMapuivARB (GLenum, GLsizei, GLuint*);
1328 void glGetnPixelMapusvARB (GLenum, GLsizei, GLushort*);
1329 void glGetnPolygonStippleARB (GLsizei, GLubyte*);
1330 void glGetnColorTableARB (GLenum, GLenum, GLenum, GLsizei, GLvoid*);
1331 void glGetnConvolutionFilterARB (GLenum, GLenum, GLenum, GLsizei, GLvoid*);
1332 void glGetnSeparableFilterARB (GLenum, GLenum, GLenum, GLsizei, GLvoid*, GLsizei, GLvoid*, GLvoid*);
1333 void glGetnHistogramARB (GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid*);
1334 void glGetnMinmaxARB (GLenum, GLboolean, GLenum, GLenum, GLsizei, GLvoid*);
1335 void glGetnTexImageARB (GLenum, GLint, GLenum, GLenum, GLsizei, GLvoid*);
1336 void glReadnPixelsARB (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, GLvoid*);
1337 void glGetnCompressedTexImageARB (GLenum, GLint, GLsizei, GLvoid*);
1338 void glGetnUniformfvARB (GLuint, GLint, GLsizei, GLfloat*);
1339 void glGetnUniformivARB (GLuint, GLint, GLsizei, GLint*);
1340 void glGetnUniformuivARB (GLuint, GLint, GLsizei, GLuint*);
1341 void glGetnUniformdvARB (GLuint, GLint, GLsizei, GLdouble*);
1344 // ARB_base_instance
1345 extern(System) @nogc nothrow {
1346 void glDrawArraysInstancedBaseInstance (GLenum, GLint, GLsizei, GLsizei, GLuint);
1347 void glDrawElementsInstancedBaseInstance (GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLuint);
1348 void glDrawElementsInstancedBaseVertexBaseInstance (GLenum, GLsizei, GLenum, const(void)*, GLsizei, GLint, GLuint);
1351 // ARB_transform_feedback_instanced
1352 extern(System) @nogc nothrow {
1353 void glDrawTransformFeedbackInstanced (GLenum, GLuint, GLsizei);
1354 void glDrawTransformFeedbackStreamInstanced (GLenum, GLuint, GLuint, GLsizei);
1357 // ARB_internalformat_query
1358 extern(System) @nogc nothrow {
1359 void glGetInternalformativ (GLenum, GLenum, GLenum, GLsizei, GLint*);
1362 // ARB_shader_atomic_counters
1363 extern(System) @nogc nothrow {
1364 void glGetActiveAtomicCounterBufferiv (GLuint, GLuint, GLenum, GLint*);
1367 // ARB_shader_image_load_store
1368 extern(System) @nogc nothrow {
1369 void glBindImageTexture (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum);
1370 void glMemoryBarrier (GLbitfield);
1373 // ARB_texture_storage
1374 extern(System) @nogc nothrow {
1375 void glTexStorage1D (GLenum, GLsizei, GLenum, GLsizei);
1376 void glTexStorage2D (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1377 void glTexStorage3D (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
1378 void glTextureStorage1DEXT (GLuint, GLenum, GLsizei, GLenum, GLsizei);
1379 void glTextureStorage2DEXT (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1380 void glTextureStorage3DEXT (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
1383 // ARB_clear_buffer_object
1384 extern(System) @nogc nothrow {
1385 void glClearBufferData (GLenum, GLenum, GLenum, GLenum, const(void)*);
1386 void glClearBufferSubData (GLenum, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const(void)*);
1387 void glClearNamedBufferDataEXT (GLuint, GLenum, GLenum, GLenum, const(void)*);
1388 void glClearNamedBufferSubDataEXT (GLuint, GLenum, GLenum, GLenum, GLsizeiptr, GLsizeiptr, const(void)*);
1391 // ARB_compute_shader
1392 extern(System) @nogc nothrow {
1393 void glDispatchCompute (GLuint, GLuint, GLuint);
1394 void glDispatchComputeIndirect (GLintptr);
1397 // ARB_copy_image
1398 extern(System) @nogc nothrow {
1399 void glCopyImageSubData (GLuint, GLenum, GLint, GLint, GLint, GLint, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
1402 // KHR_debug
1403 extern(System) @nogc nothrow {
1404 void glDebugMessageControl (GLenum, GLenum, GLenum, GLsizei, const(GLuint*), GLboolean);
1405 void glDebugMessageInsert (GLenum, GLenum, GLuint, GLenum, GLsizei, const(GLchar)*);
1406 void glDebugMessageCallback (GLDEBUGPROC, const(void)*);
1407 GLuint glGetDebugMessageLog (GLuint, GLsizei, GLenum*, GLenum*, GLuint*, GLenum*, GLsizei*, GLchar*);
1408 void glPushDebugGroup (GLenum, GLuint, GLsizei, const(GLchar)*);
1409 void glPopDebugGroup ();
1410 void glObjectLabel (GLenum, GLuint, GLsizei, GLsizei, const(GLchar)*);
1411 void glGetObjectLabel (GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
1412 void glObjectPtrLabel (const(void)*, GLsizei, const(GLchar)*);
1413 void glGetObjectPtrLabel (const(void)*, GLsizei, GLsizei*, GLchar*);
1417 // ARB_framebuffer_no_attachments
1418 extern(System) @nogc nothrow {
1419 void glFramebufferParameteri (GLenum, GLenum, GLint);
1420 void glGetFramebufferParameteriv (GLenum, GLenum, GLint*);
1421 void glNamedFramebufferParameteriEXT (GLuint, GLenum, GLint);
1422 void glGetNamedFramebufferParameterivEXT (GLuint, GLenum, GLint*);
1425 // ARB_internalformat_query2
1426 extern(System) @nogc nothrow {
1427 void glGetInternalformati64v (GLenum, GLenum, GLenum, GLsizei, GLint64*);
1430 // ARB_invalidate_subdata
1431 extern(System) @nogc nothrow {
1432 void glInvalidateTexSubImage (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
1433 void glInvalidateTexImage (GLuint, GLint);
1434 void glInvalidateBufferSubData (GLuint, GLintptr, GLsizeiptr);
1435 void glInvalidateBufferData (GLuint);
1436 void glInvalidateFramebuffer (GLenum, GLsizei, const(GLenum)*);
1437 void glInvalidateSubFramebuffer (GLenum, GLsizei, const(GLenum)*, GLint, GLint, GLsizei, GLsizei);
1440 // ARB_multi_draw_indirect
1441 extern(System) @nogc nothrow {
1442 void glMultiDrawArraysIndirect (GLenum, const(void)*, GLsizei, GLsizei);
1443 void glMultiDrawElementsIndirect (GLenum, GLenum, const(void)*, GLsizei, GLsizei);
1446 // ARB_program_interface_query
1447 extern(System) @nogc nothrow {
1448 void glGetProgramInterfaceiv (GLuint, GLenum, GLenum, GLint*);
1449 GLuint glGetProgramResourceIndex (GLuint, GLenum, const(GLchar)*);
1450 void glGetProgramResourceName (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*);
1451 void glGetProgramResourceiv (GLuint, GLenum, GLuint, GLsizei, const(GLenum)*, GLsizei, GLsizei*, GLint*);
1452 GLint glGetProgramResourceLocation (GLuint, GLenum, const(GLchar)*);
1453 GLint glGetProgramResourceLocationIndex (GLuint, GLenum, const(GLchar)*);
1456 // ARB_shader_storage_buffer_object
1457 extern(System) {
1458 void glShaderStorageBlockBinding (GLuint, GLuint, GLuint);
1461 // ARB_texture_buffer_range
1462 extern(System) @nogc nothrow {
1463 void glTexBufferRange (GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
1464 void glTextureBufferRangeEXT (GLuint, GLenum, GLenum, GLuint, GLintptr, GLsizeiptr);
1467 // ARB_texture_storage_multisample
1468 extern(System) @nogc nothrow {
1469 void glTexStorage2DMultisample (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
1470 void glTexStorage3DMultisample (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
1471 void glTextureStorage2DMultisampleEXT (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
1472 void glTextureStorage3DMultisampleEXT (GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
1475 // ARB_texture_view
1476 extern(System) @nogc nothrow {
1477 void glTextureView (GLuint, GLenum, GLuint, GLenum, GLuint, GLuint, GLuint, GLuint);
1480 // ARB_vertex_attrib_binding
1481 extern(System) @nogc nothrow {
1482 void glBindVertexBuffer (GLuint, GLuint, GLintptr, GLsizei);
1483 void glVertexAttribFormat (GLuint, GLint, GLenum, GLboolean, GLuint);
1484 void glVertexAttribIFormat (GLuint, GLint, GLenum, GLuint);
1485 void glVertexAttribLFormat (GLuint, GLint, GLenum, GLuint);
1486 void glVertexAttribBinding (GLuint, GLuint);
1487 void glVertexBindingDivisor (GLuint, GLuint);
1488 void glVertexArrayBindVertexBufferEXT (GLuint, GLuint, GLuint, GLintptr, GLsizei);
1489 void glVertexArrayVertexAttribFormatEXT (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint);
1490 void glVertexArrayVertexAttribIFormatEXT (GLuint, GLuint, GLint, GLenum, GLuint);
1491 void glVertexArrayVertexAttribLFormatEXT (GLuint, GLuint, GLint, GLenum, GLuint);
1492 void glVertexArrayVertexAttribBindingEXT (GLuint, GLuint, GLuint);
1493 void glVertexArrayVertexBindingDivisorEXT (GLuint, GLuint, GLuint);
1496 // ARB_buffer_storage
1497 extern(System) @nogc nothrow {
1498 void glBufferStorage (GLenum, GLsizeiptr, const(void)*, GLbitfield);
1499 void glNamedBufferStorageEXT (GLuint, GLsizeiptr, const(void)*, GLbitfield);
1502 // ARB_clear_texture
1503 extern(System) @nogc nothrow {
1504 void glClearTexImage (GLuint, GLint, GLenum, GLenum, const(void)*);
1505 void glClearTexSubImage (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
1508 // ARB_multi_bind
1509 extern(System) @nogc nothrow {
1510 void glBindBuffersBase (GLenum, GLuint, GLsizei, const(GLuint)*);
1511 void glBindBuffersRange (GLenum, GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizeiptr)*);
1512 void glBindTextures (GLuint, GLsizei, const(GLuint)*);
1513 void glBindSamplers (GLuint, GLsizei, const(GLuint)*);
1514 void glBindImageTextures (GLuint, GLsizei, const(GLuint)*);
1515 void glBindVertexBuffers (GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizei)*);
1518 // ARB_ES3_1_compatibility
1519 extern(System) @nogc nothrow {
1520 void glMemoryBarrierByRegion (GLbitfield);
1523 // ARB_direct_state_access
1524 extern(System) @nogc nothrow {
1525 void glCreateTransformFeedbacks (GLsizei, GLuint*);
1526 void glTransformFeedbackBufferBase (GLsizei, GLuint, GLuint);
1527 void glTransformFeedbackBufferRange (GLuint, GLuint, GLuint, GLintptr, GLsizei);
1528 void glGetTransformFeedbackiv (GLuint, GLenum, GLint*);
1529 void glGetTransformFeedbacki_v (GLuint, GLenum, GLuint, GLint*);
1530 void glGetTransformFeedbacki64_v (GLuint, GLenum, GLuint, GLint64*);
1531 void glCreateBuffers (GLsizei, GLuint*);
1532 void glNamedBufferStorage (GLuint, GLsizeiptr, const(void)*, GLbitfield);
1533 void glNamedBufferData (GLuint, GLsizeiptr, const(void)*, GLenum);
1534 void glNamedBufferSubData (GLuint, GLintptr, GLsizeiptr, const(void)*);
1535 void glCopyNamedBufferSubData (GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr);
1536 void glClearNamedBufferData (GLuint, GLenum, GLenum, GLenum, const(void)*);
1537 void glClearNamedBufferSubData (GLuint, GLenum, GLintptr, GLsizeiptr, GLenum, GLenum, const(void)*);
1538 void* glMapNamedBuffer (GLuint, GLenum);
1539 void* glMapNamedBufferRange (GLuint, GLintptr, GLsizeiptr, GLbitfield);
1540 GLboolean glUnmapNamedBuffer (GLuint);
1541 void glFlushMappedNamedBufferRange (GLuint, GLintptr, GLsizeiptr);
1542 void glGetNamedBufferParameteriv (GLuint, GLenum, GLint*);
1543 void glGetNamedBufferParameteri64v (GLuint, GLenum, GLint64*);
1544 void glGetNamedBufferPointerv (GLuint, GLenum, void**);
1545 void glGetNamedBufferSubData (GLuint, GLintptr, GLsizeiptr, void*);
1546 void glCreateFramebuffers (GLsizei, GLuint*);
1547 void glNamedFramebufferRenderbuffer (GLuint, GLenum, GLenum, GLuint);
1548 void glNamedFramebufferParameteri (GLuint, GLenum, GLint);
1549 void glNamedFramebufferTexture (GLuint, GLenum, GLuint, GLint);
1550 void glNamedFramebufferTextureLayer (GLuint, GLenum, GLuint, GLint, GLint);
1551 void glNamedFramebufferDrawBuffer (GLuint, GLenum);
1552 void glNamedFramebufferDrawBuffers (GLuint, GLsizei, const(GLenum)*);
1553 void glNamedFramebufferReadBuffer (GLuint, GLenum);
1554 void glInvalidateNamedFramebufferData (GLuint, GLsizei, const(GLenum)*);
1555 void glInvalidateNamedFramebufferSubData (GLuint, GLsizei, const(GLenum)*, GLint, GLint, GLsizei, GLsizei);
1556 void glClearNamedFramebufferiv (GLuint, GLenum, GLint, const(GLint)*);
1557 void glClearNamedFramebufferuiv (GLuint, GLenum, GLint, const(GLuint)*);
1558 void glClearNamedFramebufferfv (GLuint, GLenum, GLint, const(GLfloat)*);
1559 void glClearNamedFramebufferfi (GLuint, GLenum, GLfloat, GLint);
1560 void glBlitNamedFramebuffer (GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
1561 GLenum glCheckNamedFramebufferStatus (GLuint, GLenum);
1562 void glGetNamedFramebufferParameteriv (GLuint, GLenum, GLint*);
1563 void glGetNamedFramebufferAttachmentParameteriv (GLuint, GLenum, GLenum, GLint*);
1564 void glCreateRenderbuffers (GLsizei, GLuint*);
1565 void glNamedRenderbufferStorage (GLuint, GLenum, GLsizei, GLsizei);
1566 void glNamedRenderbufferStorageMultisample (GLuint, GLsizei, GLenum, GLsizei, GLsizei);
1567 void glGetNamedRenderbufferParameteriv (GLuint, GLenum, GLint*);
1568 void glCreateTextures (GLenum, GLsizei, GLuint*);
1569 void glTextureBuffer (GLuint, GLenum, GLuint);
1570 void glTextureBufferRange (GLuint, GLenum, GLuint, GLintptr, GLsizeiptr);
1571 void glTextureStorage1D (GLuint, GLsizei, GLenum, GLsizei);
1572 void glTextureStorage2D (GLuint, GLsizei, GLenum, GLsizei, GLsizei);
1573 void glTextureStorage3D (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei);
1574 void glTextureStorage2DMultisample (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
1575 void glTextureStorage3DMultisample (GLuint, GLsizei, GLenum, GLsizei, GLsizei, GLsizei, GLboolean);
1576 void glTextureSubImage1D (GLuint, GLint, GLint, GLsizei, GLenum, GLenum, const(void)*);
1577 void glTextureSubImage2D (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
1578 void glTextureSubImage3D (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
1579 void glCompressedTextureSubImage1D (GLuint, GLint, GLint, GLsizei, GLenum, GLsizei, const(void)*);
1580 void glCompressedTextureSubImage2D (GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const(void)*);
1581 void glCompressedTextureSubImage3D (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const(void)*);
1582 void glCopyTextureSubImage1D (GLuint, GLint, GLint, GLint, GLint, GLsizei);
1583 void glCopyTextureSubImage2D (GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
1584 void glCopyTextureSubImage3D (GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
1585 void glTextureParameterf (GLuint, GLenum, GLfloat);
1586 void glTextureParameterfv (GLuint, GLenum, const(GLfloat)*);
1587 void glTextureParameteri (GLuint, GLenum, GLint);
1588 void glTextureParameterIiv (GLuint, GLenum, const(GLint)*);
1589 void glTextureParameterIuiv (GLuint, GLenum, const(GLuint)*);
1590 void glTextureParameteriv (GLuint, GLenum, const(GLint)*);
1591 void glGenerateTextureMipmap (GLuint);
1592 void glBindTextureUnit (GLuint, GLuint);
1593 void glGetTextureImage (GLuint, GLint, GLenum, GLenum, GLsizei, void*);
1594 void glGetCompressedTextureImage (GLuint, GLint, GLsizei, void*);
1595 void glGetTextureLevelParameterfv (GLuint, GLint, GLenum, GLfloat*);
1596 void glGetTextureLevelParameteriv (GLuint, GLint, GLenum, GLint*);
1597 void glGetTextureParameterfv (GLuint, GLenum, GLfloat*);
1598 void glGetTextureParameterIiv (GLuint, GLenum, GLint*);
1599 void glGetTextureParameterIuiv (GLuint, GLenum, GLuint*);
1600 void glGetTextureParameteriv (GLuint, GLenum, GLint*);
1601 void glCreateVertexArrays (GLsizei, GLuint*);
1602 void glDisableVertexArrayAttrib (GLuint, GLuint);
1603 void glEnableVertexArrayAttrib (GLuint, GLuint);
1604 void glVertexArrayElementBuffer (GLuint, GLuint);
1605 void glVertexArrayVertexBuffer (GLuint, GLuint, GLuint, GLintptr, GLsizei);
1606 void glVertexArrayVertexBuffers (GLuint, GLuint, GLsizei, const(GLuint)*, const(GLintptr)*, const(GLsizei)*);
1607 void glVertexArrayAttribFormat (GLuint, GLuint, GLint, GLenum, GLboolean, GLuint);
1608 void glVertexArrayAttribIFormat (GLuint, GLuint, GLint, GLenum, GLuint);
1609 void glVertexArrayAttribLFormat (GLuint, GLuint, GLint, GLenum, GLuint);
1610 void glVertexArrayAttribBinding (GLuint, GLuint, GLuint);
1611 void glVertexArrayBindingDivisor (GLuint, GLuint, GLuint);
1612 void glGetVertexArrayiv (GLuint, GLenum, GLint*);
1613 void glGetVertexArrayIndexediv (GLuint, GLuint, GLenum, GLint*);
1614 void glGetVertexArrayIndexed64iv (GLuint, GLuint, GLenum, GLint64*);
1615 void glCreateSamplers (GLsizei, GLuint*);
1616 void glCreateProgramPipelines (GLsizei, GLuint*);
1617 void glCreateQueries (GLenum, GLsizei, GLuint*);
1618 void glGetQueryBufferObjectiv (GLuint, GLuint, GLenum, GLintptr);
1619 void glGetQueryBufferObjectuiv (GLuint, GLuint, GLenum, GLintptr);
1620 void glGetQueryBufferObjecti64v (GLuint, GLuint, GLenum, GLintptr);
1621 void glGetQueryBufferObjectui64v (GLuint, GLuint, GLenum, GLintptr);
1624 // ARB_get_texture_sub_image
1625 extern(System) @nogc nothrow {
1626 void glGetTextureSubImage (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*);
1627 void glGetCompressedTextureSubImage (GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void*);
1630 // KHR_robustness
1631 extern(System) @nogc nothrow {
1632 GLenum glGetGraphicsResetStatus ();
1633 void glReadnPixels (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, void*);
1634 void glGetnUniformfv (GLuint, GLint, GLsizei, GLfloat*);
1635 void glGetnUniformiv (GLuint, GLint, GLsizei, GLint*);
1636 void glGetnUniformuiv (GLuint, GLint, GLsizei, GLuint*);
1639 // ARB_texture_barrier
1640 extern(System) @nogc nothrow {
1641 void glTextureBarrier ();