gl_4_5.zig(1)

glfmn.io gl_4_5.zig(1)
Name

gl_4_5.zig

Generated OpenGL 4.5 bindings for zig programs

Description

The file contains a lot of top-level types functions which correspond to OpenGL API functions defined in the OpenGL Registry XML.

pub fn createVertexArrays(_n: GLsizei, _arrays: [*c]GLuint) callconv(.C) void {
    return @call(.always_tail, function_pointers.glCreateVertexArrays, .{_n, _arrays});
}

Each calling a function pointer stored in a global struct which is undefined at the start of the program.

const function_pointers = struct {
    // truncated
    var glCreateVertexArrays: *const function_signatures.glCreateVertexArrays = undefined;
}

The function pointer must be set by a function called load before it can be called.

/// Loader API:
pub fn load(load_ctx: anytype, get_proc_address: fn(@TypeOf(load_ctx), [:0]const u8) ?FunctionPointer) !void {
    // Truncated
    if(get_proc_address(load_ctx, "glCreateVertexArrays")) |proc| {
        function_pointers.glCreateVertexArrays = @ptrCast(proc);
    } else {
        log.err("entry point glCreateVertexArrays not found!", .{});
        success = false;
    }
}

The key is passing a get_proc_address function to the loader which, given the name of an OpenGL function, can provide a pointer to that function. Typically, this function is provided by a framework like glfw or EGL or the OS.

In addition to functions, this file contains many type and constant definitions:

pub const GLenum = c_uint;
pub const GLboolean = u8;
pub const GLbitfield = c_uint;
pub const GLbyte = i8;
pub const GLubyte = u8;
pub const GLshort = i16;
pub const GLushort = u16;
pub const GLint = c_int;
pub const GLuint = c_uint;

Note that these types are not so-called "new-types" and a variable of type GLuint can be passed in place of a GLenum without any issues.

pub const DEPTH_BUFFER_BIT = 0x00000100;
pub const STENCIL_BUFFER_BIT = 0x00000400;
pub const COLOR_BUFFER_BIT = 0x00004000;
pub const FALSE = 0;
pub const TRUE = 1;

Note the constants have no type specified and are thus comptime_int.

Generating

This file was generated by zig-opengl according to the following steps:

  1. Clone the repository and enter the directory.
  2. Use dotnet to run the generator and create the bindings file.
git clone --recursive https://github.com/MasterQ32/zig-opengl && cd zig-opengl
dotnet run OpenGL-Registry/xml/gl.xml gl_4_5.zig GL_VERSION_4_5

dotnet 7.0 is the .NET runtime required to run the zig-opengl generator, which is written in C#.

Contents

1//
2// This code file is licenced under any of Public Domain, WTFPL or CC0.
3// There are no restrictions in the use of this file.
4//
5
6//
7// Generation parameters:
8// API: GL_VERSION_4_5
9// Profile: core
10// Extensions:
11//
12
13//
14// This file was generated with the following command line:
15// dotnet run OpenGL-Registry/xml/gl.xml gl_4_5.zig GL_VERSION_4_5
16//
17
18const std = @import("std");
19const builtin = @import("builtin");
20const log = std.log.scoped(.OpenGL);
21
22pub const FunctionPointer: type = *align(@alignOf(fn (u32) callconv(.C) u32)) const anyopaque;
23
24pub const GLenum = c_uint;
25pub const GLboolean = u8;
26pub const GLbitfield = c_uint;
27pub const GLbyte = i8;
28pub const GLubyte = u8;
29pub const GLshort = i16;
30pub const GLushort = u16;
31pub const GLint = c_int;
32pub const GLuint = c_uint;
33pub const GLclampx = i32;
34pub const GLsizei = c_int;
35pub const GLfloat = f32;
36pub const GLclampf = f32;
37pub const GLdouble = f64;
38pub const GLclampd = f64;
39pub const GLeglClientBufferEXT = void;
40pub const GLeglImageOES = void;
41pub const GLchar = u8;
42pub const GLcharARB = u8;
43
44pub const GLhandleARB = if (builtin.os.tag == .macos) *anyopaque else c_uint;
45
46pub const GLhalf = u16;
47pub const GLhalfARB = u16;
48pub const GLfixed = i32;
49pub const GLintptr = usize;
50pub const GLintptrARB = usize;
51pub const GLsizeiptr = isize;
52pub const GLsizeiptrARB = isize;
53pub const GLint64 = i64;
54pub const GLint64EXT = i64;
55pub const GLuint64 = u64;
56pub const GLuint64EXT = u64;
57
58pub const GLsync = *opaque {};
59
60pub const _cl_context = opaque {};
61pub const _cl_event = opaque {};
62
63pub const GLDEBUGPROC = *const fn (source: GLenum, _type: GLenum, id: GLuint, severity: GLenum, length: GLsizei, message: [*:0]const u8, userParam: ?*anyopaque) callconv(.C) void;
64pub const GLDEBUGPROCARB = *const fn (source: GLenum, _type: GLenum, id: GLuint, severity: GLenum, length: GLsizei, message: [*:0]const u8, userParam: ?*anyopaque) callconv(.C) void;
65pub const GLDEBUGPROCKHR = *const fn (source: GLenum, _type: GLenum, id: GLuint, severity: GLenum, length: GLsizei, message: [*:0]const u8, userParam: ?*anyopaque) callconv(.C) void;
66
67pub const GLDEBUGPROCAMD = *const fn (id: GLuint, category: GLenum, severity: GLenum, length: GLsizei, message: [*:0]const u8, userParam: ?*anyopaque) callconv(.C) void;
68
69pub const GLhalfNV = u16;
70pub const GLvdpauSurfaceNV = GLintptr;
71pub const GLVULKANPROCNV = *const fn () callconv(.C) void;
72
73
74pub const DEPTH_BUFFER_BIT = 0x00000100;
75pub const STENCIL_BUFFER_BIT = 0x00000400;
76pub const COLOR_BUFFER_BIT = 0x00004000;
77pub const FALSE = 0;
78pub const TRUE = 1;
79pub const POINTS = 0x0000;
80pub const LINES = 0x0001;
81pub const LINE_LOOP = 0x0002;
82pub const LINE_STRIP = 0x0003;
83pub const TRIANGLES = 0x0004;
84pub const TRIANGLE_STRIP = 0x0005;
85pub const TRIANGLE_FAN = 0x0006;
86pub const COMPRESSED_SRGB8_ETC2 = 0x9275;
87pub const NEVER = 0x0200;
88pub const LESS = 0x0201;
89pub const EQUAL = 0x0202;
90pub const LEQUAL = 0x0203;
91pub const GREATER = 0x0204;
92pub const NOTEQUAL = 0x0205;
93pub const GEQUAL = 0x0206;
94pub const ALWAYS = 0x0207;
95pub const ZERO = 0;
96pub const ONE = 1;
97pub const SRC_COLOR = 0x0300;
98pub const ONE_MINUS_SRC_COLOR = 0x0301;
99pub const SRC_ALPHA = 0x0302;
100pub const ONE_MINUS_SRC_ALPHA = 0x0303;
101pub const DST_ALPHA = 0x0304;
102pub const ONE_MINUS_DST_ALPHA = 0x0305;
103pub const DST_COLOR = 0x0306;
104pub const ONE_MINUS_DST_COLOR = 0x0307;
105pub const SRC_ALPHA_SATURATE = 0x0308;
106pub const NONE = 0;
107pub const FRONT_LEFT = 0x0400;
108pub const FRONT_RIGHT = 0x0401;
109pub const BACK_LEFT = 0x0402;
110pub const BACK_RIGHT = 0x0403;
111pub const FRONT = 0x0404;
112pub const BACK = 0x0405;
113pub const LEFT = 0x0406;
114pub const RIGHT = 0x0407;
115pub const FRONT_AND_BACK = 0x0408;
116pub const NO_ERROR = 0;
117pub const INVALID_ENUM = 0x0500;
118pub const INVALID_VALUE = 0x0501;
119pub const INVALID_OPERATION = 0x0502;
120pub const OUT_OF_MEMORY = 0x0505;
121pub const CW = 0x0900;
122pub const CCW = 0x0901;
123pub const POINT_SIZE = 0x0B11;
124pub const POINT_SIZE_RANGE = 0x0B12;
125pub const POINT_SIZE_GRANULARITY = 0x0B13;
126pub const LINE_SMOOTH = 0x0B20;
127pub const LINE_WIDTH = 0x0B21;
128pub const LINE_WIDTH_RANGE = 0x0B22;
129pub const LINE_WIDTH_GRANULARITY = 0x0B23;
130pub const POLYGON_MODE = 0x0B40;
131pub const POLYGON_SMOOTH = 0x0B41;
132pub const CULL_FACE = 0x0B44;
133pub const CULL_FACE_MODE = 0x0B45;
134pub const FRONT_FACE = 0x0B46;
135pub const DEPTH_RANGE = 0x0B70;
136pub const DEPTH_TEST = 0x0B71;
137pub const DEPTH_WRITEMASK = 0x0B72;
138pub const DEPTH_CLEAR_VALUE = 0x0B73;
139pub const DEPTH_FUNC = 0x0B74;
140pub const STENCIL_TEST = 0x0B90;
141pub const STENCIL_CLEAR_VALUE = 0x0B91;
142pub const STENCIL_FUNC = 0x0B92;
143pub const STENCIL_VALUE_MASK = 0x0B93;
144pub const STENCIL_FAIL = 0x0B94;
145pub const STENCIL_PASS_DEPTH_FAIL = 0x0B95;
146pub const STENCIL_PASS_DEPTH_PASS = 0x0B96;
147pub const STENCIL_REF = 0x0B97;
148pub const STENCIL_WRITEMASK = 0x0B98;
149pub const VIEWPORT = 0x0BA2;
150pub const DITHER = 0x0BD0;
151pub const BLEND_DST = 0x0BE0;
152pub const BLEND_SRC = 0x0BE1;
153pub const BLEND = 0x0BE2;
154pub const LOGIC_OP_MODE = 0x0BF0;
155pub const DRAW_BUFFER = 0x0C01;
156pub const READ_BUFFER = 0x0C02;
157pub const SCISSOR_BOX = 0x0C10;
158pub const SCISSOR_TEST = 0x0C11;
159pub const COLOR_CLEAR_VALUE = 0x0C22;
160pub const COLOR_WRITEMASK = 0x0C23;
161pub const DOUBLEBUFFER = 0x0C32;
162pub const STEREO = 0x0C33;
163pub const LINE_SMOOTH_HINT = 0x0C52;
164pub const POLYGON_SMOOTH_HINT = 0x0C53;
165pub const UNPACK_SWAP_BYTES = 0x0CF0;
166pub const UNPACK_LSB_FIRST = 0x0CF1;
167pub const UNPACK_ROW_LENGTH = 0x0CF2;
168pub const UNPACK_SKIP_ROWS = 0x0CF3;
169pub const UNPACK_SKIP_PIXELS = 0x0CF4;
170pub const UNPACK_ALIGNMENT = 0x0CF5;
171pub const PACK_SWAP_BYTES = 0x0D00;
172pub const PACK_LSB_FIRST = 0x0D01;
173pub const PACK_ROW_LENGTH = 0x0D02;
174pub const PACK_SKIP_ROWS = 0x0D03;
175pub const PACK_SKIP_PIXELS = 0x0D04;
176pub const PACK_ALIGNMENT = 0x0D05;
177pub const MAX_TEXTURE_SIZE = 0x0D33;
178pub const MAX_VIEWPORT_DIMS = 0x0D3A;
179pub const SUBPIXEL_BITS = 0x0D50;
180pub const TEXTURE_1D = 0x0DE0;
181pub const TEXTURE_2D = 0x0DE1;
182pub const TEXTURE_WIDTH = 0x1000;
183pub const TEXTURE_HEIGHT = 0x1001;
184pub const TEXTURE_BORDER_COLOR = 0x1004;
185pub const DONT_CARE = 0x1100;
186pub const FASTEST = 0x1101;
187pub const NICEST = 0x1102;
188pub const BYTE = 0x1400;
189pub const UNSIGNED_BYTE = 0x1401;
190pub const SHORT = 0x1402;
191pub const UNSIGNED_SHORT = 0x1403;
192pub const INT = 0x1404;
193pub const UNSIGNED_INT = 0x1405;
194pub const FLOAT = 0x1406;
195pub const CLEAR = 0x1500;
196pub const AND = 0x1501;
197pub const AND_REVERSE = 0x1502;
198pub const COPY = 0x1503;
199pub const AND_INVERTED = 0x1504;
200pub const NOOP = 0x1505;
201pub const XOR = 0x1506;
202pub const OR = 0x1507;
203pub const NOR = 0x1508;
204pub const EQUIV = 0x1509;
205pub const INVERT = 0x150A;
206pub const OR_REVERSE = 0x150B;
207pub const COPY_INVERTED = 0x150C;
208pub const OR_INVERTED = 0x150D;
209pub const NAND = 0x150E;
210pub const SET = 0x150F;
211pub const TEXTURE = 0x1702;
212pub const COLOR = 0x1800;
213pub const DEPTH = 0x1801;
214pub const STENCIL = 0x1802;
215pub const STENCIL_INDEX = 0x1901;
216pub const DEPTH_COMPONENT = 0x1902;
217pub const RED = 0x1903;
218pub const GREEN = 0x1904;
219pub const BLUE = 0x1905;
220pub const ALPHA = 0x1906;
221pub const RGB = 0x1907;
222pub const RGBA = 0x1908;
223pub const POINT = 0x1B00;
224pub const LINE = 0x1B01;
225pub const FILL = 0x1B02;
226pub const KEEP = 0x1E00;
227pub const REPLACE = 0x1E01;
228pub const INCR = 0x1E02;
229pub const DECR = 0x1E03;
230pub const VENDOR = 0x1F00;
231pub const RENDERER = 0x1F01;
232pub const VERSION = 0x1F02;
233pub const EXTENSIONS = 0x1F03;
234pub const NEAREST = 0x2600;
235pub const LINEAR = 0x2601;
236pub const NEAREST_MIPMAP_NEAREST = 0x2700;
237pub const LINEAR_MIPMAP_NEAREST = 0x2701;
238pub const NEAREST_MIPMAP_LINEAR = 0x2702;
239pub const LINEAR_MIPMAP_LINEAR = 0x2703;
240pub const TEXTURE_MAG_FILTER = 0x2800;
241pub const TEXTURE_MIN_FILTER = 0x2801;
242pub const TEXTURE_WRAP_S = 0x2802;
243pub const TEXTURE_WRAP_T = 0x2803;
244pub const REPEAT = 0x2901;
245pub const MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE;
246pub const MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB;
247pub const MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266;
248pub const MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265;
249pub const MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264;
250pub const MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263;
251pub const MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262;
252pub const MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD;
253pub const MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC;
254pub const MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB;
255pub const COMPUTE_SHADER = 0x91B9;
256pub const MAX_ELEMENT_INDEX = 0x8D6B;
257pub const ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
258pub const PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
259pub const COMPRESSED_SIGNED_RG11_EAC = 0x9273;
260pub const COMPRESSED_RG11_EAC = 0x9272;
261pub const COMPRESSED_SIGNED_R11_EAC = 0x9271;
262pub const COMPRESSED_R11_EAC = 0x9270;
263pub const COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
264pub const COMPRESSED_RGB8_ETC2 = 0x9274;
265pub const VERTEX_ATTRIB_ARRAY_LONG = 0x874E;
266pub const NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9;
267pub const TEXTURE_IMMUTABLE_FORMAT = 0x912F;
268pub const COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F;
269pub const COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E;
270pub const COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D;
271pub const COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C;
272pub const MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF;
273pub const MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE;
274pub const MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD;
275pub const MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC;
276pub const MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB;
277pub const MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA;
278pub const IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9;
279pub const IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8;
280pub const IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7;
281pub const IMAGE_BINDING_FORMAT = 0x906E;
282pub const MAX_IMAGE_SAMPLES = 0x906D;
283pub const UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C;
284pub const UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B;
285pub const UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A;
286pub const UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069;
287pub const UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068;
288pub const UNSIGNED_INT_IMAGE_BUFFER = 0x9067;
289pub const UNSIGNED_INT_IMAGE_CUBE = 0x9066;
290pub const UNSIGNED_INT_IMAGE_2D_RECT = 0x9065;
291pub const UNSIGNED_INT_IMAGE_3D = 0x9064;
292pub const INT_IMAGE_CUBE = 0x905B;
293pub const INT_IMAGE_2D_RECT = 0x905A;
294pub const INT_IMAGE_3D = 0x9059;
295pub const INT_IMAGE_2D = 0x9058;
296pub const INT_IMAGE_1D = 0x9057;
297pub const IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056;
298pub const IMAGE_2D_MULTISAMPLE = 0x9055;
299pub const IMAGE_CUBE_MAP_ARRAY = 0x9054;
300pub const IMAGE_2D_ARRAY = 0x9053;
301pub const IMAGE_1D_ARRAY = 0x9052;
302pub const IMAGE_BUFFER = 0x9051;
303pub const IMAGE_CUBE = 0x9050;
304pub const IMAGE_2D_RECT = 0x904F;
305pub const IMAGE_3D = 0x904E;
306pub const IMAGE_2D = 0x904D;
307pub const IMAGE_1D = 0x904C;
308pub const IMAGE_BINDING_ACCESS = 0x8F3E;
309pub const IMAGE_BINDING_LAYER = 0x8F3D;
310pub const IMAGE_BINDING_LAYERED = 0x8F3C;
311pub const IMAGE_BINDING_LEVEL = 0x8F3B;
312pub const IMAGE_BINDING_NAME = 0x8F3A;
313pub const MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39;
314pub const MAX_IMAGE_UNITS = 0x8F38;
315pub const ALL_BARRIER_BITS = 0xFFFFFFFF;
316pub const ATOMIC_COUNTER_BARRIER_BIT = 0x00001000;
317pub const TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800;
318pub const FRAMEBUFFER_BARRIER_BIT = 0x00000400;
319pub const BUFFER_UPDATE_BARRIER_BIT = 0x00000200;
320pub const TEXTURE_UPDATE_BARRIER_BIT = 0x00000100;
321pub const PIXEL_BUFFER_BARRIER_BIT = 0x00000080;
322pub const COMMAND_BARRIER_BIT = 0x00000040;
323pub const SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020;
324pub const TEXTURE_FETCH_BARRIER_BIT = 0x00000008;
325pub const UNIFORM_BARRIER_BIT = 0x00000004;
326pub const ELEMENT_ARRAY_BARRIER_BIT = 0x00000002;
327pub const VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001;
328pub const UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB;
329pub const UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA;
330pub const ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9;
331pub const MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC;
332pub const MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8;
333pub const MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7;
334pub const MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6;
335pub const MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5;
336pub const MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4;
337pub const MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2;
338pub const MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1;
339pub const MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0;
340pub const MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE;
341pub const MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD;
342pub const MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC;
343pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB;
344pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA;
345pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9;
346pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8;
347pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7;
348pub const ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6;
349pub const ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5;
350pub const ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4;
351pub const ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3;
352pub const ATOMIC_COUNTER_BUFFER_START = 0x92C2;
353pub const ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1;
354pub const ATOMIC_COUNTER_BUFFER = 0x92C0;
355pub const MIN_MAP_BUFFER_ALIGNMENT = 0x90BC;
356pub const NUM_SAMPLE_COUNTS = 0x9380;
357pub const PACK_COMPRESSED_BLOCK_SIZE = 0x912E;
358pub const PACK_COMPRESSED_BLOCK_DEPTH = 0x912D;
359pub const PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C;
360pub const PACK_COMPRESSED_BLOCK_WIDTH = 0x912B;
361pub const UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A;
362pub const UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129;
363pub const UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128;
364pub const UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127;
365pub const TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
366pub const TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
367pub const COPY_WRITE_BUFFER_BINDING = 0x8F37;
368pub const COPY_READ_BUFFER_BINDING = 0x8F36;
369pub const UNDEFINED_VERTEX = 0x8260;
370pub const VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F;
371pub const LAYER_PROVOKING_VERTEX = 0x825E;
372pub const VIEWPORT_BOUNDS_RANGE = 0x825D;
373pub const VIEWPORT_SUBPIXEL_BITS = 0x825C;
374pub const MAX_VIEWPORTS = 0x825B;
375pub const PROGRAM_PIPELINE_BINDING = 0x825A;
376pub const ACTIVE_PROGRAM = 0x8259;
377pub const PROGRAM_SEPARABLE = 0x8258;
378pub const ALL_SHADER_BITS = 0xFFFFFFFF;
379pub const TESS_EVALUATION_SHADER_BIT = 0x00000010;
380pub const TESS_CONTROL_SHADER_BIT = 0x00000008;
381pub const GEOMETRY_SHADER_BIT = 0x00000004;
382pub const FRAGMENT_SHADER_BIT = 0x00000002;
383pub const VERTEX_SHADER_BIT = 0x00000001;
384pub const PROGRAM_BINARY_FORMATS = 0x87FF;
385pub const NUM_PROGRAM_BINARY_FORMATS = 0x87FE;
386pub const PROGRAM_BINARY_LENGTH = 0x8741;
387pub const PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257;
388pub const RGB565 = 0x8D62;
389pub const MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
390pub const MAX_VARYING_VECTORS = 0x8DFC;
391pub const MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
392pub const NUM_SHADER_BINARY_FORMATS = 0x8DF9;
393pub const SHADER_BINARY_FORMATS = 0x8DF8;
394pub const SHADER_COMPILER = 0x8DFA;
395pub const HIGH_INT = 0x8DF5;
396pub const MEDIUM_INT = 0x8DF4;
397pub const LOW_INT = 0x8DF3;
398pub const HIGH_FLOAT = 0x8DF2;
399pub const MEDIUM_FLOAT = 0x8DF1;
400pub const LOW_FLOAT = 0x8DF0;
401pub const IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
402pub const IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A;
403pub const FIXED = 0x140C;
404pub const MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70;
405pub const ISOLINES = 0x8E7A;
406pub const TESS_GEN_POINT_MODE = 0x8E79;
407pub const TESS_GEN_VERTEX_ORDER = 0x8E78;
408pub const TESS_GEN_SPACING = 0x8E77;
409pub const TESS_GEN_MODE = 0x8E76;
410pub const TESS_CONTROL_OUTPUT_VERTICES = 0x8E75;
411pub const PATCH_DEFAULT_OUTER_LEVEL = 0x8E74;
412pub const PATCH_DEFAULT_INNER_LEVEL = 0x8E73;
413pub const PATCH_VERTICES = 0x8E72;
414pub const PATCHES = 0x000E;
415pub const VERTEX_BINDING_BUFFER = 0x8F4F;
416pub const MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA;
417pub const MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9;
418pub const VERTEX_BINDING_STRIDE = 0x82D8;
419pub const VERTEX_BINDING_OFFSET = 0x82D7;
420pub const VERTEX_BINDING_DIVISOR = 0x82D6;
421pub const VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5;
422pub const VERTEX_ATTRIB_BINDING = 0x82D4;
423pub const TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
424pub const TEXTURE_VIEW_NUM_LAYERS = 0x82DE;
425pub const TEXTURE_VIEW_MIN_LAYER = 0x82DD;
426pub const TEXTURE_VIEW_NUM_LEVELS = 0x82DC;
427pub const TEXTURE_VIEW_MIN_LEVEL = 0x82DB;
428pub const TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F;
429pub const TEXTURE_BUFFER_SIZE = 0x919E;
430pub const TEXTURE_BUFFER_OFFSET = 0x919D;
431pub const DEPTH_STENCIL_TEXTURE_MODE = 0x90EA;
432pub const MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39;
433pub const SHADER_STORAGE_BARRIER_BIT = 0x00002000;
434pub const SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF;
435pub const MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE;
436pub const MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD;
437pub const MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC;
438pub const MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB;
439pub const MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA;
440pub const MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9;
441pub const MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8;
442pub const MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7;
443pub const MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6;
444pub const SHADER_STORAGE_BUFFER_SIZE = 0x90D5;
445pub const SHADER_STORAGE_BUFFER_START = 0x90D4;
446pub const SHADER_STORAGE_BUFFER_BINDING = 0x90D3;
447pub const SHADER_STORAGE_BUFFER = 0x90D2;
448pub const IS_PER_PATCH = 0x92E7;
449pub const LOCATION_INDEX = 0x930F;
450pub const LOCATION = 0x930E;
451pub const TOP_LEVEL_ARRAY_STRIDE = 0x930D;
452pub const TOP_LEVEL_ARRAY_SIZE = 0x930C;
453pub const REFERENCED_BY_COMPUTE_SHADER = 0x930B;
454pub const REFERENCED_BY_FRAGMENT_SHADER = 0x930A;
455pub const REFERENCED_BY_GEOMETRY_SHADER = 0x9309;
456pub const REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308;
457pub const REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307;
458pub const REFERENCED_BY_VERTEX_SHADER = 0x9306;
459pub const ACTIVE_VARIABLES = 0x9305;
460pub const NUM_ACTIVE_VARIABLES = 0x9304;
461pub const BUFFER_DATA_SIZE = 0x9303;
462pub const BUFFER_BINDING = 0x9302;
463pub const ATOMIC_COUNTER_BUFFER_INDEX = 0x9301;
464pub const IS_ROW_MAJOR = 0x9300;
465pub const MATRIX_STRIDE = 0x92FF;
466pub const ARRAY_STRIDE = 0x92FE;
467pub const BLOCK_INDEX = 0x92FD;
468pub const OFFSET = 0x92FC;
469pub const ARRAY_SIZE = 0x92FB;
470pub const TYPE = 0x92FA;
471pub const NAME_LENGTH = 0x92F9;
472pub const MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8;
473pub const MAX_NUM_ACTIVE_VARIABLES = 0x92F7;
474pub const MAX_NAME_LENGTH = 0x92F6;
475pub const ACTIVE_RESOURCES = 0x92F5;
476pub const TRANSFORM_FEEDBACK_VARYING = 0x92F4;
477pub const COMPUTE_SUBROUTINE_UNIFORM = 0x92F3;
478pub const FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2;
479pub const GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1;
480pub const TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0;
481pub const TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF;
482pub const VERTEX_SUBROUTINE_UNIFORM = 0x92EE;
483pub const COMPUTE_SUBROUTINE = 0x92ED;
484pub const FRAGMENT_SUBROUTINE = 0x92EC;
485pub const GEOMETRY_SUBROUTINE = 0x92EB;
486pub const TESS_EVALUATION_SUBROUTINE = 0x92EA;
487pub const TESS_CONTROL_SUBROUTINE = 0x92E9;
488pub const VERTEX_SUBROUTINE = 0x92E8;
489pub const SHADER_STORAGE_BLOCK = 0x92E6;
490pub const BUFFER_VARIABLE = 0x92E5;
491pub const PROGRAM_OUTPUT = 0x92E4;
492pub const PROGRAM_INPUT = 0x92E3;
493pub const UNIFORM_BLOCK = 0x92E2;
494pub const UNIFORM = 0x92E1;
495pub const VIEW_CLASS_BPTC_FLOAT = 0x82D3;
496pub const VIEW_CLASS_BPTC_UNORM = 0x82D2;
497pub const VIEW_CLASS_RGTC2_RG = 0x82D1;
498pub const VIEW_CLASS_RGTC1_RED = 0x82D0;
499pub const VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF;
500pub const VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE;
501pub const VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD;
502pub const VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC;
503pub const VIEW_CLASS_8_BITS = 0x82CB;
504pub const VIEW_CLASS_16_BITS = 0x82CA;
505pub const VIEW_CLASS_24_BITS = 0x82C9;
506pub const VIEW_CLASS_32_BITS = 0x82C8;
507pub const VIEW_CLASS_48_BITS = 0x82C7;
508pub const VIEW_CLASS_64_BITS = 0x82C6;
509pub const VIEW_CLASS_96_BITS = 0x82C5;
510pub const VIEW_CLASS_128_BITS = 0x82C4;
511pub const IMAGE_CLASS_10_10_10_2 = 0x82C3;
512pub const IMAGE_CLASS_11_11_10 = 0x82C2;
513pub const IMAGE_CLASS_1_X_8 = 0x82C1;
514pub const IMAGE_CLASS_2_X_8 = 0x82C0;
515pub const IMAGE_CLASS_4_X_8 = 0x82BF;
516pub const IMAGE_CLASS_1_X_16 = 0x82BE;
517pub const IMAGE_CLASS_2_X_16 = 0x82BD;
518pub const IMAGE_CLASS_4_X_16 = 0x82BC;
519pub const IMAGE_CLASS_1_X_32 = 0x82BB;
520pub const IMAGE_CLASS_2_X_32 = 0x82BA;
521pub const IMAGE_CLASS_4_X_32 = 0x82B9;
522pub const CAVEAT_SUPPORT = 0x82B8;
523pub const FULL_SUPPORT = 0x82B7;
524pub const VIEW_COMPATIBILITY_CLASS = 0x82B6;
525pub const TEXTURE_VIEW = 0x82B5;
526pub const CLEAR_BUFFER = 0x82B4;
527pub const TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3;
528pub const TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2;
529pub const TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1;
530pub const SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF;
531pub const SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE;
532pub const SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD;
533pub const SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC;
534pub const IMAGE_PIXEL_TYPE = 0x82AA;
535pub const IMAGE_PIXEL_FORMAT = 0x82A9;
536pub const IMAGE_COMPATIBILITY_CLASS = 0x82A8;
537pub const IMAGE_TEXEL_SIZE = 0x82A7;
538pub const SHADER_IMAGE_ATOMIC = 0x82A6;
539pub const SHADER_IMAGE_STORE = 0x82A5;
540pub const SHADER_IMAGE_LOAD = 0x82A4;
541pub const TEXTURE_GATHER_SHADOW = 0x82A3;
542pub const TEXTURE_GATHER = 0x82A2;
543pub const TEXTURE_SHADOW = 0x82A1;
544pub const COMPUTE_TEXTURE = 0x82A0;
545pub const FRAGMENT_TEXTURE = 0x829F;
546pub const GEOMETRY_TEXTURE = 0x829E;
547pub const TESS_EVALUATION_TEXTURE = 0x829D;
548pub const TESS_CONTROL_TEXTURE = 0x829C;
549pub const VERTEX_TEXTURE = 0x829B;
550pub const FILTER = 0x829A;
551pub const SRGB_WRITE = 0x8298;
552pub const SRGB_READ = 0x8297;
553pub const COLOR_ENCODING = 0x8296;
554pub const AUTO_GENERATE_MIPMAP = 0x8295;
555pub const MANUAL_GENERATE_MIPMAP = 0x8294;
556pub const MIPMAP = 0x8293;
557pub const GET_TEXTURE_IMAGE_TYPE = 0x8292;
558pub const GET_TEXTURE_IMAGE_FORMAT = 0x8291;
559pub const TEXTURE_IMAGE_TYPE = 0x8290;
560pub const TEXTURE_IMAGE_FORMAT = 0x828F;
561pub const READ_PIXELS_TYPE = 0x828E;
562pub const READ_PIXELS_FORMAT = 0x828D;
563pub const READ_PIXELS = 0x828C;
564pub const FRAMEBUFFER_BLEND = 0x828B;
565pub const FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A;
566pub const FRAMEBUFFER_RENDERABLE = 0x8289;
567pub const STENCIL_RENDERABLE = 0x8288;
568pub const DEPTH_RENDERABLE = 0x8287;
569pub const COLOR_RENDERABLE = 0x8286;
570pub const STENCIL_COMPONENTS = 0x8285;
571pub const DEPTH_COMPONENTS = 0x8284;
572pub const COLOR_COMPONENTS = 0x8283;
573pub const MAX_COMBINED_DIMENSIONS = 0x8282;
574pub const MAX_LAYERS = 0x8281;
575pub const MAX_DEPTH = 0x8280;
576pub const MAX_HEIGHT = 0x827F;
577pub const MAX_WIDTH = 0x827E;
578pub const INTERNALFORMAT_STENCIL_TYPE = 0x827D;
579pub const INTERNALFORMAT_DEPTH_TYPE = 0x827C;
580pub const INTERNALFORMAT_ALPHA_TYPE = 0x827B;
581pub const INTERNALFORMAT_BLUE_TYPE = 0x827A;
582pub const INTERNALFORMAT_GREEN_TYPE = 0x8279;
583pub const INTERNALFORMAT_RED_TYPE = 0x8278;
584pub const INTERNALFORMAT_SHARED_SIZE = 0x8277;
585pub const INTERNALFORMAT_STENCIL_SIZE = 0x8276;
586pub const INTERNALFORMAT_DEPTH_SIZE = 0x8275;
587pub const INTERNALFORMAT_ALPHA_SIZE = 0x8274;
588pub const INTERNALFORMAT_BLUE_SIZE = 0x8273;
589pub const INTERNALFORMAT_GREEN_SIZE = 0x8272;
590pub const INTERNALFORMAT_RED_SIZE = 0x8271;
591pub const INTERNALFORMAT_PREFERRED = 0x8270;
592pub const INTERNALFORMAT_SUPPORTED = 0x826F;
593pub const MAX_FRAMEBUFFER_SAMPLES = 0x9318;
594pub const MAX_FRAMEBUFFER_LAYERS = 0x9317;
595pub const MAX_FRAMEBUFFER_HEIGHT = 0x9316;
596pub const MAX_FRAMEBUFFER_WIDTH = 0x9315;
597pub const FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314;
598pub const FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313;
599pub const FRAMEBUFFER_DEFAULT_LAYERS = 0x9312;
600pub const FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311;
601pub const FRAMEBUFFER_DEFAULT_WIDTH = 0x9310;
602pub const MAX_UNIFORM_LOCATIONS = 0x826E;
603pub const CONTEXT_FLAG_DEBUG_BIT = 0x00000002;
604pub const DEBUG_OUTPUT = 0x92E0;
605pub const MAX_LABEL_LENGTH = 0x82E8;
606pub const SAMPLER = 0x82E6;
607pub const PROGRAM_PIPELINE = 0x82E4;
608pub const QUERY = 0x82E3;
609pub const VERTEX_ARRAY = 0x8074;
610pub const PROGRAM = 0x82E2;
611pub const SHADER = 0x82E1;
612pub const BUFFER = 0x82E0;
613pub const DEBUG_GROUP_STACK_DEPTH = 0x826D;
614pub const MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C;
615pub const DEBUG_SEVERITY_NOTIFICATION = 0x826B;
616pub const DEBUG_TYPE_POP_GROUP = 0x826A;
617pub const DEBUG_TYPE_PUSH_GROUP = 0x8269;
618pub const DEBUG_TYPE_MARKER = 0x8268;
619pub const DEBUG_SEVERITY_LOW = 0x9148;
620pub const DEBUG_SEVERITY_MEDIUM = 0x9147;
621pub const DEBUG_SEVERITY_HIGH = 0x9146;
622pub const DEBUG_LOGGED_MESSAGES = 0x9145;
623pub const MAX_DEBUG_LOGGED_MESSAGES = 0x9144;
624pub const MAX_DEBUG_MESSAGE_LENGTH = 0x9143;
625pub const DEBUG_TYPE_OTHER = 0x8251;
626pub const DEBUG_TYPE_PERFORMANCE = 0x8250;
627pub const DEBUG_TYPE_PORTABILITY = 0x824F;
628pub const DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E;
629pub const DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D;
630pub const DEBUG_TYPE_ERROR = 0x824C;
631pub const DEBUG_SOURCE_OTHER = 0x824B;
632pub const DEBUG_SOURCE_APPLICATION = 0x824A;
633pub const DEBUG_SOURCE_THIRD_PARTY = 0x8249;
634pub const DEBUG_SOURCE_SHADER_COMPILER = 0x8248;
635pub const DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247;
636pub const DEBUG_SOURCE_API = 0x8246;
637pub const DEBUG_CALLBACK_USER_PARAM = 0x8245;
638pub const DEBUG_CALLBACK_FUNCTION = 0x8244;
639pub const DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243;
640pub const DEBUG_OUTPUT_SYNCHRONOUS = 0x8242;
641pub const COMPUTE_SHADER_BIT = 0x00000020;
642pub const DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF;
643pub const DISPATCH_INDIRECT_BUFFER = 0x90EE;
644pub const ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED;
645pub const UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC;
646pub const COMPUTE_WORK_GROUP_SIZE = 0x8267;
647pub const MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF;
648pub const COLOR_LOGIC_OP = 0x0BF2;
649pub const POLYGON_OFFSET_UNITS = 0x2A00;
650pub const POLYGON_OFFSET_POINT = 0x2A01;
651pub const POLYGON_OFFSET_LINE = 0x2A02;
652pub const POLYGON_OFFSET_FILL = 0x8037;
653pub const POLYGON_OFFSET_FACTOR = 0x8038;
654pub const TEXTURE_BINDING_1D = 0x8068;
655pub const TEXTURE_BINDING_2D = 0x8069;
656pub const TEXTURE_INTERNAL_FORMAT = 0x1003;
657pub const TEXTURE_RED_SIZE = 0x805C;
658pub const TEXTURE_GREEN_SIZE = 0x805D;
659pub const TEXTURE_BLUE_SIZE = 0x805E;
660pub const TEXTURE_ALPHA_SIZE = 0x805F;
661pub const DOUBLE = 0x140A;
662pub const PROXY_TEXTURE_1D = 0x8063;
663pub const PROXY_TEXTURE_2D = 0x8064;
664pub const R3_G3_B2 = 0x2A10;
665pub const RGB4 = 0x804F;
666pub const RGB5 = 0x8050;
667pub const RGB8 = 0x8051;
668pub const RGB10 = 0x8052;
669pub const RGB12 = 0x8053;
670pub const RGB16 = 0x8054;
671pub const RGBA2 = 0x8055;
672pub const RGBA4 = 0x8056;
673pub const RGB5_A1 = 0x8057;
674pub const RGBA8 = 0x8058;
675pub const RGB10_A2 = 0x8059;
676pub const RGBA12 = 0x805A;
677pub const RGBA16 = 0x805B;
678pub const COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
679pub const COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
680pub const COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
681pub const UNSIGNED_INT_IMAGE_2D = 0x9063;
682pub const UNSIGNED_INT_IMAGE_1D = 0x9062;
683pub const INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061;
684pub const INT_IMAGE_2D_MULTISAMPLE = 0x9060;
685pub const INT_IMAGE_CUBE_MAP_ARRAY = 0x905F;
686pub const INT_IMAGE_2D_ARRAY = 0x905E;
687pub const INT_IMAGE_1D_ARRAY = 0x905D;
688pub const INT_IMAGE_BUFFER = 0x905C;
689pub const MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3;
690pub const MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF;
691pub const TRANSFORM_FEEDBACK_BINDING = 0x8E25;
692pub const TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24;
693pub const TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23;
694pub const TRANSFORM_FEEDBACK = 0x8E22;
695pub const TESS_CONTROL_SHADER = 0x8E88;
696pub const TESS_EVALUATION_SHADER = 0x8E87;
697pub const UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1;
698pub const UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0;
699pub const MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F;
700pub const MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E;
701pub const MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D;
702pub const MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C;
703pub const MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A;
704pub const MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89;
705pub const MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86;
706pub const MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85;
707pub const MAX_TESS_PATCH_COMPONENTS = 0x8E84;
708pub const MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83;
709pub const MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82;
710pub const MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81;
711pub const MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80;
712pub const MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F;
713pub const MAX_TESS_GEN_LEVEL = 0x8E7E;
714pub const MAX_PATCH_VERTICES = 0x8E7D;
715pub const FRACTIONAL_EVEN = 0x8E7C;
716pub const FRACTIONAL_ODD = 0x8E7B;
717pub const QUADS = 0x0007;
718pub const MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8;
719pub const COMPATIBLE_SUBROUTINES = 0x8E4B;
720pub const NUM_COMPATIBLE_SUBROUTINES = 0x8E4A;
721pub const MAX_SUBROUTINES = 0x8DE7;
722pub const ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49;
723pub const ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48;
724pub const ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47;
725pub const ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6;
726pub const ACTIVE_SUBROUTINES = 0x8DE5;
727pub const UNSIGNED_BYTE_3_3_2 = 0x8032;
728pub const UNSIGNED_SHORT_4_4_4_4 = 0x8033;
729pub const UNSIGNED_SHORT_5_5_5_1 = 0x8034;
730pub const UNSIGNED_INT_8_8_8_8 = 0x8035;
731pub const UNSIGNED_INT_10_10_10_2 = 0x8036;
732pub const TEXTURE_BINDING_3D = 0x806A;
733pub const PACK_SKIP_IMAGES = 0x806B;
734pub const PACK_IMAGE_HEIGHT = 0x806C;
735pub const UNPACK_SKIP_IMAGES = 0x806D;
736pub const UNPACK_IMAGE_HEIGHT = 0x806E;
737pub const TEXTURE_3D = 0x806F;
738pub const PROXY_TEXTURE_3D = 0x8070;
739pub const TEXTURE_DEPTH = 0x8071;
740pub const TEXTURE_WRAP_R = 0x8072;
741pub const MAX_3D_TEXTURE_SIZE = 0x8073;
742pub const UNSIGNED_BYTE_2_3_3_REV = 0x8362;
743pub const UNSIGNED_SHORT_5_6_5 = 0x8363;
744pub const UNSIGNED_SHORT_5_6_5_REV = 0x8364;
745pub const UNSIGNED_SHORT_4_4_4_4_REV = 0x8365;
746pub const UNSIGNED_SHORT_1_5_5_5_REV = 0x8366;
747pub const UNSIGNED_INT_8_8_8_8_REV = 0x8367;
748pub const UNSIGNED_INT_2_10_10_10_REV = 0x8368;
749pub const BGR = 0x80E0;
750pub const BGRA = 0x80E1;
751pub const MAX_ELEMENTS_VERTICES = 0x80E8;
752pub const MAX_ELEMENTS_INDICES = 0x80E9;
753pub const CLAMP_TO_EDGE = 0x812F;
754pub const TEXTURE_MIN_LOD = 0x813A;
755pub const TEXTURE_MAX_LOD = 0x813B;
756pub const TEXTURE_BASE_LEVEL = 0x813C;
757pub const TEXTURE_MAX_LEVEL = 0x813D;
758pub const SMOOTH_POINT_SIZE_RANGE = 0x0B12;
759pub const SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
760pub const SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
761pub const SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
762pub const ALIASED_LINE_WIDTH_RANGE = 0x846E;
763pub const TEXTURE0 = 0x84C0;
764pub const TEXTURE1 = 0x84C1;
765pub const TEXTURE2 = 0x84C2;
766pub const TEXTURE3 = 0x84C3;
767pub const TEXTURE4 = 0x84C4;
768pub const TEXTURE5 = 0x84C5;
769pub const TEXTURE6 = 0x84C6;
770pub const TEXTURE7 = 0x84C7;
771pub const TEXTURE8 = 0x84C8;
772pub const TEXTURE9 = 0x84C9;
773pub const TEXTURE10 = 0x84CA;
774pub const TEXTURE11 = 0x84CB;
775pub const TEXTURE12 = 0x84CC;
776pub const TEXTURE13 = 0x84CD;
777pub const TEXTURE14 = 0x84CE;
778pub const TEXTURE15 = 0x84CF;
779pub const TEXTURE16 = 0x84D0;
780pub const TEXTURE17 = 0x84D1;
781pub const TEXTURE18 = 0x84D2;
782pub const TEXTURE19 = 0x84D3;
783pub const TEXTURE20 = 0x84D4;
784pub const TEXTURE21 = 0x84D5;
785pub const TEXTURE22 = 0x84D6;
786pub const TEXTURE23 = 0x84D7;
787pub const TEXTURE24 = 0x84D8;
788pub const TEXTURE25 = 0x84D9;
789pub const TEXTURE26 = 0x84DA;
790pub const TEXTURE27 = 0x84DB;
791pub const TEXTURE28 = 0x84DC;
792pub const TEXTURE29 = 0x84DD;
793pub const TEXTURE30 = 0x84DE;
794pub const TEXTURE31 = 0x84DF;
795pub const ACTIVE_TEXTURE = 0x84E0;
796pub const MULTISAMPLE = 0x809D;
797pub const SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
798pub const SAMPLE_ALPHA_TO_ONE = 0x809F;
799pub const SAMPLE_COVERAGE = 0x80A0;
800pub const SAMPLE_BUFFERS = 0x80A8;
801pub const SAMPLES = 0x80A9;
802pub const SAMPLE_COVERAGE_VALUE = 0x80AA;
803pub const SAMPLE_COVERAGE_INVERT = 0x80AB;
804pub const TEXTURE_CUBE_MAP = 0x8513;
805pub const TEXTURE_BINDING_CUBE_MAP = 0x8514;
806pub const TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
807pub const TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
808pub const TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
809pub const TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
810pub const TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
811pub const TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
812pub const PROXY_TEXTURE_CUBE_MAP = 0x851B;
813pub const MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
814pub const COMPRESSED_RGB = 0x84ED;
815pub const COMPRESSED_RGBA = 0x84EE;
816pub const TEXTURE_COMPRESSION_HINT = 0x84EF;
817pub const TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0;
818pub const TEXTURE_COMPRESSED = 0x86A1;
819pub const NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
820pub const COMPRESSED_TEXTURE_FORMATS = 0x86A3;
821pub const CLAMP_TO_BORDER = 0x812D;
822pub const DOUBLE_MAT4x3 = 0x8F4E;
823pub const DOUBLE_MAT4x2 = 0x8F4D;
824pub const DOUBLE_MAT3x4 = 0x8F4C;
825pub const DOUBLE_MAT3x2 = 0x8F4B;
826pub const DOUBLE_MAT2x4 = 0x8F4A;
827pub const DOUBLE_MAT2x3 = 0x8F49;
828pub const DOUBLE_MAT4 = 0x8F48;
829pub const DOUBLE_MAT3 = 0x8F47;
830pub const DOUBLE_MAT2 = 0x8F46;
831pub const DOUBLE_VEC4 = 0x8FFE;
832pub const DOUBLE_VEC3 = 0x8FFD;
833pub const DOUBLE_VEC2 = 0x8FFC;
834pub const MAX_VERTEX_STREAMS = 0x8E71;
835pub const FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D;
836pub const MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C;
837pub const MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B;
838pub const MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A;
839pub const GEOMETRY_SHADER_INVOCATIONS = 0x887F;
840pub const DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
841pub const DRAW_INDIRECT_BUFFER = 0x8F3F;
842pub const UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F;
843pub const INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E;
844pub const SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D;
845pub const SAMPLER_CUBE_MAP_ARRAY = 0x900C;
846pub const PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B;
847pub const TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A;
848pub const TEXTURE_CUBE_MAP_ARRAY = 0x9009;
849pub const MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F;
850pub const MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E;
851pub const MIN_SAMPLE_SHADING_VALUE = 0x8C37;
852pub const SAMPLE_SHADING = 0x8C36;
853pub const INT_2_10_10_10_REV = 0x8D9F;
854pub const TIMESTAMP = 0x8E28;
855pub const TIME_ELAPSED = 0x88BF;
856pub const TEXTURE_SWIZZLE_RGBA = 0x8E46;
857pub const TEXTURE_SWIZZLE_A = 0x8E45;
858pub const TEXTURE_SWIZZLE_B = 0x8E44;
859pub const TEXTURE_SWIZZLE_G = 0x8E43;
860pub const TEXTURE_SWIZZLE_R = 0x8E42;
861pub const RGB10_A2UI = 0x906F;
862pub const BLEND_DST_RGB = 0x80C8;
863pub const BLEND_SRC_RGB = 0x80C9;
864pub const BLEND_DST_ALPHA = 0x80CA;
865pub const BLEND_SRC_ALPHA = 0x80CB;
866pub const POINT_FADE_THRESHOLD_SIZE = 0x8128;
867pub const DEPTH_COMPONENT16 = 0x81A5;
868pub const DEPTH_COMPONENT24 = 0x81A6;
869pub const DEPTH_COMPONENT32 = 0x81A7;
870pub const MIRRORED_REPEAT = 0x8370;
871pub const MAX_TEXTURE_LOD_BIAS = 0x84FD;
872pub const TEXTURE_LOD_BIAS = 0x8501;
873pub const INCR_WRAP = 0x8507;
874pub const DECR_WRAP = 0x8508;
875pub const TEXTURE_DEPTH_SIZE = 0x884A;
876pub const TEXTURE_COMPARE_MODE = 0x884C;
877pub const TEXTURE_COMPARE_FUNC = 0x884D;
878pub const SAMPLER_BINDING = 0x8919;
879pub const ANY_SAMPLES_PASSED = 0x8C2F;
880pub const MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC;
881pub const ONE_MINUS_SRC1_ALPHA = 0x88FB;
882pub const ONE_MINUS_SRC1_COLOR = 0x88FA;
883pub const SRC1_COLOR = 0x88F9;
884pub const VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
885pub const MAX_INTEGER_SAMPLES = 0x9110;
886pub const MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
887pub const MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
888pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D;
889pub const INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C;
890pub const SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B;
891pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
892pub const INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
893pub const SAMPLER_2D_MULTISAMPLE = 0x9108;
894pub const TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
895pub const TEXTURE_SAMPLES = 0x9106;
896pub const TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105;
897pub const TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
898pub const PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103;
899pub const TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102;
900pub const PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101;
901pub const TEXTURE_2D_MULTISAMPLE = 0x9100;
902pub const MAX_SAMPLE_MASK_WORDS = 0x8E59;
903pub const SAMPLE_MASK_VALUE = 0x8E52;
904pub const SAMPLE_MASK = 0x8E51;
905pub const SAMPLE_POSITION = 0x8E50;
906pub const SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
907pub const TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF;
908pub const WAIT_FAILED = 0x911D;
909pub const CONDITION_SATISFIED = 0x911C;
910pub const TIMEOUT_EXPIRED = 0x911B;
911pub const ALREADY_SIGNALED = 0x911A;
912pub const SIGNALED = 0x9119;
913pub const UNSIGNALED = 0x9118;
914pub const SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
915pub const BLEND_COLOR = 0x8005;
916pub const BLEND_EQUATION = 0x8009;
917pub const CONSTANT_COLOR = 0x8001;
918pub const ONE_MINUS_CONSTANT_COLOR = 0x8002;
919pub const CONSTANT_ALPHA = 0x8003;
920pub const ONE_MINUS_CONSTANT_ALPHA = 0x8004;
921pub const FUNC_ADD = 0x8006;
922pub const FUNC_REVERSE_SUBTRACT = 0x800B;
923pub const FUNC_SUBTRACT = 0x800A;
924pub const MIN = 0x8007;
925pub const MAX = 0x8008;
926pub const BUFFER_SIZE = 0x8764;
927pub const BUFFER_USAGE = 0x8765;
928pub const QUERY_COUNTER_BITS = 0x8864;
929pub const CURRENT_QUERY = 0x8865;
930pub const QUERY_RESULT = 0x8866;
931pub const QUERY_RESULT_AVAILABLE = 0x8867;
932pub const ARRAY_BUFFER = 0x8892;
933pub const ELEMENT_ARRAY_BUFFER = 0x8893;
934pub const ARRAY_BUFFER_BINDING = 0x8894;
935pub const ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
936pub const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
937pub const READ_ONLY = 0x88B8;
938pub const WRITE_ONLY = 0x88B9;
939pub const READ_WRITE = 0x88BA;
940pub const BUFFER_ACCESS = 0x88BB;
941pub const BUFFER_MAPPED = 0x88BC;
942pub const BUFFER_MAP_POINTER = 0x88BD;
943pub const STREAM_DRAW = 0x88E0;
944pub const STREAM_READ = 0x88E1;
945pub const STREAM_COPY = 0x88E2;
946pub const STATIC_DRAW = 0x88E4;
947pub const STATIC_READ = 0x88E5;
948pub const STATIC_COPY = 0x88E6;
949pub const DYNAMIC_DRAW = 0x88E8;
950pub const DYNAMIC_READ = 0x88E9;
951pub const DYNAMIC_COPY = 0x88EA;
952pub const SAMPLES_PASSED = 0x8914;
953pub const SRC1_ALPHA = 0x8589;
954pub const SYNC_FENCE = 0x9116;
955pub const SYNC_FLAGS = 0x9115;
956pub const SYNC_STATUS = 0x9114;
957pub const SYNC_CONDITION = 0x9113;
958pub const OBJECT_TYPE = 0x9112;
959pub const MAX_SERVER_WAIT_TIMEOUT = 0x9111;
960pub const TEXTURE_CUBE_MAP_SEAMLESS = 0x884F;
961pub const PROVOKING_VERTEX = 0x8E4F;
962pub const LAST_VERTEX_CONVENTION = 0x8E4E;
963pub const FIRST_VERTEX_CONVENTION = 0x8E4D;
964pub const QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C;
965pub const DEPTH_CLAMP = 0x864F;
966pub const CONTEXT_PROFILE_MASK = 0x9126;
967pub const MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
968pub const MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124;
969pub const MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123;
970pub const MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
971pub const BLEND_EQUATION_RGB = 0x8009;
972pub const VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
973pub const VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
974pub const VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
975pub const VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
976pub const CURRENT_VERTEX_ATTRIB = 0x8626;
977pub const VERTEX_PROGRAM_POINT_SIZE = 0x8642;
978pub const VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
979pub const STENCIL_BACK_FUNC = 0x8800;
980pub const STENCIL_BACK_FAIL = 0x8801;
981pub const STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
982pub const STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
983pub const MAX_DRAW_BUFFERS = 0x8824;
984pub const DRAW_BUFFER0 = 0x8825;
985pub const DRAW_BUFFER1 = 0x8826;
986pub const DRAW_BUFFER2 = 0x8827;
987pub const DRAW_BUFFER3 = 0x8828;
988pub const DRAW_BUFFER4 = 0x8829;
989pub const DRAW_BUFFER5 = 0x882A;
990pub const DRAW_BUFFER6 = 0x882B;
991pub const DRAW_BUFFER7 = 0x882C;
992pub const DRAW_BUFFER8 = 0x882D;
993pub const DRAW_BUFFER9 = 0x882E;
994pub const DRAW_BUFFER10 = 0x882F;
995pub const DRAW_BUFFER11 = 0x8830;
996pub const DRAW_BUFFER12 = 0x8831;
997pub const DRAW_BUFFER13 = 0x8832;
998pub const DRAW_BUFFER14 = 0x8833;
999pub const DRAW_BUFFER15 = 0x8834;
1000pub const BLEND_EQUATION_ALPHA = 0x883D;
1001pub const MAX_VERTEX_ATTRIBS = 0x8869;
1002pub const VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
1003pub const MAX_TEXTURE_IMAGE_UNITS = 0x8872;
1004pub const FRAGMENT_SHADER = 0x8B30;
1005pub const VERTEX_SHADER = 0x8B31;
1006pub const MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
1007pub const MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
1008pub const MAX_VARYING_FLOATS = 0x8B4B;
1009pub const MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
1010pub const MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
1011pub const SHADER_TYPE = 0x8B4F;
1012pub const FLOAT_VEC2 = 0x8B50;
1013pub const FLOAT_VEC3 = 0x8B51;
1014pub const FLOAT_VEC4 = 0x8B52;
1015pub const INT_VEC2 = 0x8B53;
1016pub const INT_VEC3 = 0x8B54;
1017pub const INT_VEC4 = 0x8B55;
1018pub const BOOL = 0x8B56;
1019pub const BOOL_VEC2 = 0x8B57;
1020pub const BOOL_VEC3 = 0x8B58;
1021pub const BOOL_VEC4 = 0x8B59;
1022pub const FLOAT_MAT2 = 0x8B5A;
1023pub const FLOAT_MAT3 = 0x8B5B;
1024pub const FLOAT_MAT4 = 0x8B5C;
1025pub const SAMPLER_1D = 0x8B5D;
1026pub const SAMPLER_2D = 0x8B5E;
1027pub const SAMPLER_3D = 0x8B5F;
1028pub const SAMPLER_CUBE = 0x8B60;
1029pub const SAMPLER_1D_SHADOW = 0x8B61;
1030pub const SAMPLER_2D_SHADOW = 0x8B62;
1031pub const DELETE_STATUS = 0x8B80;
1032pub const COMPILE_STATUS = 0x8B81;
1033pub const LINK_STATUS = 0x8B82;
1034pub const VALIDATE_STATUS = 0x8B83;
1035pub const INFO_LOG_LENGTH = 0x8B84;
1036pub const ATTACHED_SHADERS = 0x8B85;
1037pub const ACTIVE_UNIFORMS = 0x8B86;
1038pub const ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87;
1039pub const SHADER_SOURCE_LENGTH = 0x8B88;
1040pub const ACTIVE_ATTRIBUTES = 0x8B89;
1041pub const ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A;
1042pub const FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
1043pub const SHADING_LANGUAGE_VERSION = 0x8B8C;
1044pub const CURRENT_PROGRAM = 0x8B8D;
1045pub const POINT_SPRITE_COORD_ORIGIN = 0x8CA0;
1046pub const LOWER_LEFT = 0x8CA1;
1047pub const UPPER_LEFT = 0x8CA2;
1048pub const STENCIL_BACK_REF = 0x8CA3;
1049pub const STENCIL_BACK_VALUE_MASK = 0x8CA4;
1050pub const STENCIL_BACK_WRITEMASK = 0x8CA5;
1051pub const MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1;
1052pub const MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0;
1053pub const MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF;
1054pub const GEOMETRY_OUTPUT_TYPE = 0x8918;
1055pub const PIXEL_PACK_BUFFER = 0x88EB;
1056pub const PIXEL_UNPACK_BUFFER = 0x88EC;
1057pub const PIXEL_PACK_BUFFER_BINDING = 0x88ED;
1058pub const PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
1059pub const FLOAT_MAT2x3 = 0x8B65;
1060pub const FLOAT_MAT2x4 = 0x8B66;
1061pub const FLOAT_MAT3x2 = 0x8B67;
1062pub const FLOAT_MAT3x4 = 0x8B68;
1063pub const FLOAT_MAT4x2 = 0x8B69;
1064pub const FLOAT_MAT4x3 = 0x8B6A;
1065pub const SRGB = 0x8C40;
1066pub const SRGB8 = 0x8C41;
1067pub const SRGB_ALPHA = 0x8C42;
1068pub const SRGB8_ALPHA8 = 0x8C43;
1069pub const COMPRESSED_SRGB = 0x8C48;
1070pub const COMPRESSED_SRGB_ALPHA = 0x8C49;
1071pub const GEOMETRY_INPUT_TYPE = 0x8917;
1072pub const GEOMETRY_VERTICES_OUT = 0x8916;
1073pub const GEOMETRY_SHADER = 0x8DD9;
1074pub const FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8;
1075pub const FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7;
1076pub const MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29;
1077pub const PROGRAM_POINT_SIZE = 0x8642;
1078pub const COMPARE_REF_TO_TEXTURE = 0x884E;
1079pub const CLIP_DISTANCE0 = 0x3000;
1080pub const CLIP_DISTANCE1 = 0x3001;
1081pub const CLIP_DISTANCE2 = 0x3002;
1082pub const CLIP_DISTANCE3 = 0x3003;
1083pub const CLIP_DISTANCE4 = 0x3004;
1084pub const CLIP_DISTANCE5 = 0x3005;
1085pub const CLIP_DISTANCE6 = 0x3006;
1086pub const CLIP_DISTANCE7 = 0x3007;
1087pub const MAX_CLIP_DISTANCES = 0x0D32;
1088pub const MAJOR_VERSION = 0x821B;
1089pub const MINOR_VERSION = 0x821C;
1090pub const NUM_EXTENSIONS = 0x821D;
1091pub const CONTEXT_FLAGS = 0x821E;
1092pub const COMPRESSED_RED = 0x8225;
1093pub const COMPRESSED_RG = 0x8226;
1094pub const CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001;
1095pub const RGBA32F = 0x8814;
1096pub const RGB32F = 0x8815;
1097pub const RGBA16F = 0x881A;
1098pub const RGB16F = 0x881B;
1099pub const VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
1100pub const MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
1101pub const MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
1102pub const MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
1103pub const CLAMP_READ_COLOR = 0x891C;
1104pub const FIXED_ONLY = 0x891D;
1105pub const MAX_VARYING_COMPONENTS = 0x8B4B;
1106pub const TEXTURE_1D_ARRAY = 0x8C18;
1107pub const PROXY_TEXTURE_1D_ARRAY = 0x8C19;
1108pub const TEXTURE_2D_ARRAY = 0x8C1A;
1109pub const PROXY_TEXTURE_2D_ARRAY = 0x8C1B;
1110pub const TEXTURE_BINDING_1D_ARRAY = 0x8C1C;
1111pub const TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
1112pub const R11F_G11F_B10F = 0x8C3A;
1113pub const UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
1114pub const RGB9_E5 = 0x8C3D;
1115pub const UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
1116pub const TEXTURE_SHARED_SIZE = 0x8C3F;
1117pub const TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
1118pub const TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
1119pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
1120pub const TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
1121pub const TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
1122pub const TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
1123pub const PRIMITIVES_GENERATED = 0x8C87;
1124pub const TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
1125pub const RASTERIZER_DISCARD = 0x8C89;
1126pub const MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
1127pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
1128pub const INTERLEAVED_ATTRIBS = 0x8C8C;
1129pub const SEPARATE_ATTRIBS = 0x8C8D;
1130pub const TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
1131pub const TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
1132pub const RGBA32UI = 0x8D70;
1133pub const RGB32UI = 0x8D71;
1134pub const RGBA16UI = 0x8D76;
1135pub const RGB16UI = 0x8D77;
1136pub const RGBA8UI = 0x8D7C;
1137pub const RGB8UI = 0x8D7D;
1138pub const RGBA32I = 0x8D82;
1139pub const RGB32I = 0x8D83;
1140pub const RGBA16I = 0x8D88;
1141pub const RGB16I = 0x8D89;
1142pub const RGBA8I = 0x8D8E;
1143pub const RGB8I = 0x8D8F;
1144pub const RED_INTEGER = 0x8D94;
1145pub const GREEN_INTEGER = 0x8D95;
1146pub const BLUE_INTEGER = 0x8D96;
1147pub const RGB_INTEGER = 0x8D98;
1148pub const RGBA_INTEGER = 0x8D99;
1149pub const BGR_INTEGER = 0x8D9A;
1150pub const BGRA_INTEGER = 0x8D9B;
1151pub const SAMPLER_1D_ARRAY = 0x8DC0;
1152pub const SAMPLER_2D_ARRAY = 0x8DC1;
1153pub const SAMPLER_1D_ARRAY_SHADOW = 0x8DC3;
1154pub const SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
1155pub const SAMPLER_CUBE_SHADOW = 0x8DC5;
1156pub const UNSIGNED_INT_VEC2 = 0x8DC6;
1157pub const UNSIGNED_INT_VEC3 = 0x8DC7;
1158pub const UNSIGNED_INT_VEC4 = 0x8DC8;
1159pub const INT_SAMPLER_1D = 0x8DC9;
1160pub const INT_SAMPLER_2D = 0x8DCA;
1161pub const INT_SAMPLER_3D = 0x8DCB;
1162pub const INT_SAMPLER_CUBE = 0x8DCC;
1163pub const INT_SAMPLER_1D_ARRAY = 0x8DCE;
1164pub const INT_SAMPLER_2D_ARRAY = 0x8DCF;
1165pub const UNSIGNED_INT_SAMPLER_1D = 0x8DD1;
1166pub const UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
1167pub const UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
1168pub const UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
1169pub const UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6;
1170pub const UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
1171pub const QUERY_WAIT = 0x8E13;
1172pub const QUERY_NO_WAIT = 0x8E14;
1173pub const QUERY_BY_REGION_WAIT = 0x8E15;
1174pub const QUERY_BY_REGION_NO_WAIT = 0x8E16;
1175pub const BUFFER_ACCESS_FLAGS = 0x911F;
1176pub const BUFFER_MAP_LENGTH = 0x9120;
1177pub const BUFFER_MAP_OFFSET = 0x9121;
1178pub const DEPTH_COMPONENT32F = 0x8CAC;
1179pub const DEPTH32F_STENCIL8 = 0x8CAD;
1180pub const FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
1181pub const INVALID_FRAMEBUFFER_OPERATION = 0x0506;
1182pub const FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
1183pub const FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
1184pub const FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
1185pub const FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
1186pub const FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
1187pub const FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
1188pub const FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
1189pub const FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
1190pub const FRAMEBUFFER_DEFAULT = 0x8218;
1191pub const FRAMEBUFFER_UNDEFINED = 0x8219;
1192pub const DEPTH_STENCIL_ATTACHMENT = 0x821A;
1193pub const MAX_RENDERBUFFER_SIZE = 0x84E8;
1194pub const DEPTH_STENCIL = 0x84F9;
1195pub const UNSIGNED_INT_24_8 = 0x84FA;
1196pub const DEPTH24_STENCIL8 = 0x88F0;
1197pub const TEXTURE_STENCIL_SIZE = 0x88F1;
1198pub const TEXTURE_RED_TYPE = 0x8C10;
1199pub const TEXTURE_GREEN_TYPE = 0x8C11;
1200pub const TEXTURE_BLUE_TYPE = 0x8C12;
1201pub const TEXTURE_ALPHA_TYPE = 0x8C13;
1202pub const TEXTURE_DEPTH_TYPE = 0x8C16;
1203pub const UNSIGNED_NORMALIZED = 0x8C17;
1204pub const FRAMEBUFFER_BINDING = 0x8CA6;
1205pub const DRAW_FRAMEBUFFER_BINDING = 0x8CA6;
1206pub const RENDERBUFFER_BINDING = 0x8CA7;
1207pub const READ_FRAMEBUFFER = 0x8CA8;
1208pub const DRAW_FRAMEBUFFER = 0x8CA9;
1209pub const READ_FRAMEBUFFER_BINDING = 0x8CAA;
1210pub const RENDERBUFFER_SAMPLES = 0x8CAB;
1211pub const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
1212pub const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
1213pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
1214pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
1215pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
1216pub const FRAMEBUFFER_COMPLETE = 0x8CD5;
1217pub const FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
1218pub const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
1219pub const FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB;
1220pub const FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC;
1221pub const FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
1222pub const MAX_COLOR_ATTACHMENTS = 0x8CDF;
1223pub const COLOR_ATTACHMENT0 = 0x8CE0;
1224pub const COLOR_ATTACHMENT1 = 0x8CE1;
1225pub const COLOR_ATTACHMENT2 = 0x8CE2;
1226pub const COLOR_ATTACHMENT3 = 0x8CE3;
1227pub const COLOR_ATTACHMENT4 = 0x8CE4;
1228pub const COLOR_ATTACHMENT5 = 0x8CE5;
1229pub const COLOR_ATTACHMENT6 = 0x8CE6;
1230pub const COLOR_ATTACHMENT7 = 0x8CE7;
1231pub const COLOR_ATTACHMENT8 = 0x8CE8;
1232pub const COLOR_ATTACHMENT9 = 0x8CE9;
1233pub const COLOR_ATTACHMENT10 = 0x8CEA;
1234pub const COLOR_ATTACHMENT11 = 0x8CEB;
1235pub const COLOR_ATTACHMENT12 = 0x8CEC;
1236pub const COLOR_ATTACHMENT13 = 0x8CED;
1237pub const COLOR_ATTACHMENT14 = 0x8CEE;
1238pub const COLOR_ATTACHMENT15 = 0x8CEF;
1239pub const COLOR_ATTACHMENT16 = 0x8CF0;
1240pub const COLOR_ATTACHMENT17 = 0x8CF1;
1241pub const COLOR_ATTACHMENT18 = 0x8CF2;
1242pub const COLOR_ATTACHMENT19 = 0x8CF3;
1243pub const COLOR_ATTACHMENT20 = 0x8CF4;
1244pub const COLOR_ATTACHMENT21 = 0x8CF5;
1245pub const COLOR_ATTACHMENT22 = 0x8CF6;
1246pub const COLOR_ATTACHMENT23 = 0x8CF7;
1247pub const COLOR_ATTACHMENT24 = 0x8CF8;
1248pub const COLOR_ATTACHMENT25 = 0x8CF9;
1249pub const COLOR_ATTACHMENT26 = 0x8CFA;
1250pub const COLOR_ATTACHMENT27 = 0x8CFB;
1251pub const COLOR_ATTACHMENT28 = 0x8CFC;
1252pub const COLOR_ATTACHMENT29 = 0x8CFD;
1253pub const COLOR_ATTACHMENT30 = 0x8CFE;
1254pub const COLOR_ATTACHMENT31 = 0x8CFF;
1255pub const DEPTH_ATTACHMENT = 0x8D00;
1256pub const STENCIL_ATTACHMENT = 0x8D20;
1257pub const FRAMEBUFFER = 0x8D40;
1258pub const RENDERBUFFER = 0x8D41;
1259pub const RENDERBUFFER_WIDTH = 0x8D42;
1260pub const RENDERBUFFER_HEIGHT = 0x8D43;
1261pub const RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
1262pub const STENCIL_INDEX1 = 0x8D46;
1263pub const STENCIL_INDEX4 = 0x8D47;
1264pub const STENCIL_INDEX8 = 0x8D48;
1265pub const STENCIL_INDEX16 = 0x8D49;
1266pub const RENDERBUFFER_RED_SIZE = 0x8D50;
1267pub const RENDERBUFFER_GREEN_SIZE = 0x8D51;
1268pub const RENDERBUFFER_BLUE_SIZE = 0x8D52;
1269pub const RENDERBUFFER_ALPHA_SIZE = 0x8D53;
1270pub const RENDERBUFFER_DEPTH_SIZE = 0x8D54;
1271pub const RENDERBUFFER_STENCIL_SIZE = 0x8D55;
1272pub const FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
1273pub const MAX_SAMPLES = 0x8D57;
1274pub const LINES_ADJACENCY = 0x000A;
1275pub const CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002;
1276pub const CONTEXT_CORE_PROFILE_BIT = 0x00000001;
1277pub const FRAMEBUFFER_SRGB = 0x8DB9;
1278pub const HALF_FLOAT = 0x140B;
1279pub const MAP_READ_BIT = 0x0001;
1280pub const MAP_WRITE_BIT = 0x0002;
1281pub const MAP_INVALIDATE_RANGE_BIT = 0x0004;
1282pub const MAP_INVALIDATE_BUFFER_BIT = 0x0008;
1283pub const MAP_FLUSH_EXPLICIT_BIT = 0x0010;
1284pub const MAP_UNSYNCHRONIZED_BIT = 0x0020;
1285pub const COMPRESSED_RED_RGTC1 = 0x8DBB;
1286pub const COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC;
1287pub const COMPRESSED_RG_RGTC2 = 0x8DBD;
1288pub const COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE;
1289pub const RG = 0x8227;
1290pub const RG_INTEGER = 0x8228;
1291pub const R8 = 0x8229;
1292pub const R16 = 0x822A;
1293pub const RG8 = 0x822B;
1294pub const RG16 = 0x822C;
1295pub const R16F = 0x822D;
1296pub const R32F = 0x822E;
1297pub const RG16F = 0x822F;
1298pub const RG32F = 0x8230;
1299pub const R8I = 0x8231;
1300pub const R8UI = 0x8232;
1301pub const R16I = 0x8233;
1302pub const R16UI = 0x8234;
1303pub const R32I = 0x8235;
1304pub const R32UI = 0x8236;
1305pub const RG8I = 0x8237;
1306pub const RG8UI = 0x8238;
1307pub const RG16I = 0x8239;
1308pub const RG16UI = 0x823A;
1309pub const RG32I = 0x823B;
1310pub const RG32UI = 0x823C;
1311pub const VERTEX_ARRAY_BINDING = 0x85B5;
1312pub const TRIANGLE_STRIP_ADJACENCY = 0x000D;
1313pub const TRIANGLES_ADJACENCY = 0x000C;
1314pub const LINE_STRIP_ADJACENCY = 0x000B;
1315pub const SAMPLER_2D_RECT = 0x8B63;
1316pub const SAMPLER_2D_RECT_SHADOW = 0x8B64;
1317pub const SAMPLER_BUFFER = 0x8DC2;
1318pub const INT_SAMPLER_2D_RECT = 0x8DCD;
1319pub const INT_SAMPLER_BUFFER = 0x8DD0;
1320pub const UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5;
1321pub const UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8;
1322pub const TEXTURE_BUFFER = 0x8C2A;
1323pub const MAX_TEXTURE_BUFFER_SIZE = 0x8C2B;
1324pub const TEXTURE_BINDING_BUFFER = 0x8C2C;
1325pub const TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D;
1326pub const TEXTURE_RECTANGLE = 0x84F5;
1327pub const TEXTURE_BINDING_RECTANGLE = 0x84F6;
1328pub const PROXY_TEXTURE_RECTANGLE = 0x84F7;
1329pub const MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8;
1330pub const R8_SNORM = 0x8F94;
1331pub const RG8_SNORM = 0x8F95;
1332pub const RGB8_SNORM = 0x8F96;
1333pub const RGBA8_SNORM = 0x8F97;
1334pub const R16_SNORM = 0x8F98;
1335pub const RG16_SNORM = 0x8F99;
1336pub const RGB16_SNORM = 0x8F9A;
1337pub const RGBA16_SNORM = 0x8F9B;
1338pub const SIGNED_NORMALIZED = 0x8F9C;
1339pub const PRIMITIVE_RESTART = 0x8F9D;
1340pub const PRIMITIVE_RESTART_INDEX = 0x8F9E;
1341pub const COPY_READ_BUFFER = 0x8F36;
1342pub const COPY_WRITE_BUFFER = 0x8F37;
1343pub const UNIFORM_BUFFER = 0x8A11;
1344pub const UNIFORM_BUFFER_BINDING = 0x8A28;
1345pub const UNIFORM_BUFFER_START = 0x8A29;
1346pub const UNIFORM_BUFFER_SIZE = 0x8A2A;
1347pub const MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
1348pub const MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C;
1349pub const MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
1350pub const MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
1351pub const MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
1352pub const MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
1353pub const MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
1354pub const MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32;
1355pub const MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
1356pub const UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
1357pub const ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35;
1358pub const ACTIVE_UNIFORM_BLOCKS = 0x8A36;
1359pub const UNIFORM_TYPE = 0x8A37;
1360pub const UNIFORM_SIZE = 0x8A38;
1361pub const UNIFORM_NAME_LENGTH = 0x8A39;
1362pub const UNIFORM_BLOCK_INDEX = 0x8A3A;
1363pub const UNIFORM_OFFSET = 0x8A3B;
1364pub const UNIFORM_ARRAY_STRIDE = 0x8A3C;
1365pub const UNIFORM_MATRIX_STRIDE = 0x8A3D;
1366pub const UNIFORM_IS_ROW_MAJOR = 0x8A3E;
1367pub const UNIFORM_BLOCK_BINDING = 0x8A3F;
1368pub const UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
1369pub const UNIFORM_BLOCK_NAME_LENGTH = 0x8A41;
1370pub const UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
1371pub const UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
1372pub const UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
1373pub const UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45;
1374pub const UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
1375pub const INVALID_INDEX = 0xFFFFFFFF;
1376pub const STACK_UNDERFLOW = 0x0504;
1377pub const STACK_OVERFLOW = 0x0503;
1378pub const MAX_VERTEX_ATTRIB_STRIDE = 0x82E5;
1379pub const PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221;
1380pub const TEXTURE_BUFFER_BINDING = 0x8C2A;
1381pub const MAP_PERSISTENT_BIT = 0x0040;
1382pub const MAP_COHERENT_BIT = 0x0080;
1383pub const DYNAMIC_STORAGE_BIT = 0x0100;
1384pub const CLIENT_STORAGE_BIT = 0x0200;
1385pub const CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000;
1386pub const BUFFER_IMMUTABLE_STORAGE = 0x821F;
1387pub const BUFFER_STORAGE_FLAGS = 0x8220;
1388pub const CLEAR_TEXTURE = 0x9365;
1389pub const LOCATION_COMPONENT = 0x934A;
1390pub const TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B;
1391pub const TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C;
1392pub const QUERY_BUFFER = 0x9192;
1393pub const QUERY_BUFFER_BARRIER_BIT = 0x00008000;
1394pub const QUERY_BUFFER_BINDING = 0x9193;
1395pub const QUERY_RESULT_NO_WAIT = 0x9194;
1396pub const MIRROR_CLAMP_TO_EDGE = 0x8743;
1397pub const CONTEXT_LOST = 0x0507;
1398pub const NEGATIVE_ONE_TO_ONE = 0x935E;
1399pub const ZERO_TO_ONE = 0x935F;
1400pub const CLIP_ORIGIN = 0x935C;
1401pub const CLIP_DEPTH_MODE = 0x935D;
1402pub const QUERY_WAIT_INVERTED = 0x8E17;
1403pub const QUERY_NO_WAIT_INVERTED = 0x8E18;
1404pub const QUERY_BY_REGION_WAIT_INVERTED = 0x8E19;
1405pub const QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A;
1406pub const MAX_CULL_DISTANCES = 0x82F9;
1407pub const MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA;
1408pub const TEXTURE_TARGET = 0x1006;
1409pub const QUERY_TARGET = 0x82EA;
1410pub const GUILTY_CONTEXT_RESET = 0x8253;
1411pub const INNOCENT_CONTEXT_RESET = 0x8254;
1412pub const UNKNOWN_CONTEXT_RESET = 0x8255;
1413pub const RESET_NOTIFICATION_STRATEGY = 0x8256;
1414pub const LOSE_CONTEXT_ON_RESET = 0x8252;
1415pub const NO_RESET_NOTIFICATION = 0x8261;
1416pub const CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004;
1417pub const CONTEXT_RELEASE_BEHAVIOR = 0x82FB;
1418pub const CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC;
1419
1420
1421pub fn texStorage2D(_target: GLenum, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void {
1422 return @call(.always_tail, function_pointers.glTexStorage2D, .{_target, _levels, _internalformat, _width, _height});
1423}
1424
1425pub fn texStorage1D(_target: GLenum, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei) callconv(.C) void {
1426 return @call(.always_tail, function_pointers.glTexStorage1D, .{_target, _levels, _internalformat, _width});
1427}
1428
1429pub fn drawTransformFeedbackStreamInstanced(_mode: GLenum, _id: GLuint, _stream: GLuint, _instancecount: GLsizei) callconv(.C) void {
1430 return @call(.always_tail, function_pointers.glDrawTransformFeedbackStreamInstanced, .{_mode, _id, _stream, _instancecount});
1431}
1432
1433pub fn drawTransformFeedbackInstanced(_mode: GLenum, _id: GLuint, _instancecount: GLsizei) callconv(.C) void {
1434 return @call(.always_tail, function_pointers.glDrawTransformFeedbackInstanced, .{_mode, _id, _instancecount});
1435}
1436
1437pub fn texStorage3D(_target: GLenum, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei) callconv(.C) void {
1438 return @call(.always_tail, function_pointers.glTexStorage3D, .{_target, _levels, _internalformat, _width, _height, _depth});
1439}
1440
1441pub fn memoryBarrier(_barriers: GLbitfield) callconv(.C) void {
1442 return @call(.always_tail, function_pointers.glMemoryBarrier, .{_barriers});
1443}
1444
1445pub fn bindImageTexture(_unit: GLuint, _texture: GLuint, _level: GLint, _layered: GLboolean, _layer: GLint, _access: GLenum, _format: GLenum) callconv(.C) void {
1446 return @call(.always_tail, function_pointers.glBindImageTexture, .{_unit, _texture, _level, _layered, _layer, _access, _format});
1447}
1448
1449pub fn getActiveAtomicCounterBufferiv(_program: GLuint, _bufferIndex: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
1450 return @call(.always_tail, function_pointers.glGetActiveAtomicCounterBufferiv, .{_program, _bufferIndex, _pname, _params});
1451}
1452
1453pub fn getInternalformativ(_target: GLenum, _internalformat: GLenum, _pname: GLenum, _count: GLsizei, _params: [*c]GLint) callconv(.C) void {
1454 return @call(.always_tail, function_pointers.glGetInternalformativ, .{_target, _internalformat, _pname, _count, _params});
1455}
1456
1457pub fn drawElementsInstancedBaseVertexBaseInstance(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei, _basevertex: GLint, _baseinstance: GLuint) callconv(.C) void {
1458 return @call(.always_tail, function_pointers.glDrawElementsInstancedBaseVertexBaseInstance, .{_mode, _count, _type, _indices, _instancecount, _basevertex, _baseinstance});
1459}
1460
1461pub fn drawElementsInstancedBaseInstance(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei, _baseinstance: GLuint) callconv(.C) void {
1462 return @call(.always_tail, function_pointers.glDrawElementsInstancedBaseInstance, .{_mode, _count, _type, _indices, _instancecount, _baseinstance});
1463}
1464
1465pub fn drawArraysInstancedBaseInstance(_mode: GLenum, _first: GLint, _count: GLsizei, _instancecount: GLsizei, _baseinstance: GLuint) callconv(.C) void {
1466 return @call(.always_tail, function_pointers.glDrawArraysInstancedBaseInstance, .{_mode, _first, _count, _instancecount, _baseinstance});
1467}
1468
1469pub fn getDoublei_v(_target: GLenum, _index: GLuint, _data: [*c]GLdouble) callconv(.C) void {
1470 return @call(.always_tail, function_pointers.glGetDoublei_v, .{_target, _index, _data});
1471}
1472
1473pub fn getFloati_v(_target: GLenum, _index: GLuint, _data: [*c]GLfloat) callconv(.C) void {
1474 return @call(.always_tail, function_pointers.glGetFloati_v, .{_target, _index, _data});
1475}
1476
1477pub fn depthRangeIndexed(_index: GLuint, _n: GLdouble, _f: GLdouble) callconv(.C) void {
1478 return @call(.always_tail, function_pointers.glDepthRangeIndexed, .{_index, _n, _f});
1479}
1480
1481pub fn depthRangeArrayv(_first: GLuint, _count: GLsizei, _v: [*c]const GLdouble) callconv(.C) void {
1482 return @call(.always_tail, function_pointers.glDepthRangeArrayv, .{_first, _count, _v});
1483}
1484
1485pub fn scissorIndexedv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
1486 return @call(.always_tail, function_pointers.glScissorIndexedv, .{_index, _v});
1487}
1488
1489pub fn scissorIndexed(_index: GLuint, _left: GLint, _bottom: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
1490 return @call(.always_tail, function_pointers.glScissorIndexed, .{_index, _left, _bottom, _width, _height});
1491}
1492
1493pub fn scissorArrayv(_first: GLuint, _count: GLsizei, _v: [*c]const GLint) callconv(.C) void {
1494 return @call(.always_tail, function_pointers.glScissorArrayv, .{_first, _count, _v});
1495}
1496
1497pub fn viewportIndexedfv(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void {
1498 return @call(.always_tail, function_pointers.glViewportIndexedfv, .{_index, _v});
1499}
1500
1501pub fn viewportIndexedf(_index: GLuint, _x: GLfloat, _y: GLfloat, _w: GLfloat, _h: GLfloat) callconv(.C) void {
1502 return @call(.always_tail, function_pointers.glViewportIndexedf, .{_index, _x, _y, _w, _h});
1503}
1504
1505pub fn viewportArrayv(_first: GLuint, _count: GLsizei, _v: [*c]const GLfloat) callconv(.C) void {
1506 return @call(.always_tail, function_pointers.glViewportArrayv, .{_first, _count, _v});
1507}
1508
1509pub fn getVertexAttribLdv(_index: GLuint, _pname: GLenum, _params: [*c]GLdouble) callconv(.C) void {
1510 return @call(.always_tail, function_pointers.glGetVertexAttribLdv, .{_index, _pname, _params});
1511}
1512
1513pub fn vertexAttribLPointer(_index: GLuint, _size: GLint, _type: GLenum, _stride: GLsizei, _pointer: ?*const anyopaque) callconv(.C) void {
1514 return @call(.always_tail, function_pointers.glVertexAttribLPointer, .{_index, _size, _type, _stride, _pointer});
1515}
1516
1517pub fn vertexAttribL4dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
1518 return @call(.always_tail, function_pointers.glVertexAttribL4dv, .{_index, _v});
1519}
1520
1521pub fn vertexAttribL3dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
1522 return @call(.always_tail, function_pointers.glVertexAttribL3dv, .{_index, _v});
1523}
1524
1525pub fn vertexAttribL2dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
1526 return @call(.always_tail, function_pointers.glVertexAttribL2dv, .{_index, _v});
1527}
1528
1529pub fn vertexAttribL1dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
1530 return @call(.always_tail, function_pointers.glVertexAttribL1dv, .{_index, _v});
1531}
1532
1533pub fn vertexAttribL4d(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble, _w: GLdouble) callconv(.C) void {
1534 return @call(.always_tail, function_pointers.glVertexAttribL4d, .{_index, _x, _y, _z, _w});
1535}
1536
1537pub fn vertexAttribL3d(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble) callconv(.C) void {
1538 return @call(.always_tail, function_pointers.glVertexAttribL3d, .{_index, _x, _y, _z});
1539}
1540
1541pub fn vertexAttribL2d(_index: GLuint, _x: GLdouble, _y: GLdouble) callconv(.C) void {
1542 return @call(.always_tail, function_pointers.glVertexAttribL2d, .{_index, _x, _y});
1543}
1544
1545pub fn vertexAttribL1d(_index: GLuint, _x: GLdouble) callconv(.C) void {
1546 return @call(.always_tail, function_pointers.glVertexAttribL1d, .{_index, _x});
1547}
1548
1549pub fn validateProgramPipeline(_pipeline: GLuint) callconv(.C) void {
1550 return @call(.always_tail, function_pointers.glValidateProgramPipeline, .{_pipeline});
1551}
1552
1553pub fn programUniformMatrix4x3dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1554 return @call(.always_tail, function_pointers.glProgramUniformMatrix4x3dv, .{_program, _location, _count, _transpose, _value});
1555}
1556
1557pub fn programUniformMatrix3x4dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1558 return @call(.always_tail, function_pointers.glProgramUniformMatrix3x4dv, .{_program, _location, _count, _transpose, _value});
1559}
1560
1561pub fn programUniformMatrix4x2dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1562 return @call(.always_tail, function_pointers.glProgramUniformMatrix4x2dv, .{_program, _location, _count, _transpose, _value});
1563}
1564
1565pub fn programUniformMatrix2x4dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1566 return @call(.always_tail, function_pointers.glProgramUniformMatrix2x4dv, .{_program, _location, _count, _transpose, _value});
1567}
1568
1569pub fn programUniformMatrix3x2dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1570 return @call(.always_tail, function_pointers.glProgramUniformMatrix3x2dv, .{_program, _location, _count, _transpose, _value});
1571}
1572
1573pub fn programUniformMatrix2x3dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1574 return @call(.always_tail, function_pointers.glProgramUniformMatrix2x3dv, .{_program, _location, _count, _transpose, _value});
1575}
1576
1577pub fn programUniformMatrix4x3fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1578 return @call(.always_tail, function_pointers.glProgramUniformMatrix4x3fv, .{_program, _location, _count, _transpose, _value});
1579}
1580
1581pub fn programUniformMatrix3x4fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1582 return @call(.always_tail, function_pointers.glProgramUniformMatrix3x4fv, .{_program, _location, _count, _transpose, _value});
1583}
1584
1585pub fn programUniformMatrix4x2fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1586 return @call(.always_tail, function_pointers.glProgramUniformMatrix4x2fv, .{_program, _location, _count, _transpose, _value});
1587}
1588
1589pub fn programUniformMatrix2x4fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1590 return @call(.always_tail, function_pointers.glProgramUniformMatrix2x4fv, .{_program, _location, _count, _transpose, _value});
1591}
1592
1593pub fn programUniformMatrix3x2fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1594 return @call(.always_tail, function_pointers.glProgramUniformMatrix3x2fv, .{_program, _location, _count, _transpose, _value});
1595}
1596
1597pub fn programUniformMatrix2x3fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1598 return @call(.always_tail, function_pointers.glProgramUniformMatrix2x3fv, .{_program, _location, _count, _transpose, _value});
1599}
1600
1601pub fn programUniformMatrix4dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1602 return @call(.always_tail, function_pointers.glProgramUniformMatrix4dv, .{_program, _location, _count, _transpose, _value});
1603}
1604
1605pub fn programUniformMatrix3dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1606 return @call(.always_tail, function_pointers.glProgramUniformMatrix3dv, .{_program, _location, _count, _transpose, _value});
1607}
1608
1609pub fn programUniformMatrix2dv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
1610 return @call(.always_tail, function_pointers.glProgramUniformMatrix2dv, .{_program, _location, _count, _transpose, _value});
1611}
1612
1613pub fn programUniformMatrix4fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1614 return @call(.always_tail, function_pointers.glProgramUniformMatrix4fv, .{_program, _location, _count, _transpose, _value});
1615}
1616
1617pub fn programUniformMatrix3fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1618 return @call(.always_tail, function_pointers.glProgramUniformMatrix3fv, .{_program, _location, _count, _transpose, _value});
1619}
1620
1621pub fn programUniformMatrix2fv(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
1622 return @call(.always_tail, function_pointers.glProgramUniformMatrix2fv, .{_program, _location, _count, _transpose, _value});
1623}
1624
1625pub fn programUniform4uiv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
1626 return @call(.always_tail, function_pointers.glProgramUniform4uiv, .{_program, _location, _count, _value});
1627}
1628
1629pub fn programUniform4ui(_program: GLuint, _location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint, _v3: GLuint) callconv(.C) void {
1630 return @call(.always_tail, function_pointers.glProgramUniform4ui, .{_program, _location, _v0, _v1, _v2, _v3});
1631}
1632
1633pub fn programUniform4dv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
1634 return @call(.always_tail, function_pointers.glProgramUniform4dv, .{_program, _location, _count, _value});
1635}
1636
1637pub fn programUniform4d(_program: GLuint, _location: GLint, _v0: GLdouble, _v1: GLdouble, _v2: GLdouble, _v3: GLdouble) callconv(.C) void {
1638 return @call(.always_tail, function_pointers.glProgramUniform4d, .{_program, _location, _v0, _v1, _v2, _v3});
1639}
1640
1641pub fn programUniform4fv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
1642 return @call(.always_tail, function_pointers.glProgramUniform4fv, .{_program, _location, _count, _value});
1643}
1644
1645pub fn programUniform4f(_program: GLuint, _location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat, _v3: GLfloat) callconv(.C) void {
1646 return @call(.always_tail, function_pointers.glProgramUniform4f, .{_program, _location, _v0, _v1, _v2, _v3});
1647}
1648
1649pub fn programUniform4iv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
1650 return @call(.always_tail, function_pointers.glProgramUniform4iv, .{_program, _location, _count, _value});
1651}
1652
1653pub fn programUniform4i(_program: GLuint, _location: GLint, _v0: GLint, _v1: GLint, _v2: GLint, _v3: GLint) callconv(.C) void {
1654 return @call(.always_tail, function_pointers.glProgramUniform4i, .{_program, _location, _v0, _v1, _v2, _v3});
1655}
1656
1657pub fn programUniform3uiv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
1658 return @call(.always_tail, function_pointers.glProgramUniform3uiv, .{_program, _location, _count, _value});
1659}
1660
1661pub fn programUniform3ui(_program: GLuint, _location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint) callconv(.C) void {
1662 return @call(.always_tail, function_pointers.glProgramUniform3ui, .{_program, _location, _v0, _v1, _v2});
1663}
1664
1665pub fn programUniform3dv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
1666 return @call(.always_tail, function_pointers.glProgramUniform3dv, .{_program, _location, _count, _value});
1667}
1668
1669pub fn programUniform3d(_program: GLuint, _location: GLint, _v0: GLdouble, _v1: GLdouble, _v2: GLdouble) callconv(.C) void {
1670 return @call(.always_tail, function_pointers.glProgramUniform3d, .{_program, _location, _v0, _v1, _v2});
1671}
1672
1673pub fn programUniform3fv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
1674 return @call(.always_tail, function_pointers.glProgramUniform3fv, .{_program, _location, _count, _value});
1675}
1676
1677pub fn programUniform3f(_program: GLuint, _location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat) callconv(.C) void {
1678 return @call(.always_tail, function_pointers.glProgramUniform3f, .{_program, _location, _v0, _v1, _v2});
1679}
1680
1681pub fn programUniform3iv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
1682 return @call(.always_tail, function_pointers.glProgramUniform3iv, .{_program, _location, _count, _value});
1683}
1684
1685pub fn programUniform3i(_program: GLuint, _location: GLint, _v0: GLint, _v1: GLint, _v2: GLint) callconv(.C) void {
1686 return @call(.always_tail, function_pointers.glProgramUniform3i, .{_program, _location, _v0, _v1, _v2});
1687}
1688
1689pub fn useProgramStages(_pipeline: GLuint, _stages: GLbitfield, _program: GLuint) callconv(.C) void {
1690 return @call(.always_tail, function_pointers.glUseProgramStages, .{_pipeline, _stages, _program});
1691}
1692
1693pub fn programParameteri(_program: GLuint, _pname: GLenum, _value: GLint) callconv(.C) void {
1694 return @call(.always_tail, function_pointers.glProgramParameteri, .{_program, _pname, _value});
1695}
1696
1697pub fn getShaderPrecisionFormat(_shadertype: GLenum, _precisiontype: GLenum, _range: [*c]GLint, _precision: [*c]GLint) callconv(.C) void {
1698 return @call(.always_tail, function_pointers.glGetShaderPrecisionFormat, .{_shadertype, _precisiontype, _range, _precision});
1699}
1700
1701pub fn shaderBinary(_count: GLsizei, _shaders: [*c]const GLuint, _binaryFormat: GLenum, _binary: ?*const anyopaque, _length: GLsizei) callconv(.C) void {
1702 return @call(.always_tail, function_pointers.glShaderBinary, .{_count, _shaders, _binaryFormat, _binary, _length});
1703}
1704
1705pub fn releaseShaderCompiler() callconv(.C) void {
1706 return @call(.always_tail, function_pointers.glReleaseShaderCompiler, .{});
1707}
1708
1709pub fn getQueryIndexediv(_target: GLenum, _index: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
1710 return @call(.always_tail, function_pointers.glGetQueryIndexediv, .{_target, _index, _pname, _params});
1711}
1712
1713pub fn endQueryIndexed(_target: GLenum, _index: GLuint) callconv(.C) void {
1714 return @call(.always_tail, function_pointers.glEndQueryIndexed, .{_target, _index});
1715}
1716
1717pub fn beginQueryIndexed(_target: GLenum, _index: GLuint, _id: GLuint) callconv(.C) void {
1718 return @call(.always_tail, function_pointers.glBeginQueryIndexed, .{_target, _index, _id});
1719}
1720
1721pub fn drawTransformFeedbackStream(_mode: GLenum, _id: GLuint, _stream: GLuint) callconv(.C) void {
1722 return @call(.always_tail, function_pointers.glDrawTransformFeedbackStream, .{_mode, _id, _stream});
1723}
1724
1725pub fn drawTransformFeedback(_mode: GLenum, _id: GLuint) callconv(.C) void {
1726 return @call(.always_tail, function_pointers.glDrawTransformFeedback, .{_mode, _id});
1727}
1728
1729pub fn resumeTransformFeedback() callconv(.C) void {
1730 return @call(.always_tail, function_pointers.glResumeTransformFeedback, .{});
1731}
1732
1733pub fn pauseTransformFeedback() callconv(.C) void {
1734 return @call(.always_tail, function_pointers.glPauseTransformFeedback, .{});
1735}
1736
1737pub fn getProgramStageiv(_program: GLuint, _shadertype: GLenum, _pname: GLenum, _values: [*c]GLint) callconv(.C) void {
1738 return @call(.always_tail, function_pointers.glGetProgramStageiv, .{_program, _shadertype, _pname, _values});
1739}
1740
1741pub fn getUniformSubroutineuiv(_shadertype: GLenum, _location: GLint, _params: [*c]GLuint) callconv(.C) void {
1742 return @call(.always_tail, function_pointers.glGetUniformSubroutineuiv, .{_shadertype, _location, _params});
1743}
1744
1745pub fn uniformSubroutinesuiv(_shadertype: GLenum, _count: GLsizei, _indices: [*c]const GLuint) callconv(.C) void {
1746 return @call(.always_tail, function_pointers.glUniformSubroutinesuiv, .{_shadertype, _count, _indices});
1747}
1748
1749pub fn getActiveSubroutineName(_program: GLuint, _shadertype: GLenum, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _name: [*c]GLchar) callconv(.C) void {
1750 return @call(.always_tail, function_pointers.glGetActiveSubroutineName, .{_program, _shadertype, _index, _bufSize, _length, _name});
1751}
1752
1753pub fn cullFace(_mode: GLenum) callconv(.C) void {
1754 return @call(.always_tail, function_pointers.glCullFace, .{_mode});
1755}
1756
1757pub fn frontFace(_mode: GLenum) callconv(.C) void {
1758 return @call(.always_tail, function_pointers.glFrontFace, .{_mode});
1759}
1760
1761pub fn hint(_target: GLenum, _mode: GLenum) callconv(.C) void {
1762 return @call(.always_tail, function_pointers.glHint, .{_target, _mode});
1763}
1764
1765pub fn lineWidth(_width: GLfloat) callconv(.C) void {
1766 return @call(.always_tail, function_pointers.glLineWidth, .{_width});
1767}
1768
1769pub fn pointSize(_size: GLfloat) callconv(.C) void {
1770 return @call(.always_tail, function_pointers.glPointSize, .{_size});
1771}
1772
1773pub fn polygonMode(_face: GLenum, _mode: GLenum) callconv(.C) void {
1774 return @call(.always_tail, function_pointers.glPolygonMode, .{_face, _mode});
1775}
1776
1777pub fn scissor(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
1778 return @call(.always_tail, function_pointers.glScissor, .{_x, _y, _width, _height});
1779}
1780
1781pub fn texParameterf(_target: GLenum, _pname: GLenum, _param: GLfloat) callconv(.C) void {
1782 return @call(.always_tail, function_pointers.glTexParameterf, .{_target, _pname, _param});
1783}
1784
1785pub fn texParameterfv(_target: GLenum, _pname: GLenum, _params: [*c]const GLfloat) callconv(.C) void {
1786 return @call(.always_tail, function_pointers.glTexParameterfv, .{_target, _pname, _params});
1787}
1788
1789pub fn texParameteri(_target: GLenum, _pname: GLenum, _param: GLint) callconv(.C) void {
1790 return @call(.always_tail, function_pointers.glTexParameteri, .{_target, _pname, _param});
1791}
1792
1793pub fn texParameteriv(_target: GLenum, _pname: GLenum, _params: [*c]const GLint) callconv(.C) void {
1794 return @call(.always_tail, function_pointers.glTexParameteriv, .{_target, _pname, _params});
1795}
1796
1797pub fn texImage1D(_target: GLenum, _level: GLint, _internalformat: GLint, _width: GLsizei, _border: GLint, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
1798 return @call(.always_tail, function_pointers.glTexImage1D, .{_target, _level, _internalformat, _width, _border, _format, _type, _pixels});
1799}
1800
1801pub fn texImage2D(_target: GLenum, _level: GLint, _internalformat: GLint, _width: GLsizei, _height: GLsizei, _border: GLint, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
1802 return @call(.always_tail, function_pointers.glTexImage2D, .{_target, _level, _internalformat, _width, _height, _border, _format, _type, _pixels});
1803}
1804
1805pub fn drawBuffer(_buf: GLenum) callconv(.C) void {
1806 return @call(.always_tail, function_pointers.glDrawBuffer, .{_buf});
1807}
1808
1809pub fn clear(_mask: GLbitfield) callconv(.C) void {
1810 return @call(.always_tail, function_pointers.glClear, .{_mask});
1811}
1812
1813pub fn clearColor(_red: GLfloat, _green: GLfloat, _blue: GLfloat, _alpha: GLfloat) callconv(.C) void {
1814 return @call(.always_tail, function_pointers.glClearColor, .{_red, _green, _blue, _alpha});
1815}
1816
1817pub fn clearStencil(_s: GLint) callconv(.C) void {
1818 return @call(.always_tail, function_pointers.glClearStencil, .{_s});
1819}
1820
1821pub fn clearDepth(_depth: GLdouble) callconv(.C) void {
1822 return @call(.always_tail, function_pointers.glClearDepth, .{_depth});
1823}
1824
1825pub fn stencilMask(_mask: GLuint) callconv(.C) void {
1826 return @call(.always_tail, function_pointers.glStencilMask, .{_mask});
1827}
1828
1829pub fn colorMask(_red: GLboolean, _green: GLboolean, _blue: GLboolean, _alpha: GLboolean) callconv(.C) void {
1830 return @call(.always_tail, function_pointers.glColorMask, .{_red, _green, _blue, _alpha});
1831}
1832
1833pub fn depthMask(_flag: GLboolean) callconv(.C) void {
1834 return @call(.always_tail, function_pointers.glDepthMask, .{_flag});
1835}
1836
1837pub fn disable(_cap: GLenum) callconv(.C) void {
1838 return @call(.always_tail, function_pointers.glDisable, .{_cap});
1839}
1840
1841pub fn enable(_cap: GLenum) callconv(.C) void {
1842 return @call(.always_tail, function_pointers.glEnable, .{_cap});
1843}
1844
1845pub fn finish() callconv(.C) void {
1846 return @call(.always_tail, function_pointers.glFinish, .{});
1847}
1848
1849pub fn flush() callconv(.C) void {
1850 return @call(.always_tail, function_pointers.glFlush, .{});
1851}
1852
1853pub fn blendFunc(_sfactor: GLenum, _dfactor: GLenum) callconv(.C) void {
1854 return @call(.always_tail, function_pointers.glBlendFunc, .{_sfactor, _dfactor});
1855}
1856
1857pub fn logicOp(_opcode: GLenum) callconv(.C) void {
1858 return @call(.always_tail, function_pointers.glLogicOp, .{_opcode});
1859}
1860
1861pub fn stencilFunc(_func: GLenum, _ref: GLint, _mask: GLuint) callconv(.C) void {
1862 return @call(.always_tail, function_pointers.glStencilFunc, .{_func, _ref, _mask});
1863}
1864
1865pub fn stencilOp(_fail: GLenum, _zfail: GLenum, _zpass: GLenum) callconv(.C) void {
1866 return @call(.always_tail, function_pointers.glStencilOp, .{_fail, _zfail, _zpass});
1867}
1868
1869pub fn depthFunc(_func: GLenum) callconv(.C) void {
1870 return @call(.always_tail, function_pointers.glDepthFunc, .{_func});
1871}
1872
1873pub fn pixelStoref(_pname: GLenum, _param: GLfloat) callconv(.C) void {
1874 return @call(.always_tail, function_pointers.glPixelStoref, .{_pname, _param});
1875}
1876
1877pub fn pixelStorei(_pname: GLenum, _param: GLint) callconv(.C) void {
1878 return @call(.always_tail, function_pointers.glPixelStorei, .{_pname, _param});
1879}
1880
1881pub fn readBuffer(_src: GLenum) callconv(.C) void {
1882 return @call(.always_tail, function_pointers.glReadBuffer, .{_src});
1883}
1884
1885pub fn readPixels(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*anyopaque) callconv(.C) void {
1886 return @call(.always_tail, function_pointers.glReadPixels, .{_x, _y, _width, _height, _format, _type, _pixels});
1887}
1888
1889pub fn getBooleanv(_pname: GLenum, _data: [*c]GLboolean) callconv(.C) void {
1890 return @call(.always_tail, function_pointers.glGetBooleanv, .{_pname, _data});
1891}
1892
1893pub fn getDoublev(_pname: GLenum, _data: [*c]GLdouble) callconv(.C) void {
1894 return @call(.always_tail, function_pointers.glGetDoublev, .{_pname, _data});
1895}
1896
1897pub fn getError() callconv(.C) GLenum {
1898 return @call(.always_tail, function_pointers.glGetError, .{});
1899}
1900
1901pub fn getFloatv(_pname: GLenum, _data: [*c]GLfloat) callconv(.C) void {
1902 return @call(.always_tail, function_pointers.glGetFloatv, .{_pname, _data});
1903}
1904
1905pub fn getIntegerv(_pname: GLenum, _data: [*c]GLint) callconv(.C) void {
1906 return @call(.always_tail, function_pointers.glGetIntegerv, .{_pname, _data});
1907}
1908
1909pub fn getString(_name: GLenum) callconv(.C) ?[*:0]const GLubyte {
1910 return @call(.always_tail, function_pointers.glGetString, .{_name});
1911}
1912
1913pub fn getTexImage(_target: GLenum, _level: GLint, _format: GLenum, _type: GLenum, _pixels: ?*anyopaque) callconv(.C) void {
1914 return @call(.always_tail, function_pointers.glGetTexImage, .{_target, _level, _format, _type, _pixels});
1915}
1916
1917pub fn getTexParameterfv(_target: GLenum, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void {
1918 return @call(.always_tail, function_pointers.glGetTexParameterfv, .{_target, _pname, _params});
1919}
1920
1921pub fn getTexParameteriv(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
1922 return @call(.always_tail, function_pointers.glGetTexParameteriv, .{_target, _pname, _params});
1923}
1924
1925pub fn getTexLevelParameterfv(_target: GLenum, _level: GLint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void {
1926 return @call(.always_tail, function_pointers.glGetTexLevelParameterfv, .{_target, _level, _pname, _params});
1927}
1928
1929pub fn getTexLevelParameteriv(_target: GLenum, _level: GLint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
1930 return @call(.always_tail, function_pointers.glGetTexLevelParameteriv, .{_target, _level, _pname, _params});
1931}
1932
1933pub fn isEnabled(_cap: GLenum) callconv(.C) GLboolean {
1934 return @call(.always_tail, function_pointers.glIsEnabled, .{_cap});
1935}
1936
1937pub fn depthRange(_n: GLdouble, _f: GLdouble) callconv(.C) void {
1938 return @call(.always_tail, function_pointers.glDepthRange, .{_n, _f});
1939}
1940
1941pub fn viewport(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
1942 return @call(.always_tail, function_pointers.glViewport, .{_x, _y, _width, _height});
1943}
1944
1945pub fn texStorage2DMultisample(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void {
1946 return @call(.always_tail, function_pointers.glTexStorage2DMultisample, .{_target, _samples, _internalformat, _width, _height, _fixedsamplelocations});
1947}
1948
1949pub fn texBufferRange(_target: GLenum, _internalformat: GLenum, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void {
1950 return @call(.always_tail, function_pointers.glTexBufferRange, .{_target, _internalformat, _buffer, _offset, _size});
1951}
1952
1953pub fn shaderStorageBlockBinding(_program: GLuint, _storageBlockIndex: GLuint, _storageBlockBinding: GLuint) callconv(.C) void {
1954 return @call(.always_tail, function_pointers.glShaderStorageBlockBinding, .{_program, _storageBlockIndex, _storageBlockBinding});
1955}
1956
1957pub fn getProgramResourceLocationIndex(_program: GLuint, _programInterface: GLenum, _name: [*c]const GLchar) callconv(.C) GLint {
1958 return @call(.always_tail, function_pointers.glGetProgramResourceLocationIndex, .{_program, _programInterface, _name});
1959}
1960
1961pub fn getProgramResourceLocation(_program: GLuint, _programInterface: GLenum, _name: [*c]const GLchar) callconv(.C) GLint {
1962 return @call(.always_tail, function_pointers.glGetProgramResourceLocation, .{_program, _programInterface, _name});
1963}
1964
1965pub fn getProgramResourceiv(_program: GLuint, _programInterface: GLenum, _index: GLuint, _propCount: GLsizei, _props: [*c]const GLenum, _count: GLsizei, _length: [*c]GLsizei, _params: [*c]GLint) callconv(.C) void {
1966 return @call(.always_tail, function_pointers.glGetProgramResourceiv, .{_program, _programInterface, _index, _propCount, _props, _count, _length, _params});
1967}
1968
1969pub fn getProgramResourceName(_program: GLuint, _programInterface: GLenum, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _name: [*c]GLchar) callconv(.C) void {
1970 return @call(.always_tail, function_pointers.glGetProgramResourceName, .{_program, _programInterface, _index, _bufSize, _length, _name});
1971}
1972
1973pub fn getProgramResourceIndex(_program: GLuint, _programInterface: GLenum, _name: [*c]const GLchar) callconv(.C) GLuint {
1974 return @call(.always_tail, function_pointers.glGetProgramResourceIndex, .{_program, _programInterface, _name});
1975}
1976
1977pub fn getProgramInterfaceiv(_program: GLuint, _programInterface: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
1978 return @call(.always_tail, function_pointers.glGetProgramInterfaceiv, .{_program, _programInterface, _pname, _params});
1979}
1980
1981pub fn multiDrawElementsIndirect(_mode: GLenum, _type: GLenum, _indirect: ?*const anyopaque, _drawcount: GLsizei, _stride: GLsizei) callconv(.C) void {
1982 return @call(.always_tail, function_pointers.glMultiDrawElementsIndirect, .{_mode, _type, _indirect, _drawcount, _stride});
1983}
1984
1985pub fn multiDrawArraysIndirect(_mode: GLenum, _indirect: ?*const anyopaque, _drawcount: GLsizei, _stride: GLsizei) callconv(.C) void {
1986 return @call(.always_tail, function_pointers.glMultiDrawArraysIndirect, .{_mode, _indirect, _drawcount, _stride});
1987}
1988
1989pub fn invalidateSubFramebuffer(_target: GLenum, _numAttachments: GLsizei, _attachments: [*c]const GLenum, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
1990 return @call(.always_tail, function_pointers.glInvalidateSubFramebuffer, .{_target, _numAttachments, _attachments, _x, _y, _width, _height});
1991}
1992
1993pub fn invalidateFramebuffer(_target: GLenum, _numAttachments: GLsizei, _attachments: [*c]const GLenum) callconv(.C) void {
1994 return @call(.always_tail, function_pointers.glInvalidateFramebuffer, .{_target, _numAttachments, _attachments});
1995}
1996
1997pub fn invalidateBufferData(_buffer: GLuint) callconv(.C) void {
1998 return @call(.always_tail, function_pointers.glInvalidateBufferData, .{_buffer});
1999}
2000
2001pub fn invalidateBufferSubData(_buffer: GLuint, _offset: GLintptr, _length: GLsizeiptr) callconv(.C) void {
2002 return @call(.always_tail, function_pointers.glInvalidateBufferSubData, .{_buffer, _offset, _length});
2003}
2004
2005pub fn invalidateTexImage(_texture: GLuint, _level: GLint) callconv(.C) void {
2006 return @call(.always_tail, function_pointers.glInvalidateTexImage, .{_texture, _level});
2007}
2008
2009pub fn invalidateTexSubImage(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei) callconv(.C) void {
2010 return @call(.always_tail, function_pointers.glInvalidateTexSubImage, .{_texture, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth});
2011}
2012
2013pub fn getInternalformati64v(_target: GLenum, _internalformat: GLenum, _pname: GLenum, _count: GLsizei, _params: [*c]GLint64) callconv(.C) void {
2014 return @call(.always_tail, function_pointers.glGetInternalformati64v, .{_target, _internalformat, _pname, _count, _params});
2015}
2016
2017pub fn getFramebufferParameteriv(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2018 return @call(.always_tail, function_pointers.glGetFramebufferParameteriv, .{_target, _pname, _params});
2019}
2020
2021pub fn framebufferParameteri(_target: GLenum, _pname: GLenum, _param: GLint) callconv(.C) void {
2022 return @call(.always_tail, function_pointers.glFramebufferParameteri, .{_target, _pname, _param});
2023}
2024
2025pub fn copyImageSubData(_srcName: GLuint, _srcTarget: GLenum, _srcLevel: GLint, _srcX: GLint, _srcY: GLint, _srcZ: GLint, _dstName: GLuint, _dstTarget: GLenum, _dstLevel: GLint, _dstX: GLint, _dstY: GLint, _dstZ: GLint, _srcWidth: GLsizei, _srcHeight: GLsizei, _srcDepth: GLsizei) callconv(.C) void {
2026 return @call(.always_tail, function_pointers.glCopyImageSubData, .{_srcName, _srcTarget, _srcLevel, _srcX, _srcY, _srcZ, _dstName, _dstTarget, _dstLevel, _dstX, _dstY, _dstZ, _srcWidth, _srcHeight, _srcDepth});
2027}
2028
2029pub fn dispatchComputeIndirect(_indirect: GLintptr) callconv(.C) void {
2030 return @call(.always_tail, function_pointers.glDispatchComputeIndirect, .{_indirect});
2031}
2032
2033pub fn dispatchCompute(_num_groups_x: GLuint, _num_groups_y: GLuint, _num_groups_z: GLuint) callconv(.C) void {
2034 return @call(.always_tail, function_pointers.glDispatchCompute, .{_num_groups_x, _num_groups_y, _num_groups_z});
2035}
2036
2037pub fn clearBufferSubData(_target: GLenum, _internalformat: GLenum, _offset: GLintptr, _size: GLsizeiptr, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void {
2038 return @call(.always_tail, function_pointers.glClearBufferSubData, .{_target, _internalformat, _offset, _size, _format, _type, _data});
2039}
2040
2041pub fn clearBufferData(_target: GLenum, _internalformat: GLenum, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void {
2042 return @call(.always_tail, function_pointers.glClearBufferData, .{_target, _internalformat, _format, _type, _data});
2043}
2044
2045pub fn getProgramPipelineInfoLog(_pipeline: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _infoLog: [*c]GLchar) callconv(.C) void {
2046 return @call(.always_tail, function_pointers.glGetProgramPipelineInfoLog, .{_pipeline, _bufSize, _length, _infoLog});
2047}
2048
2049pub fn programUniform2uiv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
2050 return @call(.always_tail, function_pointers.glProgramUniform2uiv, .{_program, _location, _count, _value});
2051}
2052
2053pub fn programUniform2ui(_program: GLuint, _location: GLint, _v0: GLuint, _v1: GLuint) callconv(.C) void {
2054 return @call(.always_tail, function_pointers.glProgramUniform2ui, .{_program, _location, _v0, _v1});
2055}
2056
2057pub fn programUniform2dv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
2058 return @call(.always_tail, function_pointers.glProgramUniform2dv, .{_program, _location, _count, _value});
2059}
2060
2061pub fn programUniform2d(_program: GLuint, _location: GLint, _v0: GLdouble, _v1: GLdouble) callconv(.C) void {
2062 return @call(.always_tail, function_pointers.glProgramUniform2d, .{_program, _location, _v0, _v1});
2063}
2064
2065pub fn programUniform2fv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
2066 return @call(.always_tail, function_pointers.glProgramUniform2fv, .{_program, _location, _count, _value});
2067}
2068
2069pub fn programUniform2f(_program: GLuint, _location: GLint, _v0: GLfloat, _v1: GLfloat) callconv(.C) void {
2070 return @call(.always_tail, function_pointers.glProgramUniform2f, .{_program, _location, _v0, _v1});
2071}
2072
2073pub fn programUniform2iv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
2074 return @call(.always_tail, function_pointers.glProgramUniform2iv, .{_program, _location, _count, _value});
2075}
2076
2077pub fn programUniform2i(_program: GLuint, _location: GLint, _v0: GLint, _v1: GLint) callconv(.C) void {
2078 return @call(.always_tail, function_pointers.glProgramUniform2i, .{_program, _location, _v0, _v1});
2079}
2080
2081pub fn programUniform1uiv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
2082 return @call(.always_tail, function_pointers.glProgramUniform1uiv, .{_program, _location, _count, _value});
2083}
2084
2085pub fn programUniform1ui(_program: GLuint, _location: GLint, _v0: GLuint) callconv(.C) void {
2086 return @call(.always_tail, function_pointers.glProgramUniform1ui, .{_program, _location, _v0});
2087}
2088
2089pub fn programUniform1dv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
2090 return @call(.always_tail, function_pointers.glProgramUniform1dv, .{_program, _location, _count, _value});
2091}
2092
2093pub fn programUniform1d(_program: GLuint, _location: GLint, _v0: GLdouble) callconv(.C) void {
2094 return @call(.always_tail, function_pointers.glProgramUniform1d, .{_program, _location, _v0});
2095}
2096
2097pub fn programUniform1fv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
2098 return @call(.always_tail, function_pointers.glProgramUniform1fv, .{_program, _location, _count, _value});
2099}
2100
2101pub fn programUniform1f(_program: GLuint, _location: GLint, _v0: GLfloat) callconv(.C) void {
2102 return @call(.always_tail, function_pointers.glProgramUniform1f, .{_program, _location, _v0});
2103}
2104
2105pub fn programUniform1iv(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
2106 return @call(.always_tail, function_pointers.glProgramUniform1iv, .{_program, _location, _count, _value});
2107}
2108
2109pub fn programUniform1i(_program: GLuint, _location: GLint, _v0: GLint) callconv(.C) void {
2110 return @call(.always_tail, function_pointers.glProgramUniform1i, .{_program, _location, _v0});
2111}
2112
2113pub fn getProgramPipelineiv(_pipeline: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2114 return @call(.always_tail, function_pointers.glGetProgramPipelineiv, .{_pipeline, _pname, _params});
2115}
2116
2117pub fn isProgramPipeline(_pipeline: GLuint) callconv(.C) GLboolean {
2118 return @call(.always_tail, function_pointers.glIsProgramPipeline, .{_pipeline});
2119}
2120
2121pub fn genProgramPipelines(_n: GLsizei, _pipelines: [*c]GLuint) callconv(.C) void {
2122 return @call(.always_tail, function_pointers.glGenProgramPipelines, .{_n, _pipelines});
2123}
2124
2125pub fn deleteProgramPipelines(_n: GLsizei, _pipelines: [*c]const GLuint) callconv(.C) void {
2126 return @call(.always_tail, function_pointers.glDeleteProgramPipelines, .{_n, _pipelines});
2127}
2128
2129pub fn bindProgramPipeline(_pipeline: GLuint) callconv(.C) void {
2130 return @call(.always_tail, function_pointers.glBindProgramPipeline, .{_pipeline});
2131}
2132
2133pub fn createShaderProgramv(_type: GLenum, _count: GLsizei, _strings: [*c]const [*c]const GLchar) callconv(.C) GLuint {
2134 return @call(.always_tail, function_pointers.glCreateShaderProgramv, .{_type, _count, _strings});
2135}
2136
2137pub fn activeShaderProgram(_pipeline: GLuint, _program: GLuint) callconv(.C) void {
2138 return @call(.always_tail, function_pointers.glActiveShaderProgram, .{_pipeline, _program});
2139}
2140
2141pub fn programBinary(_program: GLuint, _binaryFormat: GLenum, _binary: ?*const anyopaque, _length: GLsizei) callconv(.C) void {
2142 return @call(.always_tail, function_pointers.glProgramBinary, .{_program, _binaryFormat, _binary, _length});
2143}
2144
2145pub fn getProgramBinary(_program: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _binaryFormat: [*c]GLenum, _binary: ?*anyopaque) callconv(.C) void {
2146 return @call(.always_tail, function_pointers.glGetProgramBinary, .{_program, _bufSize, _length, _binaryFormat, _binary});
2147}
2148
2149pub fn clearDepthf(_d: GLfloat) callconv(.C) void {
2150 return @call(.always_tail, function_pointers.glClearDepthf, .{_d});
2151}
2152
2153pub fn depthRangef(_n: GLfloat, _f: GLfloat) callconv(.C) void {
2154 return @call(.always_tail, function_pointers.glDepthRangef, .{_n, _f});
2155}
2156
2157pub fn isTransformFeedback(_id: GLuint) callconv(.C) GLboolean {
2158 return @call(.always_tail, function_pointers.glIsTransformFeedback, .{_id});
2159}
2160
2161pub fn genTransformFeedbacks(_n: GLsizei, _ids: [*c]GLuint) callconv(.C) void {
2162 return @call(.always_tail, function_pointers.glGenTransformFeedbacks, .{_n, _ids});
2163}
2164
2165pub fn deleteTransformFeedbacks(_n: GLsizei, _ids: [*c]const GLuint) callconv(.C) void {
2166 return @call(.always_tail, function_pointers.glDeleteTransformFeedbacks, .{_n, _ids});
2167}
2168
2169pub fn bindTransformFeedback(_target: GLenum, _id: GLuint) callconv(.C) void {
2170 return @call(.always_tail, function_pointers.glBindTransformFeedback, .{_target, _id});
2171}
2172
2173pub fn patchParameterfv(_pname: GLenum, _values: [*c]const GLfloat) callconv(.C) void {
2174 return @call(.always_tail, function_pointers.glPatchParameterfv, .{_pname, _values});
2175}
2176
2177pub fn patchParameteri(_pname: GLenum, _value: GLint) callconv(.C) void {
2178 return @call(.always_tail, function_pointers.glPatchParameteri, .{_pname, _value});
2179}
2180
2181pub fn drawArrays(_mode: GLenum, _first: GLint, _count: GLsizei) callconv(.C) void {
2182 return @call(.always_tail, function_pointers.glDrawArrays, .{_mode, _first, _count});
2183}
2184
2185pub fn drawElements(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque) callconv(.C) void {
2186 return @call(.always_tail, function_pointers.glDrawElements, .{_mode, _count, _type, _indices});
2187}
2188
2189pub fn polygonOffset(_factor: GLfloat, _units: GLfloat) callconv(.C) void {
2190 return @call(.always_tail, function_pointers.glPolygonOffset, .{_factor, _units});
2191}
2192
2193pub fn copyTexImage1D(_target: GLenum, _level: GLint, _internalformat: GLenum, _x: GLint, _y: GLint, _width: GLsizei, _border: GLint) callconv(.C) void {
2194 return @call(.always_tail, function_pointers.glCopyTexImage1D, .{_target, _level, _internalformat, _x, _y, _width, _border});
2195}
2196
2197pub fn copyTexImage2D(_target: GLenum, _level: GLint, _internalformat: GLenum, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei, _border: GLint) callconv(.C) void {
2198 return @call(.always_tail, function_pointers.glCopyTexImage2D, .{_target, _level, _internalformat, _x, _y, _width, _height, _border});
2199}
2200
2201pub fn copyTexSubImage1D(_target: GLenum, _level: GLint, _xoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei) callconv(.C) void {
2202 return @call(.always_tail, function_pointers.glCopyTexSubImage1D, .{_target, _level, _xoffset, _x, _y, _width});
2203}
2204
2205pub fn copyTexSubImage2D(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
2206 return @call(.always_tail, function_pointers.glCopyTexSubImage2D, .{_target, _level, _xoffset, _yoffset, _x, _y, _width, _height});
2207}
2208
2209pub fn texSubImage1D(_target: GLenum, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
2210 return @call(.always_tail, function_pointers.glTexSubImage1D, .{_target, _level, _xoffset, _width, _format, _type, _pixels});
2211}
2212
2213pub fn texSubImage2D(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
2214 return @call(.always_tail, function_pointers.glTexSubImage2D, .{_target, _level, _xoffset, _yoffset, _width, _height, _format, _type, _pixels});
2215}
2216
2217pub fn bindTexture(_target: GLenum, _texture: GLuint) callconv(.C) void {
2218 return @call(.always_tail, function_pointers.glBindTexture, .{_target, _texture});
2219}
2220
2221pub fn deleteTextures(_n: GLsizei, _textures: [*c]const GLuint) callconv(.C) void {
2222 return @call(.always_tail, function_pointers.glDeleteTextures, .{_n, _textures});
2223}
2224
2225pub fn genTextures(_n: GLsizei, _textures: [*c]GLuint) callconv(.C) void {
2226 return @call(.always_tail, function_pointers.glGenTextures, .{_n, _textures});
2227}
2228
2229pub fn isTexture(_texture: GLuint) callconv(.C) GLboolean {
2230 return @call(.always_tail, function_pointers.glIsTexture, .{_texture});
2231}
2232
2233pub fn getActiveSubroutineUniformName(_program: GLuint, _shadertype: GLenum, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _name: [*c]GLchar) callconv(.C) void {
2234 return @call(.always_tail, function_pointers.glGetActiveSubroutineUniformName, .{_program, _shadertype, _index, _bufSize, _length, _name});
2235}
2236
2237pub fn getActiveSubroutineUniformiv(_program: GLuint, _shadertype: GLenum, _index: GLuint, _pname: GLenum, _values: [*c]GLint) callconv(.C) void {
2238 return @call(.always_tail, function_pointers.glGetActiveSubroutineUniformiv, .{_program, _shadertype, _index, _pname, _values});
2239}
2240
2241pub fn getSubroutineIndex(_program: GLuint, _shadertype: GLenum, _name: [*c]const GLchar) callconv(.C) GLuint {
2242 return @call(.always_tail, function_pointers.glGetSubroutineIndex, .{_program, _shadertype, _name});
2243}
2244
2245pub fn getSubroutineUniformLocation(_program: GLuint, _shadertype: GLenum, _name: [*c]const GLchar) callconv(.C) GLint {
2246 return @call(.always_tail, function_pointers.glGetSubroutineUniformLocation, .{_program, _shadertype, _name});
2247}
2248
2249pub fn getUniformdv(_program: GLuint, _location: GLint, _params: [*c]GLdouble) callconv(.C) void {
2250 return @call(.always_tail, function_pointers.glGetUniformdv, .{_program, _location, _params});
2251}
2252
2253pub fn uniformMatrix4x3dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2254 return @call(.always_tail, function_pointers.glUniformMatrix4x3dv, .{_location, _count, _transpose, _value});
2255}
2256
2257pub fn uniformMatrix4x2dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2258 return @call(.always_tail, function_pointers.glUniformMatrix4x2dv, .{_location, _count, _transpose, _value});
2259}
2260
2261pub fn uniformMatrix3x4dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2262 return @call(.always_tail, function_pointers.glUniformMatrix3x4dv, .{_location, _count, _transpose, _value});
2263}
2264
2265pub fn uniformMatrix3x2dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2266 return @call(.always_tail, function_pointers.glUniformMatrix3x2dv, .{_location, _count, _transpose, _value});
2267}
2268
2269pub fn uniformMatrix2x4dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2270 return @call(.always_tail, function_pointers.glUniformMatrix2x4dv, .{_location, _count, _transpose, _value});
2271}
2272
2273pub fn uniformMatrix2x3dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2274 return @call(.always_tail, function_pointers.glUniformMatrix2x3dv, .{_location, _count, _transpose, _value});
2275}
2276
2277pub fn uniformMatrix4dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2278 return @call(.always_tail, function_pointers.glUniformMatrix4dv, .{_location, _count, _transpose, _value});
2279}
2280
2281pub fn uniformMatrix3dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2282 return @call(.always_tail, function_pointers.glUniformMatrix3dv, .{_location, _count, _transpose, _value});
2283}
2284
2285pub fn drawRangeElements(_mode: GLenum, _start: GLuint, _end: GLuint, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque) callconv(.C) void {
2286 return @call(.always_tail, function_pointers.glDrawRangeElements, .{_mode, _start, _end, _count, _type, _indices});
2287}
2288
2289pub fn texImage3D(_target: GLenum, _level: GLint, _internalformat: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _border: GLint, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
2290 return @call(.always_tail, function_pointers.glTexImage3D, .{_target, _level, _internalformat, _width, _height, _depth, _border, _format, _type, _pixels});
2291}
2292
2293pub fn texSubImage3D(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
2294 return @call(.always_tail, function_pointers.glTexSubImage3D, .{_target, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _format, _type, _pixels});
2295}
2296
2297pub fn copyTexSubImage3D(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
2298 return @call(.always_tail, function_pointers.glCopyTexSubImage3D, .{_target, _level, _xoffset, _yoffset, _zoffset, _x, _y, _width, _height});
2299}
2300
2301pub fn uniformMatrix2dv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void {
2302 return @call(.always_tail, function_pointers.glUniformMatrix2dv, .{_location, _count, _transpose, _value});
2303}
2304
2305pub fn uniform4dv(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
2306 return @call(.always_tail, function_pointers.glUniform4dv, .{_location, _count, _value});
2307}
2308
2309pub fn uniform3dv(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
2310 return @call(.always_tail, function_pointers.glUniform3dv, .{_location, _count, _value});
2311}
2312
2313pub fn uniform2dv(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
2314 return @call(.always_tail, function_pointers.glUniform2dv, .{_location, _count, _value});
2315}
2316
2317pub fn uniform1dv(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void {
2318 return @call(.always_tail, function_pointers.glUniform1dv, .{_location, _count, _value});
2319}
2320
2321pub fn uniform4d(_location: GLint, _x: GLdouble, _y: GLdouble, _z: GLdouble, _w: GLdouble) callconv(.C) void {
2322 return @call(.always_tail, function_pointers.glUniform4d, .{_location, _x, _y, _z, _w});
2323}
2324
2325pub fn uniform3d(_location: GLint, _x: GLdouble, _y: GLdouble, _z: GLdouble) callconv(.C) void {
2326 return @call(.always_tail, function_pointers.glUniform3d, .{_location, _x, _y, _z});
2327}
2328
2329pub fn uniform2d(_location: GLint, _x: GLdouble, _y: GLdouble) callconv(.C) void {
2330 return @call(.always_tail, function_pointers.glUniform2d, .{_location, _x, _y});
2331}
2332
2333pub fn uniform1d(_location: GLint, _x: GLdouble) callconv(.C) void {
2334 return @call(.always_tail, function_pointers.glUniform1d, .{_location, _x});
2335}
2336
2337pub fn drawElementsIndirect(_mode: GLenum, _type: GLenum, _indirect: ?*const anyopaque) callconv(.C) void {
2338 return @call(.always_tail, function_pointers.glDrawElementsIndirect, .{_mode, _type, _indirect});
2339}
2340
2341pub fn drawArraysIndirect(_mode: GLenum, _indirect: ?*const anyopaque) callconv(.C) void {
2342 return @call(.always_tail, function_pointers.glDrawArraysIndirect, .{_mode, _indirect});
2343}
2344
2345pub fn blendFuncSeparatei(_buf: GLuint, _srcRGB: GLenum, _dstRGB: GLenum, _srcAlpha: GLenum, _dstAlpha: GLenum) callconv(.C) void {
2346 return @call(.always_tail, function_pointers.glBlendFuncSeparatei, .{_buf, _srcRGB, _dstRGB, _srcAlpha, _dstAlpha});
2347}
2348
2349pub fn blendFunci(_buf: GLuint, _src: GLenum, _dst: GLenum) callconv(.C) void {
2350 return @call(.always_tail, function_pointers.glBlendFunci, .{_buf, _src, _dst});
2351}
2352
2353pub fn blendEquationSeparatei(_buf: GLuint, _modeRGB: GLenum, _modeAlpha: GLenum) callconv(.C) void {
2354 return @call(.always_tail, function_pointers.glBlendEquationSeparatei, .{_buf, _modeRGB, _modeAlpha});
2355}
2356
2357pub fn blendEquationi(_buf: GLuint, _mode: GLenum) callconv(.C) void {
2358 return @call(.always_tail, function_pointers.glBlendEquationi, .{_buf, _mode});
2359}
2360
2361pub fn minSampleShading(_value: GLfloat) callconv(.C) void {
2362 return @call(.always_tail, function_pointers.glMinSampleShading, .{_value});
2363}
2364
2365pub fn activeTexture(_texture: GLenum) callconv(.C) void {
2366 return @call(.always_tail, function_pointers.glActiveTexture, .{_texture});
2367}
2368
2369pub fn sampleCoverage(_value: GLfloat, _invert: GLboolean) callconv(.C) void {
2370 return @call(.always_tail, function_pointers.glSampleCoverage, .{_value, _invert});
2371}
2372
2373pub fn compressedTexImage3D(_target: GLenum, _level: GLint, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _border: GLint, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
2374 return @call(.always_tail, function_pointers.glCompressedTexImage3D, .{_target, _level, _internalformat, _width, _height, _depth, _border, _imageSize, _data});
2375}
2376
2377pub fn compressedTexImage2D(_target: GLenum, _level: GLint, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _border: GLint, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
2378 return @call(.always_tail, function_pointers.glCompressedTexImage2D, .{_target, _level, _internalformat, _width, _height, _border, _imageSize, _data});
2379}
2380
2381pub fn compressedTexImage1D(_target: GLenum, _level: GLint, _internalformat: GLenum, _width: GLsizei, _border: GLint, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
2382 return @call(.always_tail, function_pointers.glCompressedTexImage1D, .{_target, _level, _internalformat, _width, _border, _imageSize, _data});
2383}
2384
2385pub fn compressedTexSubImage3D(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
2386 return @call(.always_tail, function_pointers.glCompressedTexSubImage3D, .{_target, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _format, _imageSize, _data});
2387}
2388
2389pub fn compressedTexSubImage2D(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
2390 return @call(.always_tail, function_pointers.glCompressedTexSubImage2D, .{_target, _level, _xoffset, _yoffset, _width, _height, _format, _imageSize, _data});
2391}
2392
2393pub fn compressedTexSubImage1D(_target: GLenum, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
2394 return @call(.always_tail, function_pointers.glCompressedTexSubImage1D, .{_target, _level, _xoffset, _width, _format, _imageSize, _data});
2395}
2396
2397pub fn getCompressedTexImage(_target: GLenum, _level: GLint, _img: ?*anyopaque) callconv(.C) void {
2398 return @call(.always_tail, function_pointers.glGetCompressedTexImage, .{_target, _level, _img});
2399}
2400
2401pub fn vertexAttribP4uiv(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void {
2402 return @call(.always_tail, function_pointers.glVertexAttribP4uiv, .{_index, _type, _normalized, _value});
2403}
2404
2405pub fn vertexAttribP4ui(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void {
2406 return @call(.always_tail, function_pointers.glVertexAttribP4ui, .{_index, _type, _normalized, _value});
2407}
2408
2409pub fn vertexAttribP3uiv(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void {
2410 return @call(.always_tail, function_pointers.glVertexAttribP3uiv, .{_index, _type, _normalized, _value});
2411}
2412
2413pub fn vertexAttribP3ui(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void {
2414 return @call(.always_tail, function_pointers.glVertexAttribP3ui, .{_index, _type, _normalized, _value});
2415}
2416
2417pub fn vertexAttribP2uiv(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void {
2418 return @call(.always_tail, function_pointers.glVertexAttribP2uiv, .{_index, _type, _normalized, _value});
2419}
2420
2421pub fn vertexAttribP2ui(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void {
2422 return @call(.always_tail, function_pointers.glVertexAttribP2ui, .{_index, _type, _normalized, _value});
2423}
2424
2425pub fn vertexAttribP1uiv(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void {
2426 return @call(.always_tail, function_pointers.glVertexAttribP1uiv, .{_index, _type, _normalized, _value});
2427}
2428
2429pub fn vertexAttribP1ui(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void {
2430 return @call(.always_tail, function_pointers.glVertexAttribP1ui, .{_index, _type, _normalized, _value});
2431}
2432
2433pub fn vertexAttribDivisor(_index: GLuint, _divisor: GLuint) callconv(.C) void {
2434 return @call(.always_tail, function_pointers.glVertexAttribDivisor, .{_index, _divisor});
2435}
2436
2437pub fn getQueryObjectui64v(_id: GLuint, _pname: GLenum, _params: [*c]GLuint64) callconv(.C) void {
2438 return @call(.always_tail, function_pointers.glGetQueryObjectui64v, .{_id, _pname, _params});
2439}
2440
2441pub fn getQueryObjecti64v(_id: GLuint, _pname: GLenum, _params: [*c]GLint64) callconv(.C) void {
2442 return @call(.always_tail, function_pointers.glGetQueryObjecti64v, .{_id, _pname, _params});
2443}
2444
2445pub fn queryCounter(_id: GLuint, _target: GLenum) callconv(.C) void {
2446 return @call(.always_tail, function_pointers.glQueryCounter, .{_id, _target});
2447}
2448
2449pub fn getSamplerParameterIuiv(_sampler: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void {
2450 return @call(.always_tail, function_pointers.glGetSamplerParameterIuiv, .{_sampler, _pname, _params});
2451}
2452
2453pub fn getSamplerParameterfv(_sampler: GLuint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void {
2454 return @call(.always_tail, function_pointers.glGetSamplerParameterfv, .{_sampler, _pname, _params});
2455}
2456
2457pub fn getSamplerParameterIiv(_sampler: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2458 return @call(.always_tail, function_pointers.glGetSamplerParameterIiv, .{_sampler, _pname, _params});
2459}
2460
2461pub fn getSamplerParameteriv(_sampler: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2462 return @call(.always_tail, function_pointers.glGetSamplerParameteriv, .{_sampler, _pname, _params});
2463}
2464
2465pub fn samplerParameterIuiv(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLuint) callconv(.C) void {
2466 return @call(.always_tail, function_pointers.glSamplerParameterIuiv, .{_sampler, _pname, _param});
2467}
2468
2469pub fn samplerParameterIiv(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLint) callconv(.C) void {
2470 return @call(.always_tail, function_pointers.glSamplerParameterIiv, .{_sampler, _pname, _param});
2471}
2472
2473pub fn samplerParameterfv(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLfloat) callconv(.C) void {
2474 return @call(.always_tail, function_pointers.glSamplerParameterfv, .{_sampler, _pname, _param});
2475}
2476
2477pub fn samplerParameterf(_sampler: GLuint, _pname: GLenum, _param: GLfloat) callconv(.C) void {
2478 return @call(.always_tail, function_pointers.glSamplerParameterf, .{_sampler, _pname, _param});
2479}
2480
2481pub fn samplerParameteriv(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLint) callconv(.C) void {
2482 return @call(.always_tail, function_pointers.glSamplerParameteriv, .{_sampler, _pname, _param});
2483}
2484
2485pub fn samplerParameteri(_sampler: GLuint, _pname: GLenum, _param: GLint) callconv(.C) void {
2486 return @call(.always_tail, function_pointers.glSamplerParameteri, .{_sampler, _pname, _param});
2487}
2488
2489pub fn bindSampler(_unit: GLuint, _sampler: GLuint) callconv(.C) void {
2490 return @call(.always_tail, function_pointers.glBindSampler, .{_unit, _sampler});
2491}
2492
2493pub fn isSampler(_sampler: GLuint) callconv(.C) GLboolean {
2494 return @call(.always_tail, function_pointers.glIsSampler, .{_sampler});
2495}
2496
2497pub fn deleteSamplers(_count: GLsizei, _samplers: [*c]const GLuint) callconv(.C) void {
2498 return @call(.always_tail, function_pointers.glDeleteSamplers, .{_count, _samplers});
2499}
2500
2501pub fn genSamplers(_count: GLsizei, _samplers: [*c]GLuint) callconv(.C) void {
2502 return @call(.always_tail, function_pointers.glGenSamplers, .{_count, _samplers});
2503}
2504
2505pub fn getFragDataIndex(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint {
2506 return @call(.always_tail, function_pointers.glGetFragDataIndex, .{_program, _name});
2507}
2508
2509pub fn bindFragDataLocationIndexed(_program: GLuint, _colorNumber: GLuint, _index: GLuint, _name: [*c]const GLchar) callconv(.C) void {
2510 return @call(.always_tail, function_pointers.glBindFragDataLocationIndexed, .{_program, _colorNumber, _index, _name});
2511}
2512
2513pub fn sampleMaski(_maskNumber: GLuint, _mask: GLbitfield) callconv(.C) void {
2514 return @call(.always_tail, function_pointers.glSampleMaski, .{_maskNumber, _mask});
2515}
2516
2517pub fn getMultisamplefv(_pname: GLenum, _index: GLuint, _val: [*c]GLfloat) callconv(.C) void {
2518 return @call(.always_tail, function_pointers.glGetMultisamplefv, .{_pname, _index, _val});
2519}
2520
2521pub fn texImage3DMultisample(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void {
2522 return @call(.always_tail, function_pointers.glTexImage3DMultisample, .{_target, _samples, _internalformat, _width, _height, _depth, _fixedsamplelocations});
2523}
2524
2525pub fn texImage2DMultisample(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void {
2526 return @call(.always_tail, function_pointers.glTexImage2DMultisample, .{_target, _samples, _internalformat, _width, _height, _fixedsamplelocations});
2527}
2528
2529pub fn framebufferTexture(_target: GLenum, _attachment: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void {
2530 return @call(.always_tail, function_pointers.glFramebufferTexture, .{_target, _attachment, _texture, _level});
2531}
2532
2533pub fn getBufferParameteri64v(_target: GLenum, _pname: GLenum, _params: [*c]GLint64) callconv(.C) void {
2534 return @call(.always_tail, function_pointers.glGetBufferParameteri64v, .{_target, _pname, _params});
2535}
2536
2537pub fn blendFuncSeparate(_sfactorRGB: GLenum, _dfactorRGB: GLenum, _sfactorAlpha: GLenum, _dfactorAlpha: GLenum) callconv(.C) void {
2538 return @call(.always_tail, function_pointers.glBlendFuncSeparate, .{_sfactorRGB, _dfactorRGB, _sfactorAlpha, _dfactorAlpha});
2539}
2540
2541pub fn multiDrawArrays(_mode: GLenum, _first: [*c]const GLint, _count: [*c]const GLsizei, _drawcount: GLsizei) callconv(.C) void {
2542 return @call(.always_tail, function_pointers.glMultiDrawArrays, .{_mode, _first, _count, _drawcount});
2543}
2544
2545pub fn multiDrawElements(_mode: GLenum, _count: [*c]const GLsizei, _type: GLenum, _indices: [*c]const ?*const anyopaque, _drawcount: GLsizei) callconv(.C) void {
2546 return @call(.always_tail, function_pointers.glMultiDrawElements, .{_mode, _count, _type, _indices, _drawcount});
2547}
2548
2549pub fn pointParameterf(_pname: GLenum, _param: GLfloat) callconv(.C) void {
2550 return @call(.always_tail, function_pointers.glPointParameterf, .{_pname, _param});
2551}
2552
2553pub fn pointParameterfv(_pname: GLenum, _params: [*c]const GLfloat) callconv(.C) void {
2554 return @call(.always_tail, function_pointers.glPointParameterfv, .{_pname, _params});
2555}
2556
2557pub fn pointParameteri(_pname: GLenum, _param: GLint) callconv(.C) void {
2558 return @call(.always_tail, function_pointers.glPointParameteri, .{_pname, _param});
2559}
2560
2561pub fn pointParameteriv(_pname: GLenum, _params: [*c]const GLint) callconv(.C) void {
2562 return @call(.always_tail, function_pointers.glPointParameteriv, .{_pname, _params});
2563}
2564
2565pub fn getInteger64i_v(_target: GLenum, _index: GLuint, _data: [*c]GLint64) callconv(.C) void {
2566 return @call(.always_tail, function_pointers.glGetInteger64i_v, .{_target, _index, _data});
2567}
2568
2569pub fn getSynciv(_sync: GLsync, _pname: GLenum, _count: GLsizei, _length: [*c]GLsizei, _values: [*c]GLint) callconv(.C) void {
2570 return @call(.always_tail, function_pointers.glGetSynciv, .{_sync, _pname, _count, _length, _values});
2571}
2572
2573pub fn getInteger64v(_pname: GLenum, _data: [*c]GLint64) callconv(.C) void {
2574 return @call(.always_tail, function_pointers.glGetInteger64v, .{_pname, _data});
2575}
2576
2577pub fn waitSync(_sync: GLsync, _flags: GLbitfield, _timeout: GLuint64) callconv(.C) void {
2578 return @call(.always_tail, function_pointers.glWaitSync, .{_sync, _flags, _timeout});
2579}
2580
2581pub fn clientWaitSync(_sync: GLsync, _flags: GLbitfield, _timeout: GLuint64) callconv(.C) GLenum {
2582 return @call(.always_tail, function_pointers.glClientWaitSync, .{_sync, _flags, _timeout});
2583}
2584
2585pub fn deleteSync(_sync: GLsync) callconv(.C) void {
2586 return @call(.always_tail, function_pointers.glDeleteSync, .{_sync});
2587}
2588
2589pub fn isSync(_sync: GLsync) callconv(.C) GLboolean {
2590 return @call(.always_tail, function_pointers.glIsSync, .{_sync});
2591}
2592
2593pub fn fenceSync(_condition: GLenum, _flags: GLbitfield) callconv(.C) GLsync {
2594 return @call(.always_tail, function_pointers.glFenceSync, .{_condition, _flags});
2595}
2596
2597pub fn blendColor(_red: GLfloat, _green: GLfloat, _blue: GLfloat, _alpha: GLfloat) callconv(.C) void {
2598 return @call(.always_tail, function_pointers.glBlendColor, .{_red, _green, _blue, _alpha});
2599}
2600
2601pub fn blendEquation(_mode: GLenum) callconv(.C) void {
2602 return @call(.always_tail, function_pointers.glBlendEquation, .{_mode});
2603}
2604
2605pub fn provokingVertex(_mode: GLenum) callconv(.C) void {
2606 return @call(.always_tail, function_pointers.glProvokingVertex, .{_mode});
2607}
2608
2609pub fn multiDrawElementsBaseVertex(_mode: GLenum, _count: [*c]const GLsizei, _type: GLenum, _indices: [*c]const ?*const anyopaque, _drawcount: GLsizei, _basevertex: [*c]const GLint) callconv(.C) void {
2610 return @call(.always_tail, function_pointers.glMultiDrawElementsBaseVertex, .{_mode, _count, _type, _indices, _drawcount, _basevertex});
2611}
2612
2613pub fn drawElementsInstancedBaseVertex(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei, _basevertex: GLint) callconv(.C) void {
2614 return @call(.always_tail, function_pointers.glDrawElementsInstancedBaseVertex, .{_mode, _count, _type, _indices, _instancecount, _basevertex});
2615}
2616
2617pub fn drawRangeElementsBaseVertex(_mode: GLenum, _start: GLuint, _end: GLuint, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _basevertex: GLint) callconv(.C) void {
2618 return @call(.always_tail, function_pointers.glDrawRangeElementsBaseVertex, .{_mode, _start, _end, _count, _type, _indices, _basevertex});
2619}
2620
2621pub fn drawElementsBaseVertex(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _basevertex: GLint) callconv(.C) void {
2622 return @call(.always_tail, function_pointers.glDrawElementsBaseVertex, .{_mode, _count, _type, _indices, _basevertex});
2623}
2624
2625pub fn genQueries(_n: GLsizei, _ids: [*c]GLuint) callconv(.C) void {
2626 return @call(.always_tail, function_pointers.glGenQueries, .{_n, _ids});
2627}
2628
2629pub fn deleteQueries(_n: GLsizei, _ids: [*c]const GLuint) callconv(.C) void {
2630 return @call(.always_tail, function_pointers.glDeleteQueries, .{_n, _ids});
2631}
2632
2633pub fn isQuery(_id: GLuint) callconv(.C) GLboolean {
2634 return @call(.always_tail, function_pointers.glIsQuery, .{_id});
2635}
2636
2637pub fn beginQuery(_target: GLenum, _id: GLuint) callconv(.C) void {
2638 return @call(.always_tail, function_pointers.glBeginQuery, .{_target, _id});
2639}
2640
2641pub fn endQuery(_target: GLenum) callconv(.C) void {
2642 return @call(.always_tail, function_pointers.glEndQuery, .{_target});
2643}
2644
2645pub fn getQueryiv(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2646 return @call(.always_tail, function_pointers.glGetQueryiv, .{_target, _pname, _params});
2647}
2648
2649pub fn getQueryObjectiv(_id: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2650 return @call(.always_tail, function_pointers.glGetQueryObjectiv, .{_id, _pname, _params});
2651}
2652
2653pub fn getQueryObjectuiv(_id: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void {
2654 return @call(.always_tail, function_pointers.glGetQueryObjectuiv, .{_id, _pname, _params});
2655}
2656
2657pub fn bindBuffer(_target: GLenum, _buffer: GLuint) callconv(.C) void {
2658 return @call(.always_tail, function_pointers.glBindBuffer, .{_target, _buffer});
2659}
2660
2661pub fn deleteBuffers(_n: GLsizei, _buffers: [*c]const GLuint) callconv(.C) void {
2662 return @call(.always_tail, function_pointers.glDeleteBuffers, .{_n, _buffers});
2663}
2664
2665pub fn genBuffers(_n: GLsizei, _buffers: [*c]GLuint) callconv(.C) void {
2666 return @call(.always_tail, function_pointers.glGenBuffers, .{_n, _buffers});
2667}
2668
2669pub fn isBuffer(_buffer: GLuint) callconv(.C) GLboolean {
2670 return @call(.always_tail, function_pointers.glIsBuffer, .{_buffer});
2671}
2672
2673pub fn bufferData(_target: GLenum, _size: GLsizeiptr, _data: ?*const anyopaque, _usage: GLenum) callconv(.C) void {
2674 return @call(.always_tail, function_pointers.glBufferData, .{_target, _size, _data, _usage});
2675}
2676
2677pub fn bufferSubData(_target: GLenum, _offset: GLintptr, _size: GLsizeiptr, _data: ?*const anyopaque) callconv(.C) void {
2678 return @call(.always_tail, function_pointers.glBufferSubData, .{_target, _offset, _size, _data});
2679}
2680
2681pub fn getBufferSubData(_target: GLenum, _offset: GLintptr, _size: GLsizeiptr, _data: ?*anyopaque) callconv(.C) void {
2682 return @call(.always_tail, function_pointers.glGetBufferSubData, .{_target, _offset, _size, _data});
2683}
2684
2685pub fn mapBuffer(_target: GLenum, _access: GLenum) callconv(.C) ?*anyopaque {
2686 return @call(.always_tail, function_pointers.glMapBuffer, .{_target, _access});
2687}
2688
2689pub fn unmapBuffer(_target: GLenum) callconv(.C) GLboolean {
2690 return @call(.always_tail, function_pointers.glUnmapBuffer, .{_target});
2691}
2692
2693pub fn getBufferParameteriv(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2694 return @call(.always_tail, function_pointers.glGetBufferParameteriv, .{_target, _pname, _params});
2695}
2696
2697pub fn getBufferPointerv(_target: GLenum, _pname: GLenum, _params: ?*?*anyopaque) callconv(.C) void {
2698 return @call(.always_tail, function_pointers.glGetBufferPointerv, .{_target, _pname, _params});
2699}
2700
2701pub fn blendEquationSeparate(_modeRGB: GLenum, _modeAlpha: GLenum) callconv(.C) void {
2702 return @call(.always_tail, function_pointers.glBlendEquationSeparate, .{_modeRGB, _modeAlpha});
2703}
2704
2705pub fn drawBuffers(_n: GLsizei, _bufs: [*c]const GLenum) callconv(.C) void {
2706 return @call(.always_tail, function_pointers.glDrawBuffers, .{_n, _bufs});
2707}
2708
2709pub fn stencilOpSeparate(_face: GLenum, _sfail: GLenum, _dpfail: GLenum, _dppass: GLenum) callconv(.C) void {
2710 return @call(.always_tail, function_pointers.glStencilOpSeparate, .{_face, _sfail, _dpfail, _dppass});
2711}
2712
2713pub fn stencilFuncSeparate(_face: GLenum, _func: GLenum, _ref: GLint, _mask: GLuint) callconv(.C) void {
2714 return @call(.always_tail, function_pointers.glStencilFuncSeparate, .{_face, _func, _ref, _mask});
2715}
2716
2717pub fn stencilMaskSeparate(_face: GLenum, _mask: GLuint) callconv(.C) void {
2718 return @call(.always_tail, function_pointers.glStencilMaskSeparate, .{_face, _mask});
2719}
2720
2721pub fn attachShader(_program: GLuint, _shader: GLuint) callconv(.C) void {
2722 return @call(.always_tail, function_pointers.glAttachShader, .{_program, _shader});
2723}
2724
2725pub fn bindAttribLocation(_program: GLuint, _index: GLuint, _name: [*c]const GLchar) callconv(.C) void {
2726 return @call(.always_tail, function_pointers.glBindAttribLocation, .{_program, _index, _name});
2727}
2728
2729pub fn compileShader(_shader: GLuint) callconv(.C) void {
2730 return @call(.always_tail, function_pointers.glCompileShader, .{_shader});
2731}
2732
2733pub fn createProgram() callconv(.C) GLuint {
2734 return @call(.always_tail, function_pointers.glCreateProgram, .{});
2735}
2736
2737pub fn createShader(_type: GLenum) callconv(.C) GLuint {
2738 return @call(.always_tail, function_pointers.glCreateShader, .{_type});
2739}
2740
2741pub fn deleteProgram(_program: GLuint) callconv(.C) void {
2742 return @call(.always_tail, function_pointers.glDeleteProgram, .{_program});
2743}
2744
2745pub fn deleteShader(_shader: GLuint) callconv(.C) void {
2746 return @call(.always_tail, function_pointers.glDeleteShader, .{_shader});
2747}
2748
2749pub fn detachShader(_program: GLuint, _shader: GLuint) callconv(.C) void {
2750 return @call(.always_tail, function_pointers.glDetachShader, .{_program, _shader});
2751}
2752
2753pub fn disableVertexAttribArray(_index: GLuint) callconv(.C) void {
2754 return @call(.always_tail, function_pointers.glDisableVertexAttribArray, .{_index});
2755}
2756
2757pub fn enableVertexAttribArray(_index: GLuint) callconv(.C) void {
2758 return @call(.always_tail, function_pointers.glEnableVertexAttribArray, .{_index});
2759}
2760
2761pub fn getActiveAttrib(_program: GLuint, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _size: [*c]GLint, _type: [*c]GLenum, _name: [*c]GLchar) callconv(.C) void {
2762 return @call(.always_tail, function_pointers.glGetActiveAttrib, .{_program, _index, _bufSize, _length, _size, _type, _name});
2763}
2764
2765pub fn getActiveUniform(_program: GLuint, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _size: [*c]GLint, _type: [*c]GLenum, _name: [*c]GLchar) callconv(.C) void {
2766 return @call(.always_tail, function_pointers.glGetActiveUniform, .{_program, _index, _bufSize, _length, _size, _type, _name});
2767}
2768
2769pub fn getAttachedShaders(_program: GLuint, _maxCount: GLsizei, _count: [*c]GLsizei, _shaders: [*c]GLuint) callconv(.C) void {
2770 return @call(.always_tail, function_pointers.glGetAttachedShaders, .{_program, _maxCount, _count, _shaders});
2771}
2772
2773pub fn getAttribLocation(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint {
2774 return @call(.always_tail, function_pointers.glGetAttribLocation, .{_program, _name});
2775}
2776
2777pub fn getProgramiv(_program: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2778 return @call(.always_tail, function_pointers.glGetProgramiv, .{_program, _pname, _params});
2779}
2780
2781pub fn getProgramInfoLog(_program: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _infoLog: [*c]GLchar) callconv(.C) void {
2782 return @call(.always_tail, function_pointers.glGetProgramInfoLog, .{_program, _bufSize, _length, _infoLog});
2783}
2784
2785pub fn getShaderiv(_shader: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2786 return @call(.always_tail, function_pointers.glGetShaderiv, .{_shader, _pname, _params});
2787}
2788
2789pub fn getShaderInfoLog(_shader: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _infoLog: [*c]GLchar) callconv(.C) void {
2790 return @call(.always_tail, function_pointers.glGetShaderInfoLog, .{_shader, _bufSize, _length, _infoLog});
2791}
2792
2793pub fn getShaderSource(_shader: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _source: [*c]GLchar) callconv(.C) void {
2794 return @call(.always_tail, function_pointers.glGetShaderSource, .{_shader, _bufSize, _length, _source});
2795}
2796
2797pub fn getUniformLocation(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint {
2798 return @call(.always_tail, function_pointers.glGetUniformLocation, .{_program, _name});
2799}
2800
2801pub fn getUniformfv(_program: GLuint, _location: GLint, _params: [*c]GLfloat) callconv(.C) void {
2802 return @call(.always_tail, function_pointers.glGetUniformfv, .{_program, _location, _params});
2803}
2804
2805pub fn getUniformiv(_program: GLuint, _location: GLint, _params: [*c]GLint) callconv(.C) void {
2806 return @call(.always_tail, function_pointers.glGetUniformiv, .{_program, _location, _params});
2807}
2808
2809pub fn getVertexAttribdv(_index: GLuint, _pname: GLenum, _params: [*c]GLdouble) callconv(.C) void {
2810 return @call(.always_tail, function_pointers.glGetVertexAttribdv, .{_index, _pname, _params});
2811}
2812
2813pub fn getVertexAttribfv(_index: GLuint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void {
2814 return @call(.always_tail, function_pointers.glGetVertexAttribfv, .{_index, _pname, _params});
2815}
2816
2817pub fn getVertexAttribiv(_index: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
2818 return @call(.always_tail, function_pointers.glGetVertexAttribiv, .{_index, _pname, _params});
2819}
2820
2821pub fn getVertexAttribPointerv(_index: GLuint, _pname: GLenum, _pointer: ?*?*anyopaque) callconv(.C) void {
2822 return @call(.always_tail, function_pointers.glGetVertexAttribPointerv, .{_index, _pname, _pointer});
2823}
2824
2825pub fn isProgram(_program: GLuint) callconv(.C) GLboolean {
2826 return @call(.always_tail, function_pointers.glIsProgram, .{_program});
2827}
2828
2829pub fn isShader(_shader: GLuint) callconv(.C) GLboolean {
2830 return @call(.always_tail, function_pointers.glIsShader, .{_shader});
2831}
2832
2833pub fn linkProgram(_program: GLuint) callconv(.C) void {
2834 return @call(.always_tail, function_pointers.glLinkProgram, .{_program});
2835}
2836
2837pub fn shaderSource(_shader: GLuint, _count: GLsizei, _string: [*c]const [*c]const GLchar, _length: [*c]const GLint) callconv(.C) void {
2838 return @call(.always_tail, function_pointers.glShaderSource, .{_shader, _count, _string, _length});
2839}
2840
2841pub fn useProgram(_program: GLuint) callconv(.C) void {
2842 return @call(.always_tail, function_pointers.glUseProgram, .{_program});
2843}
2844
2845pub fn uniform1f(_location: GLint, _v0: GLfloat) callconv(.C) void {
2846 return @call(.always_tail, function_pointers.glUniform1f, .{_location, _v0});
2847}
2848
2849pub fn uniform2f(_location: GLint, _v0: GLfloat, _v1: GLfloat) callconv(.C) void {
2850 return @call(.always_tail, function_pointers.glUniform2f, .{_location, _v0, _v1});
2851}
2852
2853pub fn uniform3f(_location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat) callconv(.C) void {
2854 return @call(.always_tail, function_pointers.glUniform3f, .{_location, _v0, _v1, _v2});
2855}
2856
2857pub fn uniform4f(_location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat, _v3: GLfloat) callconv(.C) void {
2858 return @call(.always_tail, function_pointers.glUniform4f, .{_location, _v0, _v1, _v2, _v3});
2859}
2860
2861pub fn uniform1i(_location: GLint, _v0: GLint) callconv(.C) void {
2862 return @call(.always_tail, function_pointers.glUniform1i, .{_location, _v0});
2863}
2864
2865pub fn uniform2i(_location: GLint, _v0: GLint, _v1: GLint) callconv(.C) void {
2866 return @call(.always_tail, function_pointers.glUniform2i, .{_location, _v0, _v1});
2867}
2868
2869pub fn uniform3i(_location: GLint, _v0: GLint, _v1: GLint, _v2: GLint) callconv(.C) void {
2870 return @call(.always_tail, function_pointers.glUniform3i, .{_location, _v0, _v1, _v2});
2871}
2872
2873pub fn uniform4i(_location: GLint, _v0: GLint, _v1: GLint, _v2: GLint, _v3: GLint) callconv(.C) void {
2874 return @call(.always_tail, function_pointers.glUniform4i, .{_location, _v0, _v1, _v2, _v3});
2875}
2876
2877pub fn uniform1fv(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
2878 return @call(.always_tail, function_pointers.glUniform1fv, .{_location, _count, _value});
2879}
2880
2881pub fn uniform2fv(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
2882 return @call(.always_tail, function_pointers.glUniform2fv, .{_location, _count, _value});
2883}
2884
2885pub fn uniform3fv(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
2886 return @call(.always_tail, function_pointers.glUniform3fv, .{_location, _count, _value});
2887}
2888
2889pub fn uniform4fv(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void {
2890 return @call(.always_tail, function_pointers.glUniform4fv, .{_location, _count, _value});
2891}
2892
2893pub fn uniform1iv(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
2894 return @call(.always_tail, function_pointers.glUniform1iv, .{_location, _count, _value});
2895}
2896
2897pub fn uniform2iv(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
2898 return @call(.always_tail, function_pointers.glUniform2iv, .{_location, _count, _value});
2899}
2900
2901pub fn uniform3iv(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
2902 return @call(.always_tail, function_pointers.glUniform3iv, .{_location, _count, _value});
2903}
2904
2905pub fn uniform4iv(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void {
2906 return @call(.always_tail, function_pointers.glUniform4iv, .{_location, _count, _value});
2907}
2908
2909pub fn uniformMatrix2fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
2910 return @call(.always_tail, function_pointers.glUniformMatrix2fv, .{_location, _count, _transpose, _value});
2911}
2912
2913pub fn uniformMatrix3fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
2914 return @call(.always_tail, function_pointers.glUniformMatrix3fv, .{_location, _count, _transpose, _value});
2915}
2916
2917pub fn uniformMatrix4fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
2918 return @call(.always_tail, function_pointers.glUniformMatrix4fv, .{_location, _count, _transpose, _value});
2919}
2920
2921pub fn validateProgram(_program: GLuint) callconv(.C) void {
2922 return @call(.always_tail, function_pointers.glValidateProgram, .{_program});
2923}
2924
2925pub fn vertexAttrib1d(_index: GLuint, _x: GLdouble) callconv(.C) void {
2926 return @call(.always_tail, function_pointers.glVertexAttrib1d, .{_index, _x});
2927}
2928
2929pub fn vertexAttrib1dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
2930 return @call(.always_tail, function_pointers.glVertexAttrib1dv, .{_index, _v});
2931}
2932
2933pub fn vertexAttrib1f(_index: GLuint, _x: GLfloat) callconv(.C) void {
2934 return @call(.always_tail, function_pointers.glVertexAttrib1f, .{_index, _x});
2935}
2936
2937pub fn vertexAttrib1fv(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void {
2938 return @call(.always_tail, function_pointers.glVertexAttrib1fv, .{_index, _v});
2939}
2940
2941pub fn vertexAttrib1s(_index: GLuint, _x: GLshort) callconv(.C) void {
2942 return @call(.always_tail, function_pointers.glVertexAttrib1s, .{_index, _x});
2943}
2944
2945pub fn vertexAttrib1sv(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void {
2946 return @call(.always_tail, function_pointers.glVertexAttrib1sv, .{_index, _v});
2947}
2948
2949pub fn vertexAttrib2d(_index: GLuint, _x: GLdouble, _y: GLdouble) callconv(.C) void {
2950 return @call(.always_tail, function_pointers.glVertexAttrib2d, .{_index, _x, _y});
2951}
2952
2953pub fn vertexAttrib2dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
2954 return @call(.always_tail, function_pointers.glVertexAttrib2dv, .{_index, _v});
2955}
2956
2957pub fn vertexAttrib2f(_index: GLuint, _x: GLfloat, _y: GLfloat) callconv(.C) void {
2958 return @call(.always_tail, function_pointers.glVertexAttrib2f, .{_index, _x, _y});
2959}
2960
2961pub fn vertexAttrib2fv(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void {
2962 return @call(.always_tail, function_pointers.glVertexAttrib2fv, .{_index, _v});
2963}
2964
2965pub fn vertexAttrib2s(_index: GLuint, _x: GLshort, _y: GLshort) callconv(.C) void {
2966 return @call(.always_tail, function_pointers.glVertexAttrib2s, .{_index, _x, _y});
2967}
2968
2969pub fn vertexAttrib2sv(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void {
2970 return @call(.always_tail, function_pointers.glVertexAttrib2sv, .{_index, _v});
2971}
2972
2973pub fn vertexAttrib3d(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble) callconv(.C) void {
2974 return @call(.always_tail, function_pointers.glVertexAttrib3d, .{_index, _x, _y, _z});
2975}
2976
2977pub fn vertexAttrib3dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
2978 return @call(.always_tail, function_pointers.glVertexAttrib3dv, .{_index, _v});
2979}
2980
2981pub fn vertexAttrib3f(_index: GLuint, _x: GLfloat, _y: GLfloat, _z: GLfloat) callconv(.C) void {
2982 return @call(.always_tail, function_pointers.glVertexAttrib3f, .{_index, _x, _y, _z});
2983}
2984
2985pub fn vertexAttrib3fv(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void {
2986 return @call(.always_tail, function_pointers.glVertexAttrib3fv, .{_index, _v});
2987}
2988
2989pub fn vertexAttrib3s(_index: GLuint, _x: GLshort, _y: GLshort, _z: GLshort) callconv(.C) void {
2990 return @call(.always_tail, function_pointers.glVertexAttrib3s, .{_index, _x, _y, _z});
2991}
2992
2993pub fn vertexAttrib3sv(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void {
2994 return @call(.always_tail, function_pointers.glVertexAttrib3sv, .{_index, _v});
2995}
2996
2997pub fn vertexAttrib4Nbv(_index: GLuint, _v: [*c]const GLbyte) callconv(.C) void {
2998 return @call(.always_tail, function_pointers.glVertexAttrib4Nbv, .{_index, _v});
2999}
3000
3001pub fn vertexAttrib4Niv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
3002 return @call(.always_tail, function_pointers.glVertexAttrib4Niv, .{_index, _v});
3003}
3004
3005pub fn vertexAttrib4Nsv(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void {
3006 return @call(.always_tail, function_pointers.glVertexAttrib4Nsv, .{_index, _v});
3007}
3008
3009pub fn vertexAttrib4Nub(_index: GLuint, _x: GLubyte, _y: GLubyte, _z: GLubyte, _w: GLubyte) callconv(.C) void {
3010 return @call(.always_tail, function_pointers.glVertexAttrib4Nub, .{_index, _x, _y, _z, _w});
3011}
3012
3013pub fn vertexAttrib4Nubv(_index: GLuint, _v: ?[*:0]const GLubyte) callconv(.C) void {
3014 return @call(.always_tail, function_pointers.glVertexAttrib4Nubv, .{_index, _v});
3015}
3016
3017pub fn vertexAttrib4Nuiv(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void {
3018 return @call(.always_tail, function_pointers.glVertexAttrib4Nuiv, .{_index, _v});
3019}
3020
3021pub fn vertexAttrib4Nusv(_index: GLuint, _v: [*c]const GLushort) callconv(.C) void {
3022 return @call(.always_tail, function_pointers.glVertexAttrib4Nusv, .{_index, _v});
3023}
3024
3025pub fn vertexAttrib4bv(_index: GLuint, _v: [*c]const GLbyte) callconv(.C) void {
3026 return @call(.always_tail, function_pointers.glVertexAttrib4bv, .{_index, _v});
3027}
3028
3029pub fn vertexAttrib4d(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble, _w: GLdouble) callconv(.C) void {
3030 return @call(.always_tail, function_pointers.glVertexAttrib4d, .{_index, _x, _y, _z, _w});
3031}
3032
3033pub fn vertexAttrib4dv(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void {
3034 return @call(.always_tail, function_pointers.glVertexAttrib4dv, .{_index, _v});
3035}
3036
3037pub fn vertexAttrib4f(_index: GLuint, _x: GLfloat, _y: GLfloat, _z: GLfloat, _w: GLfloat) callconv(.C) void {
3038 return @call(.always_tail, function_pointers.glVertexAttrib4f, .{_index, _x, _y, _z, _w});
3039}
3040
3041pub fn vertexAttrib4fv(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void {
3042 return @call(.always_tail, function_pointers.glVertexAttrib4fv, .{_index, _v});
3043}
3044
3045pub fn vertexAttrib4iv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
3046 return @call(.always_tail, function_pointers.glVertexAttrib4iv, .{_index, _v});
3047}
3048
3049pub fn vertexAttrib4s(_index: GLuint, _x: GLshort, _y: GLshort, _z: GLshort, _w: GLshort) callconv(.C) void {
3050 return @call(.always_tail, function_pointers.glVertexAttrib4s, .{_index, _x, _y, _z, _w});
3051}
3052
3053pub fn vertexAttrib4sv(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void {
3054 return @call(.always_tail, function_pointers.glVertexAttrib4sv, .{_index, _v});
3055}
3056
3057pub fn vertexAttrib4ubv(_index: GLuint, _v: ?[*:0]const GLubyte) callconv(.C) void {
3058 return @call(.always_tail, function_pointers.glVertexAttrib4ubv, .{_index, _v});
3059}
3060
3061pub fn vertexAttrib4uiv(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void {
3062 return @call(.always_tail, function_pointers.glVertexAttrib4uiv, .{_index, _v});
3063}
3064
3065pub fn vertexAttrib4usv(_index: GLuint, _v: [*c]const GLushort) callconv(.C) void {
3066 return @call(.always_tail, function_pointers.glVertexAttrib4usv, .{_index, _v});
3067}
3068
3069pub fn vertexAttribPointer(_index: GLuint, _size: GLint, _type: GLenum, _normalized: GLboolean, _stride: GLsizei, _pointer: ?*const anyopaque) callconv(.C) void {
3070 return @call(.always_tail, function_pointers.glVertexAttribPointer, .{_index, _size, _type, _normalized, _stride, _pointer});
3071}
3072
3073pub fn uniformMatrix2x3fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
3074 return @call(.always_tail, function_pointers.glUniformMatrix2x3fv, .{_location, _count, _transpose, _value});
3075}
3076
3077pub fn uniformMatrix3x2fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
3078 return @call(.always_tail, function_pointers.glUniformMatrix3x2fv, .{_location, _count, _transpose, _value});
3079}
3080
3081pub fn uniformMatrix2x4fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
3082 return @call(.always_tail, function_pointers.glUniformMatrix2x4fv, .{_location, _count, _transpose, _value});
3083}
3084
3085pub fn uniformMatrix4x2fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
3086 return @call(.always_tail, function_pointers.glUniformMatrix4x2fv, .{_location, _count, _transpose, _value});
3087}
3088
3089pub fn uniformMatrix3x4fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
3090 return @call(.always_tail, function_pointers.glUniformMatrix3x4fv, .{_location, _count, _transpose, _value});
3091}
3092
3093pub fn uniformMatrix4x3fv(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void {
3094 return @call(.always_tail, function_pointers.glUniformMatrix4x3fv, .{_location, _count, _transpose, _value});
3095}
3096
3097pub fn colorMaski(_index: GLuint, _r: GLboolean, _g: GLboolean, _b: GLboolean, _a: GLboolean) callconv(.C) void {
3098 return @call(.always_tail, function_pointers.glColorMaski, .{_index, _r, _g, _b, _a});
3099}
3100
3101pub fn getBooleani_v(_target: GLenum, _index: GLuint, _data: [*c]GLboolean) callconv(.C) void {
3102 return @call(.always_tail, function_pointers.glGetBooleani_v, .{_target, _index, _data});
3103}
3104
3105pub fn getIntegeri_v(_target: GLenum, _index: GLuint, _data: [*c]GLint) callconv(.C) void {
3106 return @call(.always_tail, function_pointers.glGetIntegeri_v, .{_target, _index, _data});
3107}
3108
3109pub fn enablei(_target: GLenum, _index: GLuint) callconv(.C) void {
3110 return @call(.always_tail, function_pointers.glEnablei, .{_target, _index});
3111}
3112
3113pub fn disablei(_target: GLenum, _index: GLuint) callconv(.C) void {
3114 return @call(.always_tail, function_pointers.glDisablei, .{_target, _index});
3115}
3116
3117pub fn isEnabledi(_target: GLenum, _index: GLuint) callconv(.C) GLboolean {
3118 return @call(.always_tail, function_pointers.glIsEnabledi, .{_target, _index});
3119}
3120
3121pub fn beginTransformFeedback(_primitiveMode: GLenum) callconv(.C) void {
3122 return @call(.always_tail, function_pointers.glBeginTransformFeedback, .{_primitiveMode});
3123}
3124
3125pub fn endTransformFeedback() callconv(.C) void {
3126 return @call(.always_tail, function_pointers.glEndTransformFeedback, .{});
3127}
3128
3129pub fn bindBufferRange(_target: GLenum, _index: GLuint, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void {
3130 return @call(.always_tail, function_pointers.glBindBufferRange, .{_target, _index, _buffer, _offset, _size});
3131}
3132
3133pub fn bindBufferBase(_target: GLenum, _index: GLuint, _buffer: GLuint) callconv(.C) void {
3134 return @call(.always_tail, function_pointers.glBindBufferBase, .{_target, _index, _buffer});
3135}
3136
3137pub fn transformFeedbackVaryings(_program: GLuint, _count: GLsizei, _varyings: [*c]const [*c]const GLchar, _bufferMode: GLenum) callconv(.C) void {
3138 return @call(.always_tail, function_pointers.glTransformFeedbackVaryings, .{_program, _count, _varyings, _bufferMode});
3139}
3140
3141pub fn getTransformFeedbackVarying(_program: GLuint, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _size: [*c]GLsizei, _type: [*c]GLenum, _name: [*c]GLchar) callconv(.C) void {
3142 return @call(.always_tail, function_pointers.glGetTransformFeedbackVarying, .{_program, _index, _bufSize, _length, _size, _type, _name});
3143}
3144
3145pub fn clampColor(_target: GLenum, _clamp: GLenum) callconv(.C) void {
3146 return @call(.always_tail, function_pointers.glClampColor, .{_target, _clamp});
3147}
3148
3149pub fn beginConditionalRender(_id: GLuint, _mode: GLenum) callconv(.C) void {
3150 return @call(.always_tail, function_pointers.glBeginConditionalRender, .{_id, _mode});
3151}
3152
3153pub fn endConditionalRender() callconv(.C) void {
3154 return @call(.always_tail, function_pointers.glEndConditionalRender, .{});
3155}
3156
3157pub fn vertexAttribIPointer(_index: GLuint, _size: GLint, _type: GLenum, _stride: GLsizei, _pointer: ?*const anyopaque) callconv(.C) void {
3158 return @call(.always_tail, function_pointers.glVertexAttribIPointer, .{_index, _size, _type, _stride, _pointer});
3159}
3160
3161pub fn getVertexAttribIiv(_index: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3162 return @call(.always_tail, function_pointers.glGetVertexAttribIiv, .{_index, _pname, _params});
3163}
3164
3165pub fn getVertexAttribIuiv(_index: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void {
3166 return @call(.always_tail, function_pointers.glGetVertexAttribIuiv, .{_index, _pname, _params});
3167}
3168
3169pub fn vertexAttribI1i(_index: GLuint, _x: GLint) callconv(.C) void {
3170 return @call(.always_tail, function_pointers.glVertexAttribI1i, .{_index, _x});
3171}
3172
3173pub fn vertexAttribI2i(_index: GLuint, _x: GLint, _y: GLint) callconv(.C) void {
3174 return @call(.always_tail, function_pointers.glVertexAttribI2i, .{_index, _x, _y});
3175}
3176
3177pub fn vertexAttribI3i(_index: GLuint, _x: GLint, _y: GLint, _z: GLint) callconv(.C) void {
3178 return @call(.always_tail, function_pointers.glVertexAttribI3i, .{_index, _x, _y, _z});
3179}
3180
3181pub fn vertexAttribI4i(_index: GLuint, _x: GLint, _y: GLint, _z: GLint, _w: GLint) callconv(.C) void {
3182 return @call(.always_tail, function_pointers.glVertexAttribI4i, .{_index, _x, _y, _z, _w});
3183}
3184
3185pub fn vertexAttribI1ui(_index: GLuint, _x: GLuint) callconv(.C) void {
3186 return @call(.always_tail, function_pointers.glVertexAttribI1ui, .{_index, _x});
3187}
3188
3189pub fn vertexAttribI2ui(_index: GLuint, _x: GLuint, _y: GLuint) callconv(.C) void {
3190 return @call(.always_tail, function_pointers.glVertexAttribI2ui, .{_index, _x, _y});
3191}
3192
3193pub fn vertexAttribI3ui(_index: GLuint, _x: GLuint, _y: GLuint, _z: GLuint) callconv(.C) void {
3194 return @call(.always_tail, function_pointers.glVertexAttribI3ui, .{_index, _x, _y, _z});
3195}
3196
3197pub fn vertexAttribI4ui(_index: GLuint, _x: GLuint, _y: GLuint, _z: GLuint, _w: GLuint) callconv(.C) void {
3198 return @call(.always_tail, function_pointers.glVertexAttribI4ui, .{_index, _x, _y, _z, _w});
3199}
3200
3201pub fn vertexAttribI1iv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
3202 return @call(.always_tail, function_pointers.glVertexAttribI1iv, .{_index, _v});
3203}
3204
3205pub fn vertexAttribI2iv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
3206 return @call(.always_tail, function_pointers.glVertexAttribI2iv, .{_index, _v});
3207}
3208
3209pub fn vertexAttribI3iv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
3210 return @call(.always_tail, function_pointers.glVertexAttribI3iv, .{_index, _v});
3211}
3212
3213pub fn vertexAttribI4iv(_index: GLuint, _v: [*c]const GLint) callconv(.C) void {
3214 return @call(.always_tail, function_pointers.glVertexAttribI4iv, .{_index, _v});
3215}
3216
3217pub fn vertexAttribI1uiv(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void {
3218 return @call(.always_tail, function_pointers.glVertexAttribI1uiv, .{_index, _v});
3219}
3220
3221pub fn vertexAttribI2uiv(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void {
3222 return @call(.always_tail, function_pointers.glVertexAttribI2uiv, .{_index, _v});
3223}
3224
3225pub fn vertexAttribI3uiv(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void {
3226 return @call(.always_tail, function_pointers.glVertexAttribI3uiv, .{_index, _v});
3227}
3228
3229pub fn vertexAttribI4uiv(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void {
3230 return @call(.always_tail, function_pointers.glVertexAttribI4uiv, .{_index, _v});
3231}
3232
3233pub fn vertexAttribI4bv(_index: GLuint, _v: [*c]const GLbyte) callconv(.C) void {
3234 return @call(.always_tail, function_pointers.glVertexAttribI4bv, .{_index, _v});
3235}
3236
3237pub fn vertexAttribI4sv(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void {
3238 return @call(.always_tail, function_pointers.glVertexAttribI4sv, .{_index, _v});
3239}
3240
3241pub fn vertexAttribI4ubv(_index: GLuint, _v: ?[*:0]const GLubyte) callconv(.C) void {
3242 return @call(.always_tail, function_pointers.glVertexAttribI4ubv, .{_index, _v});
3243}
3244
3245pub fn vertexAttribI4usv(_index: GLuint, _v: [*c]const GLushort) callconv(.C) void {
3246 return @call(.always_tail, function_pointers.glVertexAttribI4usv, .{_index, _v});
3247}
3248
3249pub fn getUniformuiv(_program: GLuint, _location: GLint, _params: [*c]GLuint) callconv(.C) void {
3250 return @call(.always_tail, function_pointers.glGetUniformuiv, .{_program, _location, _params});
3251}
3252
3253pub fn bindFragDataLocation(_program: GLuint, _color: GLuint, _name: [*c]const GLchar) callconv(.C) void {
3254 return @call(.always_tail, function_pointers.glBindFragDataLocation, .{_program, _color, _name});
3255}
3256
3257pub fn getFragDataLocation(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint {
3258 return @call(.always_tail, function_pointers.glGetFragDataLocation, .{_program, _name});
3259}
3260
3261pub fn uniform1ui(_location: GLint, _v0: GLuint) callconv(.C) void {
3262 return @call(.always_tail, function_pointers.glUniform1ui, .{_location, _v0});
3263}
3264
3265pub fn uniform2ui(_location: GLint, _v0: GLuint, _v1: GLuint) callconv(.C) void {
3266 return @call(.always_tail, function_pointers.glUniform2ui, .{_location, _v0, _v1});
3267}
3268
3269pub fn uniform3ui(_location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint) callconv(.C) void {
3270 return @call(.always_tail, function_pointers.glUniform3ui, .{_location, _v0, _v1, _v2});
3271}
3272
3273pub fn uniform4ui(_location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint, _v3: GLuint) callconv(.C) void {
3274 return @call(.always_tail, function_pointers.glUniform4ui, .{_location, _v0, _v1, _v2, _v3});
3275}
3276
3277pub fn uniform1uiv(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
3278 return @call(.always_tail, function_pointers.glUniform1uiv, .{_location, _count, _value});
3279}
3280
3281pub fn uniform2uiv(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
3282 return @call(.always_tail, function_pointers.glUniform2uiv, .{_location, _count, _value});
3283}
3284
3285pub fn uniform3uiv(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
3286 return @call(.always_tail, function_pointers.glUniform3uiv, .{_location, _count, _value});
3287}
3288
3289pub fn uniform4uiv(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void {
3290 return @call(.always_tail, function_pointers.glUniform4uiv, .{_location, _count, _value});
3291}
3292
3293pub fn texParameterIiv(_target: GLenum, _pname: GLenum, _params: [*c]const GLint) callconv(.C) void {
3294 return @call(.always_tail, function_pointers.glTexParameterIiv, .{_target, _pname, _params});
3295}
3296
3297pub fn texParameterIuiv(_target: GLenum, _pname: GLenum, _params: [*c]const GLuint) callconv(.C) void {
3298 return @call(.always_tail, function_pointers.glTexParameterIuiv, .{_target, _pname, _params});
3299}
3300
3301pub fn getTexParameterIiv(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3302 return @call(.always_tail, function_pointers.glGetTexParameterIiv, .{_target, _pname, _params});
3303}
3304
3305pub fn getTexParameterIuiv(_target: GLenum, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void {
3306 return @call(.always_tail, function_pointers.glGetTexParameterIuiv, .{_target, _pname, _params});
3307}
3308
3309pub fn clearBufferiv(_buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLint) callconv(.C) void {
3310 return @call(.always_tail, function_pointers.glClearBufferiv, .{_buffer, _drawbuffer, _value});
3311}
3312
3313pub fn clearBufferuiv(_buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLuint) callconv(.C) void {
3314 return @call(.always_tail, function_pointers.glClearBufferuiv, .{_buffer, _drawbuffer, _value});
3315}
3316
3317pub fn clearBufferfv(_buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLfloat) callconv(.C) void {
3318 return @call(.always_tail, function_pointers.glClearBufferfv, .{_buffer, _drawbuffer, _value});
3319}
3320
3321pub fn clearBufferfi(_buffer: GLenum, _drawbuffer: GLint, _depth: GLfloat, _stencil: GLint) callconv(.C) void {
3322 return @call(.always_tail, function_pointers.glClearBufferfi, .{_buffer, _drawbuffer, _depth, _stencil});
3323}
3324
3325pub fn getStringi(_name: GLenum, _index: GLuint) callconv(.C) ?[*:0]const GLubyte {
3326 return @call(.always_tail, function_pointers.glGetStringi, .{_name, _index});
3327}
3328
3329pub fn isRenderbuffer(_renderbuffer: GLuint) callconv(.C) GLboolean {
3330 return @call(.always_tail, function_pointers.glIsRenderbuffer, .{_renderbuffer});
3331}
3332
3333pub fn bindRenderbuffer(_target: GLenum, _renderbuffer: GLuint) callconv(.C) void {
3334 return @call(.always_tail, function_pointers.glBindRenderbuffer, .{_target, _renderbuffer});
3335}
3336
3337pub fn deleteRenderbuffers(_n: GLsizei, _renderbuffers: [*c]const GLuint) callconv(.C) void {
3338 return @call(.always_tail, function_pointers.glDeleteRenderbuffers, .{_n, _renderbuffers});
3339}
3340
3341pub fn genRenderbuffers(_n: GLsizei, _renderbuffers: [*c]GLuint) callconv(.C) void {
3342 return @call(.always_tail, function_pointers.glGenRenderbuffers, .{_n, _renderbuffers});
3343}
3344
3345pub fn renderbufferStorage(_target: GLenum, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3346 return @call(.always_tail, function_pointers.glRenderbufferStorage, .{_target, _internalformat, _width, _height});
3347}
3348
3349pub fn getRenderbufferParameteriv(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3350 return @call(.always_tail, function_pointers.glGetRenderbufferParameteriv, .{_target, _pname, _params});
3351}
3352
3353pub fn isFramebuffer(_framebuffer: GLuint) callconv(.C) GLboolean {
3354 return @call(.always_tail, function_pointers.glIsFramebuffer, .{_framebuffer});
3355}
3356
3357pub fn bindFramebuffer(_target: GLenum, _framebuffer: GLuint) callconv(.C) void {
3358 return @call(.always_tail, function_pointers.glBindFramebuffer, .{_target, _framebuffer});
3359}
3360
3361pub fn deleteFramebuffers(_n: GLsizei, _framebuffers: [*c]const GLuint) callconv(.C) void {
3362 return @call(.always_tail, function_pointers.glDeleteFramebuffers, .{_n, _framebuffers});
3363}
3364
3365pub fn genFramebuffers(_n: GLsizei, _framebuffers: [*c]GLuint) callconv(.C) void {
3366 return @call(.always_tail, function_pointers.glGenFramebuffers, .{_n, _framebuffers});
3367}
3368
3369pub fn checkFramebufferStatus(_target: GLenum) callconv(.C) GLenum {
3370 return @call(.always_tail, function_pointers.glCheckFramebufferStatus, .{_target});
3371}
3372
3373pub fn framebufferTexture1D(_target: GLenum, _attachment: GLenum, _textarget: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void {
3374 return @call(.always_tail, function_pointers.glFramebufferTexture1D, .{_target, _attachment, _textarget, _texture, _level});
3375}
3376
3377pub fn framebufferTexture2D(_target: GLenum, _attachment: GLenum, _textarget: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void {
3378 return @call(.always_tail, function_pointers.glFramebufferTexture2D, .{_target, _attachment, _textarget, _texture, _level});
3379}
3380
3381pub fn framebufferTexture3D(_target: GLenum, _attachment: GLenum, _textarget: GLenum, _texture: GLuint, _level: GLint, _zoffset: GLint) callconv(.C) void {
3382 return @call(.always_tail, function_pointers.glFramebufferTexture3D, .{_target, _attachment, _textarget, _texture, _level, _zoffset});
3383}
3384
3385pub fn framebufferRenderbuffer(_target: GLenum, _attachment: GLenum, _renderbuffertarget: GLenum, _renderbuffer: GLuint) callconv(.C) void {
3386 return @call(.always_tail, function_pointers.glFramebufferRenderbuffer, .{_target, _attachment, _renderbuffertarget, _renderbuffer});
3387}
3388
3389pub fn getFramebufferAttachmentParameteriv(_target: GLenum, _attachment: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3390 return @call(.always_tail, function_pointers.glGetFramebufferAttachmentParameteriv, .{_target, _attachment, _pname, _params});
3391}
3392
3393pub fn generateMipmap(_target: GLenum) callconv(.C) void {
3394 return @call(.always_tail, function_pointers.glGenerateMipmap, .{_target});
3395}
3396
3397pub fn blitFramebuffer(_srcX0: GLint, _srcY0: GLint, _srcX1: GLint, _srcY1: GLint, _dstX0: GLint, _dstY0: GLint, _dstX1: GLint, _dstY1: GLint, _mask: GLbitfield, _filter: GLenum) callconv(.C) void {
3398 return @call(.always_tail, function_pointers.glBlitFramebuffer, .{_srcX0, _srcY0, _srcX1, _srcY1, _dstX0, _dstY0, _dstX1, _dstY1, _mask, _filter});
3399}
3400
3401pub fn renderbufferStorageMultisample(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3402 return @call(.always_tail, function_pointers.glRenderbufferStorageMultisample, .{_target, _samples, _internalformat, _width, _height});
3403}
3404
3405pub fn framebufferTextureLayer(_target: GLenum, _attachment: GLenum, _texture: GLuint, _level: GLint, _layer: GLint) callconv(.C) void {
3406 return @call(.always_tail, function_pointers.glFramebufferTextureLayer, .{_target, _attachment, _texture, _level, _layer});
3407}
3408
3409pub fn mapBufferRange(_target: GLenum, _offset: GLintptr, _length: GLsizeiptr, _access: GLbitfield) callconv(.C) ?*anyopaque {
3410 return @call(.always_tail, function_pointers.glMapBufferRange, .{_target, _offset, _length, _access});
3411}
3412
3413pub fn flushMappedBufferRange(_target: GLenum, _offset: GLintptr, _length: GLsizeiptr) callconv(.C) void {
3414 return @call(.always_tail, function_pointers.glFlushMappedBufferRange, .{_target, _offset, _length});
3415}
3416
3417pub fn bindVertexArray(_array: GLuint) callconv(.C) void {
3418 return @call(.always_tail, function_pointers.glBindVertexArray, .{_array});
3419}
3420
3421pub fn deleteVertexArrays(_n: GLsizei, _arrays: [*c]const GLuint) callconv(.C) void {
3422 return @call(.always_tail, function_pointers.glDeleteVertexArrays, .{_n, _arrays});
3423}
3424
3425pub fn genVertexArrays(_n: GLsizei, _arrays: [*c]GLuint) callconv(.C) void {
3426 return @call(.always_tail, function_pointers.glGenVertexArrays, .{_n, _arrays});
3427}
3428
3429pub fn isVertexArray(_array: GLuint) callconv(.C) GLboolean {
3430 return @call(.always_tail, function_pointers.glIsVertexArray, .{_array});
3431}
3432
3433pub fn drawArraysInstanced(_mode: GLenum, _first: GLint, _count: GLsizei, _instancecount: GLsizei) callconv(.C) void {
3434 return @call(.always_tail, function_pointers.glDrawArraysInstanced, .{_mode, _first, _count, _instancecount});
3435}
3436
3437pub fn drawElementsInstanced(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei) callconv(.C) void {
3438 return @call(.always_tail, function_pointers.glDrawElementsInstanced, .{_mode, _count, _type, _indices, _instancecount});
3439}
3440
3441pub fn texBuffer(_target: GLenum, _internalformat: GLenum, _buffer: GLuint) callconv(.C) void {
3442 return @call(.always_tail, function_pointers.glTexBuffer, .{_target, _internalformat, _buffer});
3443}
3444
3445pub fn primitiveRestartIndex(_index: GLuint) callconv(.C) void {
3446 return @call(.always_tail, function_pointers.glPrimitiveRestartIndex, .{_index});
3447}
3448
3449pub fn copyBufferSubData(_readTarget: GLenum, _writeTarget: GLenum, _readOffset: GLintptr, _writeOffset: GLintptr, _size: GLsizeiptr) callconv(.C) void {
3450 return @call(.always_tail, function_pointers.glCopyBufferSubData, .{_readTarget, _writeTarget, _readOffset, _writeOffset, _size});
3451}
3452
3453pub fn getUniformIndices(_program: GLuint, _uniformCount: GLsizei, _uniformNames: [*c]const [*c]const GLchar, _uniformIndices: [*c]GLuint) callconv(.C) void {
3454 return @call(.always_tail, function_pointers.glGetUniformIndices, .{_program, _uniformCount, _uniformNames, _uniformIndices});
3455}
3456
3457pub fn getActiveUniformsiv(_program: GLuint, _uniformCount: GLsizei, _uniformIndices: [*c]const GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3458 return @call(.always_tail, function_pointers.glGetActiveUniformsiv, .{_program, _uniformCount, _uniformIndices, _pname, _params});
3459}
3460
3461pub fn getActiveUniformName(_program: GLuint, _uniformIndex: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _uniformName: [*c]GLchar) callconv(.C) void {
3462 return @call(.always_tail, function_pointers.glGetActiveUniformName, .{_program, _uniformIndex, _bufSize, _length, _uniformName});
3463}
3464
3465pub fn getUniformBlockIndex(_program: GLuint, _uniformBlockName: [*c]const GLchar) callconv(.C) GLuint {
3466 return @call(.always_tail, function_pointers.glGetUniformBlockIndex, .{_program, _uniformBlockName});
3467}
3468
3469pub fn getActiveUniformBlockiv(_program: GLuint, _uniformBlockIndex: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3470 return @call(.always_tail, function_pointers.glGetActiveUniformBlockiv, .{_program, _uniformBlockIndex, _pname, _params});
3471}
3472
3473pub fn getActiveUniformBlockName(_program: GLuint, _uniformBlockIndex: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _uniformBlockName: [*c]GLchar) callconv(.C) void {
3474 return @call(.always_tail, function_pointers.glGetActiveUniformBlockName, .{_program, _uniformBlockIndex, _bufSize, _length, _uniformBlockName});
3475}
3476
3477pub fn uniformBlockBinding(_program: GLuint, _uniformBlockIndex: GLuint, _uniformBlockBinding: GLuint) callconv(.C) void {
3478 return @call(.always_tail, function_pointers.glUniformBlockBinding, .{_program, _uniformBlockIndex, _uniformBlockBinding});
3479}
3480
3481pub fn texStorage3DMultisample(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void {
3482 return @call(.always_tail, function_pointers.glTexStorage3DMultisample, .{_target, _samples, _internalformat, _width, _height, _depth, _fixedsamplelocations});
3483}
3484
3485pub fn textureView(_texture: GLuint, _target: GLenum, _origtexture: GLuint, _internalformat: GLenum, _minlevel: GLuint, _numlevels: GLuint, _minlayer: GLuint, _numlayers: GLuint) callconv(.C) void {
3486 return @call(.always_tail, function_pointers.glTextureView, .{_texture, _target, _origtexture, _internalformat, _minlevel, _numlevels, _minlayer, _numlayers});
3487}
3488
3489pub fn bindVertexBuffer(_bindingindex: GLuint, _buffer: GLuint, _offset: GLintptr, _stride: GLsizei) callconv(.C) void {
3490 return @call(.always_tail, function_pointers.glBindVertexBuffer, .{_bindingindex, _buffer, _offset, _stride});
3491}
3492
3493pub fn vertexAttribFormat(_attribindex: GLuint, _size: GLint, _type: GLenum, _normalized: GLboolean, _relativeoffset: GLuint) callconv(.C) void {
3494 return @call(.always_tail, function_pointers.glVertexAttribFormat, .{_attribindex, _size, _type, _normalized, _relativeoffset});
3495}
3496
3497pub fn vertexAttribIFormat(_attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void {
3498 return @call(.always_tail, function_pointers.glVertexAttribIFormat, .{_attribindex, _size, _type, _relativeoffset});
3499}
3500
3501pub fn vertexAttribLFormat(_attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void {
3502 return @call(.always_tail, function_pointers.glVertexAttribLFormat, .{_attribindex, _size, _type, _relativeoffset});
3503}
3504
3505pub fn vertexAttribBinding(_attribindex: GLuint, _bindingindex: GLuint) callconv(.C) void {
3506 return @call(.always_tail, function_pointers.glVertexAttribBinding, .{_attribindex, _bindingindex});
3507}
3508
3509pub fn vertexBindingDivisor(_bindingindex: GLuint, _divisor: GLuint) callconv(.C) void {
3510 return @call(.always_tail, function_pointers.glVertexBindingDivisor, .{_bindingindex, _divisor});
3511}
3512
3513pub fn debugMessageControl(_source: GLenum, _type: GLenum, _severity: GLenum, _count: GLsizei, _ids: [*c]const GLuint, _enabled: GLboolean) callconv(.C) void {
3514 return @call(.always_tail, function_pointers.glDebugMessageControl, .{_source, _type, _severity, _count, _ids, _enabled});
3515}
3516
3517pub fn debugMessageInsert(_source: GLenum, _type: GLenum, _id: GLuint, _severity: GLenum, _length: GLsizei, _buf: [*c]const GLchar) callconv(.C) void {
3518 return @call(.always_tail, function_pointers.glDebugMessageInsert, .{_source, _type, _id, _severity, _length, _buf});
3519}
3520
3521pub fn debugMessageCallback(_callback: GLDEBUGPROC, _userParam: ?*const anyopaque) callconv(.C) void {
3522 return @call(.always_tail, function_pointers.glDebugMessageCallback, .{_callback, _userParam});
3523}
3524
3525pub fn getDebugMessageLog(_count: GLuint, _bufSize: GLsizei, _sources: [*c]GLenum, _types: [*c]GLenum, _ids: [*c]GLuint, _severities: [*c]GLenum, _lengths: [*c]GLsizei, _messageLog: [*c]GLchar) callconv(.C) GLuint {
3526 return @call(.always_tail, function_pointers.glGetDebugMessageLog, .{_count, _bufSize, _sources, _types, _ids, _severities, _lengths, _messageLog});
3527}
3528
3529pub fn pushDebugGroup(_source: GLenum, _id: GLuint, _length: GLsizei, _message: [*c]const GLchar) callconv(.C) void {
3530 return @call(.always_tail, function_pointers.glPushDebugGroup, .{_source, _id, _length, _message});
3531}
3532
3533pub fn popDebugGroup() callconv(.C) void {
3534 return @call(.always_tail, function_pointers.glPopDebugGroup, .{});
3535}
3536
3537pub fn objectLabel(_identifier: GLenum, _name: GLuint, _length: GLsizei, _label: [*c]const GLchar) callconv(.C) void {
3538 return @call(.always_tail, function_pointers.glObjectLabel, .{_identifier, _name, _length, _label});
3539}
3540
3541pub fn getObjectLabel(_identifier: GLenum, _name: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _label: [*c]GLchar) callconv(.C) void {
3542 return @call(.always_tail, function_pointers.glGetObjectLabel, .{_identifier, _name, _bufSize, _length, _label});
3543}
3544
3545pub fn objectPtrLabel(_ptr: ?*const anyopaque, _length: GLsizei, _label: [*c]const GLchar) callconv(.C) void {
3546 return @call(.always_tail, function_pointers.glObjectPtrLabel, .{_ptr, _length, _label});
3547}
3548
3549pub fn getObjectPtrLabel(_ptr: ?*const anyopaque, _bufSize: GLsizei, _length: [*c]GLsizei, _label: [*c]GLchar) callconv(.C) void {
3550 return @call(.always_tail, function_pointers.glGetObjectPtrLabel, .{_ptr, _bufSize, _length, _label});
3551}
3552
3553pub fn getPointerv(_pname: GLenum, _params: ?*?*anyopaque) callconv(.C) void {
3554 return @call(.always_tail, function_pointers.glGetPointerv, .{_pname, _params});
3555}
3556
3557pub fn bufferStorage(_target: GLenum, _size: GLsizeiptr, _data: ?*const anyopaque, _flags: GLbitfield) callconv(.C) void {
3558 return @call(.always_tail, function_pointers.glBufferStorage, .{_target, _size, _data, _flags});
3559}
3560
3561pub fn clearTexImage(_texture: GLuint, _level: GLint, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void {
3562 return @call(.always_tail, function_pointers.glClearTexImage, .{_texture, _level, _format, _type, _data});
3563}
3564
3565pub fn clearTexSubImage(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void {
3566 return @call(.always_tail, function_pointers.glClearTexSubImage, .{_texture, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _format, _type, _data});
3567}
3568
3569pub fn bindBuffersBase(_target: GLenum, _first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint) callconv(.C) void {
3570 return @call(.always_tail, function_pointers.glBindBuffersBase, .{_target, _first, _count, _buffers});
3571}
3572
3573pub fn bindBuffersRange(_target: GLenum, _first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint, _offsets: [*c]const GLintptr, _sizes: [*c]const GLsizeiptr) callconv(.C) void {
3574 return @call(.always_tail, function_pointers.glBindBuffersRange, .{_target, _first, _count, _buffers, _offsets, _sizes});
3575}
3576
3577pub fn bindTextures(_first: GLuint, _count: GLsizei, _textures: [*c]const GLuint) callconv(.C) void {
3578 return @call(.always_tail, function_pointers.glBindTextures, .{_first, _count, _textures});
3579}
3580
3581pub fn bindSamplers(_first: GLuint, _count: GLsizei, _samplers: [*c]const GLuint) callconv(.C) void {
3582 return @call(.always_tail, function_pointers.glBindSamplers, .{_first, _count, _samplers});
3583}
3584
3585pub fn bindImageTextures(_first: GLuint, _count: GLsizei, _textures: [*c]const GLuint) callconv(.C) void {
3586 return @call(.always_tail, function_pointers.glBindImageTextures, .{_first, _count, _textures});
3587}
3588
3589pub fn bindVertexBuffers(_first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint, _offsets: [*c]const GLintptr, _strides: [*c]const GLsizei) callconv(.C) void {
3590 return @call(.always_tail, function_pointers.glBindVertexBuffers, .{_first, _count, _buffers, _offsets, _strides});
3591}
3592
3593pub fn clipControl(_origin: GLenum, _depth: GLenum) callconv(.C) void {
3594 return @call(.always_tail, function_pointers.glClipControl, .{_origin, _depth});
3595}
3596
3597pub fn createTransformFeedbacks(_n: GLsizei, _ids: [*c]GLuint) callconv(.C) void {
3598 return @call(.always_tail, function_pointers.glCreateTransformFeedbacks, .{_n, _ids});
3599}
3600
3601pub fn transformFeedbackBufferBase(_xfb: GLuint, _index: GLuint, _buffer: GLuint) callconv(.C) void {
3602 return @call(.always_tail, function_pointers.glTransformFeedbackBufferBase, .{_xfb, _index, _buffer});
3603}
3604
3605pub fn transformFeedbackBufferRange(_xfb: GLuint, _index: GLuint, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void {
3606 return @call(.always_tail, function_pointers.glTransformFeedbackBufferRange, .{_xfb, _index, _buffer, _offset, _size});
3607}
3608
3609pub fn getTransformFeedbackiv(_xfb: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void {
3610 return @call(.always_tail, function_pointers.glGetTransformFeedbackiv, .{_xfb, _pname, _param});
3611}
3612
3613pub fn getTransformFeedbacki_v(_xfb: GLuint, _pname: GLenum, _index: GLuint, _param: [*c]GLint) callconv(.C) void {
3614 return @call(.always_tail, function_pointers.glGetTransformFeedbacki_v, .{_xfb, _pname, _index, _param});
3615}
3616
3617pub fn getTransformFeedbacki64_v(_xfb: GLuint, _pname: GLenum, _index: GLuint, _param: [*c]GLint64) callconv(.C) void {
3618 return @call(.always_tail, function_pointers.glGetTransformFeedbacki64_v, .{_xfb, _pname, _index, _param});
3619}
3620
3621pub fn createBuffers(_n: GLsizei, _buffers: [*c]GLuint) callconv(.C) void {
3622 return @call(.always_tail, function_pointers.glCreateBuffers, .{_n, _buffers});
3623}
3624
3625pub fn namedBufferStorage(_buffer: GLuint, _size: GLsizeiptr, _data: ?*const anyopaque, _flags: GLbitfield) callconv(.C) void {
3626 return @call(.always_tail, function_pointers.glNamedBufferStorage, .{_buffer, _size, _data, _flags});
3627}
3628
3629pub fn namedBufferData(_buffer: GLuint, _size: GLsizeiptr, _data: ?*const anyopaque, _usage: GLenum) callconv(.C) void {
3630 return @call(.always_tail, function_pointers.glNamedBufferData, .{_buffer, _size, _data, _usage});
3631}
3632
3633pub fn namedBufferSubData(_buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr, _data: ?*const anyopaque) callconv(.C) void {
3634 return @call(.always_tail, function_pointers.glNamedBufferSubData, .{_buffer, _offset, _size, _data});
3635}
3636
3637pub fn copyNamedBufferSubData(_readBuffer: GLuint, _writeBuffer: GLuint, _readOffset: GLintptr, _writeOffset: GLintptr, _size: GLsizeiptr) callconv(.C) void {
3638 return @call(.always_tail, function_pointers.glCopyNamedBufferSubData, .{_readBuffer, _writeBuffer, _readOffset, _writeOffset, _size});
3639}
3640
3641pub fn clearNamedBufferData(_buffer: GLuint, _internalformat: GLenum, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void {
3642 return @call(.always_tail, function_pointers.glClearNamedBufferData, .{_buffer, _internalformat, _format, _type, _data});
3643}
3644
3645pub fn clearNamedBufferSubData(_buffer: GLuint, _internalformat: GLenum, _offset: GLintptr, _size: GLsizeiptr, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void {
3646 return @call(.always_tail, function_pointers.glClearNamedBufferSubData, .{_buffer, _internalformat, _offset, _size, _format, _type, _data});
3647}
3648
3649pub fn mapNamedBuffer(_buffer: GLuint, _access: GLenum) callconv(.C) ?*anyopaque {
3650 return @call(.always_tail, function_pointers.glMapNamedBuffer, .{_buffer, _access});
3651}
3652
3653pub fn mapNamedBufferRange(_buffer: GLuint, _offset: GLintptr, _length: GLsizeiptr, _access: GLbitfield) callconv(.C) ?*anyopaque {
3654 return @call(.always_tail, function_pointers.glMapNamedBufferRange, .{_buffer, _offset, _length, _access});
3655}
3656
3657pub fn unmapNamedBuffer(_buffer: GLuint) callconv(.C) GLboolean {
3658 return @call(.always_tail, function_pointers.glUnmapNamedBuffer, .{_buffer});
3659}
3660
3661pub fn flushMappedNamedBufferRange(_buffer: GLuint, _offset: GLintptr, _length: GLsizeiptr) callconv(.C) void {
3662 return @call(.always_tail, function_pointers.glFlushMappedNamedBufferRange, .{_buffer, _offset, _length});
3663}
3664
3665pub fn getNamedBufferParameteriv(_buffer: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3666 return @call(.always_tail, function_pointers.glGetNamedBufferParameteriv, .{_buffer, _pname, _params});
3667}
3668
3669pub fn getNamedBufferParameteri64v(_buffer: GLuint, _pname: GLenum, _params: [*c]GLint64) callconv(.C) void {
3670 return @call(.always_tail, function_pointers.glGetNamedBufferParameteri64v, .{_buffer, _pname, _params});
3671}
3672
3673pub fn getNamedBufferPointerv(_buffer: GLuint, _pname: GLenum, _params: ?*?*anyopaque) callconv(.C) void {
3674 return @call(.always_tail, function_pointers.glGetNamedBufferPointerv, .{_buffer, _pname, _params});
3675}
3676
3677pub fn getNamedBufferSubData(_buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr, _data: ?*anyopaque) callconv(.C) void {
3678 return @call(.always_tail, function_pointers.glGetNamedBufferSubData, .{_buffer, _offset, _size, _data});
3679}
3680
3681pub fn createFramebuffers(_n: GLsizei, _framebuffers: [*c]GLuint) callconv(.C) void {
3682 return @call(.always_tail, function_pointers.glCreateFramebuffers, .{_n, _framebuffers});
3683}
3684
3685pub fn namedFramebufferRenderbuffer(_framebuffer: GLuint, _attachment: GLenum, _renderbuffertarget: GLenum, _renderbuffer: GLuint) callconv(.C) void {
3686 return @call(.always_tail, function_pointers.glNamedFramebufferRenderbuffer, .{_framebuffer, _attachment, _renderbuffertarget, _renderbuffer});
3687}
3688
3689pub fn namedFramebufferParameteri(_framebuffer: GLuint, _pname: GLenum, _param: GLint) callconv(.C) void {
3690 return @call(.always_tail, function_pointers.glNamedFramebufferParameteri, .{_framebuffer, _pname, _param});
3691}
3692
3693pub fn namedFramebufferTexture(_framebuffer: GLuint, _attachment: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void {
3694 return @call(.always_tail, function_pointers.glNamedFramebufferTexture, .{_framebuffer, _attachment, _texture, _level});
3695}
3696
3697pub fn namedFramebufferTextureLayer(_framebuffer: GLuint, _attachment: GLenum, _texture: GLuint, _level: GLint, _layer: GLint) callconv(.C) void {
3698 return @call(.always_tail, function_pointers.glNamedFramebufferTextureLayer, .{_framebuffer, _attachment, _texture, _level, _layer});
3699}
3700
3701pub fn namedFramebufferDrawBuffer(_framebuffer: GLuint, _buf: GLenum) callconv(.C) void {
3702 return @call(.always_tail, function_pointers.glNamedFramebufferDrawBuffer, .{_framebuffer, _buf});
3703}
3704
3705pub fn namedFramebufferDrawBuffers(_framebuffer: GLuint, _n: GLsizei, _bufs: [*c]const GLenum) callconv(.C) void {
3706 return @call(.always_tail, function_pointers.glNamedFramebufferDrawBuffers, .{_framebuffer, _n, _bufs});
3707}
3708
3709pub fn namedFramebufferReadBuffer(_framebuffer: GLuint, _src: GLenum) callconv(.C) void {
3710 return @call(.always_tail, function_pointers.glNamedFramebufferReadBuffer, .{_framebuffer, _src});
3711}
3712
3713pub fn invalidateNamedFramebufferData(_framebuffer: GLuint, _numAttachments: GLsizei, _attachments: [*c]const GLenum) callconv(.C) void {
3714 return @call(.always_tail, function_pointers.glInvalidateNamedFramebufferData, .{_framebuffer, _numAttachments, _attachments});
3715}
3716
3717pub fn invalidateNamedFramebufferSubData(_framebuffer: GLuint, _numAttachments: GLsizei, _attachments: [*c]const GLenum, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3718 return @call(.always_tail, function_pointers.glInvalidateNamedFramebufferSubData, .{_framebuffer, _numAttachments, _attachments, _x, _y, _width, _height});
3719}
3720
3721pub fn clearNamedFramebufferiv(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLint) callconv(.C) void {
3722 return @call(.always_tail, function_pointers.glClearNamedFramebufferiv, .{_framebuffer, _buffer, _drawbuffer, _value});
3723}
3724
3725pub fn clearNamedFramebufferuiv(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLuint) callconv(.C) void {
3726 return @call(.always_tail, function_pointers.glClearNamedFramebufferuiv, .{_framebuffer, _buffer, _drawbuffer, _value});
3727}
3728
3729pub fn clearNamedFramebufferfv(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLfloat) callconv(.C) void {
3730 return @call(.always_tail, function_pointers.glClearNamedFramebufferfv, .{_framebuffer, _buffer, _drawbuffer, _value});
3731}
3732
3733pub fn clearNamedFramebufferfi(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _depth: GLfloat, _stencil: GLint) callconv(.C) void {
3734 return @call(.always_tail, function_pointers.glClearNamedFramebufferfi, .{_framebuffer, _buffer, _drawbuffer, _depth, _stencil});
3735}
3736
3737pub fn blitNamedFramebuffer(_readFramebuffer: GLuint, _drawFramebuffer: GLuint, _srcX0: GLint, _srcY0: GLint, _srcX1: GLint, _srcY1: GLint, _dstX0: GLint, _dstY0: GLint, _dstX1: GLint, _dstY1: GLint, _mask: GLbitfield, _filter: GLenum) callconv(.C) void {
3738 return @call(.always_tail, function_pointers.glBlitNamedFramebuffer, .{_readFramebuffer, _drawFramebuffer, _srcX0, _srcY0, _srcX1, _srcY1, _dstX0, _dstY0, _dstX1, _dstY1, _mask, _filter});
3739}
3740
3741pub fn checkNamedFramebufferStatus(_framebuffer: GLuint, _target: GLenum) callconv(.C) GLenum {
3742 return @call(.always_tail, function_pointers.glCheckNamedFramebufferStatus, .{_framebuffer, _target});
3743}
3744
3745pub fn getNamedFramebufferParameteriv(_framebuffer: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void {
3746 return @call(.always_tail, function_pointers.glGetNamedFramebufferParameteriv, .{_framebuffer, _pname, _param});
3747}
3748
3749pub fn getNamedFramebufferAttachmentParameteriv(_framebuffer: GLuint, _attachment: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3750 return @call(.always_tail, function_pointers.glGetNamedFramebufferAttachmentParameteriv, .{_framebuffer, _attachment, _pname, _params});
3751}
3752
3753pub fn createRenderbuffers(_n: GLsizei, _renderbuffers: [*c]GLuint) callconv(.C) void {
3754 return @call(.always_tail, function_pointers.glCreateRenderbuffers, .{_n, _renderbuffers});
3755}
3756
3757pub fn namedRenderbufferStorage(_renderbuffer: GLuint, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3758 return @call(.always_tail, function_pointers.glNamedRenderbufferStorage, .{_renderbuffer, _internalformat, _width, _height});
3759}
3760
3761pub fn namedRenderbufferStorageMultisample(_renderbuffer: GLuint, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3762 return @call(.always_tail, function_pointers.glNamedRenderbufferStorageMultisample, .{_renderbuffer, _samples, _internalformat, _width, _height});
3763}
3764
3765pub fn getNamedRenderbufferParameteriv(_renderbuffer: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3766 return @call(.always_tail, function_pointers.glGetNamedRenderbufferParameteriv, .{_renderbuffer, _pname, _params});
3767}
3768
3769pub fn createTextures(_target: GLenum, _n: GLsizei, _textures: [*c]GLuint) callconv(.C) void {
3770 return @call(.always_tail, function_pointers.glCreateTextures, .{_target, _n, _textures});
3771}
3772
3773pub fn textureBuffer(_texture: GLuint, _internalformat: GLenum, _buffer: GLuint) callconv(.C) void {
3774 return @call(.always_tail, function_pointers.glTextureBuffer, .{_texture, _internalformat, _buffer});
3775}
3776
3777pub fn textureBufferRange(_texture: GLuint, _internalformat: GLenum, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void {
3778 return @call(.always_tail, function_pointers.glTextureBufferRange, .{_texture, _internalformat, _buffer, _offset, _size});
3779}
3780
3781pub fn textureStorage1D(_texture: GLuint, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei) callconv(.C) void {
3782 return @call(.always_tail, function_pointers.glTextureStorage1D, .{_texture, _levels, _internalformat, _width});
3783}
3784
3785pub fn textureStorage2D(_texture: GLuint, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3786 return @call(.always_tail, function_pointers.glTextureStorage2D, .{_texture, _levels, _internalformat, _width, _height});
3787}
3788
3789pub fn textureStorage3D(_texture: GLuint, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei) callconv(.C) void {
3790 return @call(.always_tail, function_pointers.glTextureStorage3D, .{_texture, _levels, _internalformat, _width, _height, _depth});
3791}
3792
3793pub fn textureStorage2DMultisample(_texture: GLuint, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void {
3794 return @call(.always_tail, function_pointers.glTextureStorage2DMultisample, .{_texture, _samples, _internalformat, _width, _height, _fixedsamplelocations});
3795}
3796
3797pub fn textureStorage3DMultisample(_texture: GLuint, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void {
3798 return @call(.always_tail, function_pointers.glTextureStorage3DMultisample, .{_texture, _samples, _internalformat, _width, _height, _depth, _fixedsamplelocations});
3799}
3800
3801pub fn textureSubImage1D(_texture: GLuint, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
3802 return @call(.always_tail, function_pointers.glTextureSubImage1D, .{_texture, _level, _xoffset, _width, _format, _type, _pixels});
3803}
3804
3805pub fn textureSubImage2D(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
3806 return @call(.always_tail, function_pointers.glTextureSubImage2D, .{_texture, _level, _xoffset, _yoffset, _width, _height, _format, _type, _pixels});
3807}
3808
3809pub fn textureSubImage3D(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void {
3810 return @call(.always_tail, function_pointers.glTextureSubImage3D, .{_texture, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _format, _type, _pixels});
3811}
3812
3813pub fn compressedTextureSubImage1D(_texture: GLuint, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
3814 return @call(.always_tail, function_pointers.glCompressedTextureSubImage1D, .{_texture, _level, _xoffset, _width, _format, _imageSize, _data});
3815}
3816
3817pub fn compressedTextureSubImage2D(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
3818 return @call(.always_tail, function_pointers.glCompressedTextureSubImage2D, .{_texture, _level, _xoffset, _yoffset, _width, _height, _format, _imageSize, _data});
3819}
3820
3821pub fn compressedTextureSubImage3D(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void {
3822 return @call(.always_tail, function_pointers.glCompressedTextureSubImage3D, .{_texture, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _format, _imageSize, _data});
3823}
3824
3825pub fn copyTextureSubImage1D(_texture: GLuint, _level: GLint, _xoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei) callconv(.C) void {
3826 return @call(.always_tail, function_pointers.glCopyTextureSubImage1D, .{_texture, _level, _xoffset, _x, _y, _width});
3827}
3828
3829pub fn copyTextureSubImage2D(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3830 return @call(.always_tail, function_pointers.glCopyTextureSubImage2D, .{_texture, _level, _xoffset, _yoffset, _x, _y, _width, _height});
3831}
3832
3833pub fn copyTextureSubImage3D(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void {
3834 return @call(.always_tail, function_pointers.glCopyTextureSubImage3D, .{_texture, _level, _xoffset, _yoffset, _zoffset, _x, _y, _width, _height});
3835}
3836
3837pub fn textureParameterf(_texture: GLuint, _pname: GLenum, _param: GLfloat) callconv(.C) void {
3838 return @call(.always_tail, function_pointers.glTextureParameterf, .{_texture, _pname, _param});
3839}
3840
3841pub fn textureParameterfv(_texture: GLuint, _pname: GLenum, _param: [*c]const GLfloat) callconv(.C) void {
3842 return @call(.always_tail, function_pointers.glTextureParameterfv, .{_texture, _pname, _param});
3843}
3844
3845pub fn textureParameteri(_texture: GLuint, _pname: GLenum, _param: GLint) callconv(.C) void {
3846 return @call(.always_tail, function_pointers.glTextureParameteri, .{_texture, _pname, _param});
3847}
3848
3849pub fn textureParameterIiv(_texture: GLuint, _pname: GLenum, _params: [*c]const GLint) callconv(.C) void {
3850 return @call(.always_tail, function_pointers.glTextureParameterIiv, .{_texture, _pname, _params});
3851}
3852
3853pub fn textureParameterIuiv(_texture: GLuint, _pname: GLenum, _params: [*c]const GLuint) callconv(.C) void {
3854 return @call(.always_tail, function_pointers.glTextureParameterIuiv, .{_texture, _pname, _params});
3855}
3856
3857pub fn textureParameteriv(_texture: GLuint, _pname: GLenum, _param: [*c]const GLint) callconv(.C) void {
3858 return @call(.always_tail, function_pointers.glTextureParameteriv, .{_texture, _pname, _param});
3859}
3860
3861pub fn generateTextureMipmap(_texture: GLuint) callconv(.C) void {
3862 return @call(.always_tail, function_pointers.glGenerateTextureMipmap, .{_texture});
3863}
3864
3865pub fn bindTextureUnit(_unit: GLuint, _texture: GLuint) callconv(.C) void {
3866 return @call(.always_tail, function_pointers.glBindTextureUnit, .{_unit, _texture});
3867}
3868
3869pub fn getTextureImage(_texture: GLuint, _level: GLint, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void {
3870 return @call(.always_tail, function_pointers.glGetTextureImage, .{_texture, _level, _format, _type, _bufSize, _pixels});
3871}
3872
3873pub fn getCompressedTextureImage(_texture: GLuint, _level: GLint, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void {
3874 return @call(.always_tail, function_pointers.glGetCompressedTextureImage, .{_texture, _level, _bufSize, _pixels});
3875}
3876
3877pub fn getTextureLevelParameterfv(_texture: GLuint, _level: GLint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void {
3878 return @call(.always_tail, function_pointers.glGetTextureLevelParameterfv, .{_texture, _level, _pname, _params});
3879}
3880
3881pub fn getTextureLevelParameteriv(_texture: GLuint, _level: GLint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3882 return @call(.always_tail, function_pointers.glGetTextureLevelParameteriv, .{_texture, _level, _pname, _params});
3883}
3884
3885pub fn getTextureParameterfv(_texture: GLuint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void {
3886 return @call(.always_tail, function_pointers.glGetTextureParameterfv, .{_texture, _pname, _params});
3887}
3888
3889pub fn getTextureParameterIiv(_texture: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3890 return @call(.always_tail, function_pointers.glGetTextureParameterIiv, .{_texture, _pname, _params});
3891}
3892
3893pub fn getTextureParameterIuiv(_texture: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void {
3894 return @call(.always_tail, function_pointers.glGetTextureParameterIuiv, .{_texture, _pname, _params});
3895}
3896
3897pub fn getTextureParameteriv(_texture: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void {
3898 return @call(.always_tail, function_pointers.glGetTextureParameteriv, .{_texture, _pname, _params});
3899}
3900
3901pub fn createVertexArrays(_n: GLsizei, _arrays: [*c]GLuint) callconv(.C) void {
3902 return @call(.always_tail, function_pointers.glCreateVertexArrays, .{_n, _arrays});
3903}
3904
3905pub fn disableVertexArrayAttrib(_vaobj: GLuint, _index: GLuint) callconv(.C) void {
3906 return @call(.always_tail, function_pointers.glDisableVertexArrayAttrib, .{_vaobj, _index});
3907}
3908
3909pub fn enableVertexArrayAttrib(_vaobj: GLuint, _index: GLuint) callconv(.C) void {
3910 return @call(.always_tail, function_pointers.glEnableVertexArrayAttrib, .{_vaobj, _index});
3911}
3912
3913pub fn vertexArrayElementBuffer(_vaobj: GLuint, _buffer: GLuint) callconv(.C) void {
3914 return @call(.always_tail, function_pointers.glVertexArrayElementBuffer, .{_vaobj, _buffer});
3915}
3916
3917pub fn vertexArrayVertexBuffer(_vaobj: GLuint, _bindingindex: GLuint, _buffer: GLuint, _offset: GLintptr, _stride: GLsizei) callconv(.C) void {
3918 return @call(.always_tail, function_pointers.glVertexArrayVertexBuffer, .{_vaobj, _bindingindex, _buffer, _offset, _stride});
3919}
3920
3921pub fn vertexArrayVertexBuffers(_vaobj: GLuint, _first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint, _offsets: [*c]const GLintptr, _strides: [*c]const GLsizei) callconv(.C) void {
3922 return @call(.always_tail, function_pointers.glVertexArrayVertexBuffers, .{_vaobj, _first, _count, _buffers, _offsets, _strides});
3923}
3924
3925pub fn vertexArrayAttribBinding(_vaobj: GLuint, _attribindex: GLuint, _bindingindex: GLuint) callconv(.C) void {
3926 return @call(.always_tail, function_pointers.glVertexArrayAttribBinding, .{_vaobj, _attribindex, _bindingindex});
3927}
3928
3929pub fn vertexArrayAttribFormat(_vaobj: GLuint, _attribindex: GLuint, _size: GLint, _type: GLenum, _normalized: GLboolean, _relativeoffset: GLuint) callconv(.C) void {
3930 return @call(.always_tail, function_pointers.glVertexArrayAttribFormat, .{_vaobj, _attribindex, _size, _type, _normalized, _relativeoffset});
3931}
3932
3933pub fn vertexArrayAttribIFormat(_vaobj: GLuint, _attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void {
3934 return @call(.always_tail, function_pointers.glVertexArrayAttribIFormat, .{_vaobj, _attribindex, _size, _type, _relativeoffset});
3935}
3936
3937pub fn vertexArrayAttribLFormat(_vaobj: GLuint, _attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void {
3938 return @call(.always_tail, function_pointers.glVertexArrayAttribLFormat, .{_vaobj, _attribindex, _size, _type, _relativeoffset});
3939}
3940
3941pub fn vertexArrayBindingDivisor(_vaobj: GLuint, _bindingindex: GLuint, _divisor: GLuint) callconv(.C) void {
3942 return @call(.always_tail, function_pointers.glVertexArrayBindingDivisor, .{_vaobj, _bindingindex, _divisor});
3943}
3944
3945pub fn getVertexArrayiv(_vaobj: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void {
3946 return @call(.always_tail, function_pointers.glGetVertexArrayiv, .{_vaobj, _pname, _param});
3947}
3948
3949pub fn getVertexArrayIndexediv(_vaobj: GLuint, _index: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void {
3950 return @call(.always_tail, function_pointers.glGetVertexArrayIndexediv, .{_vaobj, _index, _pname, _param});
3951}
3952
3953pub fn getVertexArrayIndexed64iv(_vaobj: GLuint, _index: GLuint, _pname: GLenum, _param: [*c]GLint64) callconv(.C) void {
3954 return @call(.always_tail, function_pointers.glGetVertexArrayIndexed64iv, .{_vaobj, _index, _pname, _param});
3955}
3956
3957pub fn createSamplers(_n: GLsizei, _samplers: [*c]GLuint) callconv(.C) void {
3958 return @call(.always_tail, function_pointers.glCreateSamplers, .{_n, _samplers});
3959}
3960
3961pub fn createProgramPipelines(_n: GLsizei, _pipelines: [*c]GLuint) callconv(.C) void {
3962 return @call(.always_tail, function_pointers.glCreateProgramPipelines, .{_n, _pipelines});
3963}
3964
3965pub fn createQueries(_target: GLenum, _n: GLsizei, _ids: [*c]GLuint) callconv(.C) void {
3966 return @call(.always_tail, function_pointers.glCreateQueries, .{_target, _n, _ids});
3967}
3968
3969pub fn getQueryBufferObjecti64v(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void {
3970 return @call(.always_tail, function_pointers.glGetQueryBufferObjecti64v, .{_id, _buffer, _pname, _offset});
3971}
3972
3973pub fn getQueryBufferObjectiv(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void {
3974 return @call(.always_tail, function_pointers.glGetQueryBufferObjectiv, .{_id, _buffer, _pname, _offset});
3975}
3976
3977pub fn getQueryBufferObjectui64v(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void {
3978 return @call(.always_tail, function_pointers.glGetQueryBufferObjectui64v, .{_id, _buffer, _pname, _offset});
3979}
3980
3981pub fn getQueryBufferObjectuiv(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void {
3982 return @call(.always_tail, function_pointers.glGetQueryBufferObjectuiv, .{_id, _buffer, _pname, _offset});
3983}
3984
3985pub fn memoryBarrierByRegion(_barriers: GLbitfield) callconv(.C) void {
3986 return @call(.always_tail, function_pointers.glMemoryBarrierByRegion, .{_barriers});
3987}
3988
3989pub fn getTextureSubImage(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void {
3990 return @call(.always_tail, function_pointers.glGetTextureSubImage, .{_texture, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _format, _type, _bufSize, _pixels});
3991}
3992
3993pub fn getCompressedTextureSubImage(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void {
3994 return @call(.always_tail, function_pointers.glGetCompressedTextureSubImage, .{_texture, _level, _xoffset, _yoffset, _zoffset, _width, _height, _depth, _bufSize, _pixels});
3995}
3996
3997pub fn getGraphicsResetStatus() callconv(.C) GLenum {
3998 return @call(.always_tail, function_pointers.glGetGraphicsResetStatus, .{});
3999}
4000
4001pub fn getnCompressedTexImage(_target: GLenum, _lod: GLint, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void {
4002 return @call(.always_tail, function_pointers.glGetnCompressedTexImage, .{_target, _lod, _bufSize, _pixels});
4003}
4004
4005pub fn getnTexImage(_target: GLenum, _level: GLint, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void {
4006 return @call(.always_tail, function_pointers.glGetnTexImage, .{_target, _level, _format, _type, _bufSize, _pixels});
4007}
4008
4009pub fn getnUniformdv(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLdouble) callconv(.C) void {
4010 return @call(.always_tail, function_pointers.glGetnUniformdv, .{_program, _location, _bufSize, _params});
4011}
4012
4013pub fn getnUniformfv(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLfloat) callconv(.C) void {
4014 return @call(.always_tail, function_pointers.glGetnUniformfv, .{_program, _location, _bufSize, _params});
4015}
4016
4017pub fn getnUniformiv(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLint) callconv(.C) void {
4018 return @call(.always_tail, function_pointers.glGetnUniformiv, .{_program, _location, _bufSize, _params});
4019}
4020
4021pub fn getnUniformuiv(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLuint) callconv(.C) void {
4022 return @call(.always_tail, function_pointers.glGetnUniformuiv, .{_program, _location, _bufSize, _params});
4023}
4024
4025pub fn readnPixels(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _data: ?*anyopaque) callconv(.C) void {
4026 return @call(.always_tail, function_pointers.glReadnPixels, .{_x, _y, _width, _height, _format, _type, _bufSize, _data});
4027}
4028
4029pub fn textureBarrier() callconv(.C) void {
4030 return @call(.always_tail, function_pointers.glTextureBarrier, .{});
4031}
4032// Extensions:
4033
4034// Loader API:
4035pub fn load(load_ctx: anytype, get_proc_address: fn(@TypeOf(load_ctx), [:0]const u8) ?FunctionPointer) !void {
4036 var success = true;
4037 if(get_proc_address(load_ctx, "glTexStorage2D")) |proc| {
4038 function_pointers.glTexStorage2D = @ptrCast(proc);
4039 } else {
4040 log.err("entry point glTexStorage2D not found!", .{});
4041 success = false;
4042 }
4043 if(get_proc_address(load_ctx, "glTexStorage1D")) |proc| {
4044 function_pointers.glTexStorage1D = @ptrCast(proc);
4045 } else {
4046 log.err("entry point glTexStorage1D not found!", .{});
4047 success = false;
4048 }
4049 if(get_proc_address(load_ctx, "glDrawTransformFeedbackStreamInstanced")) |proc| {
4050 function_pointers.glDrawTransformFeedbackStreamInstanced = @ptrCast(proc);
4051 } else {
4052 log.err("entry point glDrawTransformFeedbackStreamInstanced not found!", .{});
4053 success = false;
4054 }
4055 if(get_proc_address(load_ctx, "glDrawTransformFeedbackInstanced")) |proc| {
4056 function_pointers.glDrawTransformFeedbackInstanced = @ptrCast(proc);
4057 } else {
4058 log.err("entry point glDrawTransformFeedbackInstanced not found!", .{});
4059 success = false;
4060 }
4061 if(get_proc_address(load_ctx, "glTexStorage3D")) |proc| {
4062 function_pointers.glTexStorage3D = @ptrCast(proc);
4063 } else {
4064 log.err("entry point glTexStorage3D not found!", .{});
4065 success = false;
4066 }
4067 if(get_proc_address(load_ctx, "glMemoryBarrier")) |proc| {
4068 function_pointers.glMemoryBarrier = @ptrCast(proc);
4069 } else {
4070 log.err("entry point glMemoryBarrier not found!", .{});
4071 success = false;
4072 }
4073 if(get_proc_address(load_ctx, "glBindImageTexture")) |proc| {
4074 function_pointers.glBindImageTexture = @ptrCast(proc);
4075 } else {
4076 log.err("entry point glBindImageTexture not found!", .{});
4077 success = false;
4078 }
4079 if(get_proc_address(load_ctx, "glGetActiveAtomicCounterBufferiv")) |proc| {
4080 function_pointers.glGetActiveAtomicCounterBufferiv = @ptrCast(proc);
4081 } else {
4082 log.err("entry point glGetActiveAtomicCounterBufferiv not found!", .{});
4083 success = false;
4084 }
4085 if(get_proc_address(load_ctx, "glGetInternalformativ")) |proc| {
4086 function_pointers.glGetInternalformativ = @ptrCast(proc);
4087 } else {
4088 log.err("entry point glGetInternalformativ not found!", .{});
4089 success = false;
4090 }
4091 if(get_proc_address(load_ctx, "glDrawElementsInstancedBaseVertexBaseInstance")) |proc| {
4092 function_pointers.glDrawElementsInstancedBaseVertexBaseInstance = @ptrCast(proc);
4093 } else {
4094 log.err("entry point glDrawElementsInstancedBaseVertexBaseInstance not found!", .{});
4095 success = false;
4096 }
4097 if(get_proc_address(load_ctx, "glDrawElementsInstancedBaseInstance")) |proc| {
4098 function_pointers.glDrawElementsInstancedBaseInstance = @ptrCast(proc);
4099 } else {
4100 log.err("entry point glDrawElementsInstancedBaseInstance not found!", .{});
4101 success = false;
4102 }
4103 if(get_proc_address(load_ctx, "glDrawArraysInstancedBaseInstance")) |proc| {
4104 function_pointers.glDrawArraysInstancedBaseInstance = @ptrCast(proc);
4105 } else {
4106 log.err("entry point glDrawArraysInstancedBaseInstance not found!", .{});
4107 success = false;
4108 }
4109 if(get_proc_address(load_ctx, "glGetDoublei_v")) |proc| {
4110 function_pointers.glGetDoublei_v = @ptrCast(proc);
4111 } else {
4112 log.err("entry point glGetDoublei_v not found!", .{});
4113 success = false;
4114 }
4115 if(get_proc_address(load_ctx, "glGetFloati_v")) |proc| {
4116 function_pointers.glGetFloati_v = @ptrCast(proc);
4117 } else {
4118 log.err("entry point glGetFloati_v not found!", .{});
4119 success = false;
4120 }
4121 if(get_proc_address(load_ctx, "glDepthRangeIndexed")) |proc| {
4122 function_pointers.glDepthRangeIndexed = @ptrCast(proc);
4123 } else {
4124 log.err("entry point glDepthRangeIndexed not found!", .{});
4125 success = false;
4126 }
4127 if(get_proc_address(load_ctx, "glDepthRangeArrayv")) |proc| {
4128 function_pointers.glDepthRangeArrayv = @ptrCast(proc);
4129 } else {
4130 log.err("entry point glDepthRangeArrayv not found!", .{});
4131 success = false;
4132 }
4133 if(get_proc_address(load_ctx, "glScissorIndexedv")) |proc| {
4134 function_pointers.glScissorIndexedv = @ptrCast(proc);
4135 } else {
4136 log.err("entry point glScissorIndexedv not found!", .{});
4137 success = false;
4138 }
4139 if(get_proc_address(load_ctx, "glScissorIndexed")) |proc| {
4140 function_pointers.glScissorIndexed = @ptrCast(proc);
4141 } else {
4142 log.err("entry point glScissorIndexed not found!", .{});
4143 success = false;
4144 }
4145 if(get_proc_address(load_ctx, "glScissorArrayv")) |proc| {
4146 function_pointers.glScissorArrayv = @ptrCast(proc);
4147 } else {
4148 log.err("entry point glScissorArrayv not found!", .{});
4149 success = false;
4150 }
4151 if(get_proc_address(load_ctx, "glViewportIndexedfv")) |proc| {
4152 function_pointers.glViewportIndexedfv = @ptrCast(proc);
4153 } else {
4154 log.err("entry point glViewportIndexedfv not found!", .{});
4155 success = false;
4156 }
4157 if(get_proc_address(load_ctx, "glViewportIndexedf")) |proc| {
4158 function_pointers.glViewportIndexedf = @ptrCast(proc);
4159 } else {
4160 log.err("entry point glViewportIndexedf not found!", .{});
4161 success = false;
4162 }
4163 if(get_proc_address(load_ctx, "glViewportArrayv")) |proc| {
4164 function_pointers.glViewportArrayv = @ptrCast(proc);
4165 } else {
4166 log.err("entry point glViewportArrayv not found!", .{});
4167 success = false;
4168 }
4169 if(get_proc_address(load_ctx, "glGetVertexAttribLdv")) |proc| {
4170 function_pointers.glGetVertexAttribLdv = @ptrCast(proc);
4171 } else {
4172 log.err("entry point glGetVertexAttribLdv not found!", .{});
4173 success = false;
4174 }
4175 if(get_proc_address(load_ctx, "glVertexAttribLPointer")) |proc| {
4176 function_pointers.glVertexAttribLPointer = @ptrCast(proc);
4177 } else {
4178 log.err("entry point glVertexAttribLPointer not found!", .{});
4179 success = false;
4180 }
4181 if(get_proc_address(load_ctx, "glVertexAttribL4dv")) |proc| {
4182 function_pointers.glVertexAttribL4dv = @ptrCast(proc);
4183 } else {
4184 log.err("entry point glVertexAttribL4dv not found!", .{});
4185 success = false;
4186 }
4187 if(get_proc_address(load_ctx, "glVertexAttribL3dv")) |proc| {
4188 function_pointers.glVertexAttribL3dv = @ptrCast(proc);
4189 } else {
4190 log.err("entry point glVertexAttribL3dv not found!", .{});
4191 success = false;
4192 }
4193 if(get_proc_address(load_ctx, "glVertexAttribL2dv")) |proc| {
4194 function_pointers.glVertexAttribL2dv = @ptrCast(proc);
4195 } else {
4196 log.err("entry point glVertexAttribL2dv not found!", .{});
4197 success = false;
4198 }
4199 if(get_proc_address(load_ctx, "glVertexAttribL1dv")) |proc| {
4200 function_pointers.glVertexAttribL1dv = @ptrCast(proc);
4201 } else {
4202 log.err("entry point glVertexAttribL1dv not found!", .{});
4203 success = false;
4204 }
4205 if(get_proc_address(load_ctx, "glVertexAttribL4d")) |proc| {
4206 function_pointers.glVertexAttribL4d = @ptrCast(proc);
4207 } else {
4208 log.err("entry point glVertexAttribL4d not found!", .{});
4209 success = false;
4210 }
4211 if(get_proc_address(load_ctx, "glVertexAttribL3d")) |proc| {
4212 function_pointers.glVertexAttribL3d = @ptrCast(proc);
4213 } else {
4214 log.err("entry point glVertexAttribL3d not found!", .{});
4215 success = false;
4216 }
4217 if(get_proc_address(load_ctx, "glVertexAttribL2d")) |proc| {
4218 function_pointers.glVertexAttribL2d = @ptrCast(proc);
4219 } else {
4220 log.err("entry point glVertexAttribL2d not found!", .{});
4221 success = false;
4222 }
4223 if(get_proc_address(load_ctx, "glVertexAttribL1d")) |proc| {
4224 function_pointers.glVertexAttribL1d = @ptrCast(proc);
4225 } else {
4226 log.err("entry point glVertexAttribL1d not found!", .{});
4227 success = false;
4228 }
4229 if(get_proc_address(load_ctx, "glValidateProgramPipeline")) |proc| {
4230 function_pointers.glValidateProgramPipeline = @ptrCast(proc);
4231 } else {
4232 log.err("entry point glValidateProgramPipeline not found!", .{});
4233 success = false;
4234 }
4235 if(get_proc_address(load_ctx, "glProgramUniformMatrix4x3dv")) |proc| {
4236 function_pointers.glProgramUniformMatrix4x3dv = @ptrCast(proc);
4237 } else {
4238 log.err("entry point glProgramUniformMatrix4x3dv not found!", .{});
4239 success = false;
4240 }
4241 if(get_proc_address(load_ctx, "glProgramUniformMatrix3x4dv")) |proc| {
4242 function_pointers.glProgramUniformMatrix3x4dv = @ptrCast(proc);
4243 } else {
4244 log.err("entry point glProgramUniformMatrix3x4dv not found!", .{});
4245 success = false;
4246 }
4247 if(get_proc_address(load_ctx, "glProgramUniformMatrix4x2dv")) |proc| {
4248 function_pointers.glProgramUniformMatrix4x2dv = @ptrCast(proc);
4249 } else {
4250 log.err("entry point glProgramUniformMatrix4x2dv not found!", .{});
4251 success = false;
4252 }
4253 if(get_proc_address(load_ctx, "glProgramUniformMatrix2x4dv")) |proc| {
4254 function_pointers.glProgramUniformMatrix2x4dv = @ptrCast(proc);
4255 } else {
4256 log.err("entry point glProgramUniformMatrix2x4dv not found!", .{});
4257 success = false;
4258 }
4259 if(get_proc_address(load_ctx, "glProgramUniformMatrix3x2dv")) |proc| {
4260 function_pointers.glProgramUniformMatrix3x2dv = @ptrCast(proc);
4261 } else {
4262 log.err("entry point glProgramUniformMatrix3x2dv not found!", .{});
4263 success = false;
4264 }
4265 if(get_proc_address(load_ctx, "glProgramUniformMatrix2x3dv")) |proc| {
4266 function_pointers.glProgramUniformMatrix2x3dv = @ptrCast(proc);
4267 } else {
4268 log.err("entry point glProgramUniformMatrix2x3dv not found!", .{});
4269 success = false;
4270 }
4271 if(get_proc_address(load_ctx, "glProgramUniformMatrix4x3fv")) |proc| {
4272 function_pointers.glProgramUniformMatrix4x3fv = @ptrCast(proc);
4273 } else {
4274 log.err("entry point glProgramUniformMatrix4x3fv not found!", .{});
4275 success = false;
4276 }
4277 if(get_proc_address(load_ctx, "glProgramUniformMatrix3x4fv")) |proc| {
4278 function_pointers.glProgramUniformMatrix3x4fv = @ptrCast(proc);
4279 } else {
4280 log.err("entry point glProgramUniformMatrix3x4fv not found!", .{});
4281 success = false;
4282 }
4283 if(get_proc_address(load_ctx, "glProgramUniformMatrix4x2fv")) |proc| {
4284 function_pointers.glProgramUniformMatrix4x2fv = @ptrCast(proc);
4285 } else {
4286 log.err("entry point glProgramUniformMatrix4x2fv not found!", .{});
4287 success = false;
4288 }
4289 if(get_proc_address(load_ctx, "glProgramUniformMatrix2x4fv")) |proc| {
4290 function_pointers.glProgramUniformMatrix2x4fv = @ptrCast(proc);
4291 } else {
4292 log.err("entry point glProgramUniformMatrix2x4fv not found!", .{});
4293 success = false;
4294 }
4295 if(get_proc_address(load_ctx, "glProgramUniformMatrix3x2fv")) |proc| {
4296 function_pointers.glProgramUniformMatrix3x2fv = @ptrCast(proc);
4297 } else {
4298 log.err("entry point glProgramUniformMatrix3x2fv not found!", .{});
4299 success = false;
4300 }
4301 if(get_proc_address(load_ctx, "glProgramUniformMatrix2x3fv")) |proc| {
4302 function_pointers.glProgramUniformMatrix2x3fv = @ptrCast(proc);
4303 } else {
4304 log.err("entry point glProgramUniformMatrix2x3fv not found!", .{});
4305 success = false;
4306 }
4307 if(get_proc_address(load_ctx, "glProgramUniformMatrix4dv")) |proc| {
4308 function_pointers.glProgramUniformMatrix4dv = @ptrCast(proc);
4309 } else {
4310 log.err("entry point glProgramUniformMatrix4dv not found!", .{});
4311 success = false;
4312 }
4313 if(get_proc_address(load_ctx, "glProgramUniformMatrix3dv")) |proc| {
4314 function_pointers.glProgramUniformMatrix3dv = @ptrCast(proc);
4315 } else {
4316 log.err("entry point glProgramUniformMatrix3dv not found!", .{});
4317 success = false;
4318 }
4319 if(get_proc_address(load_ctx, "glProgramUniformMatrix2dv")) |proc| {
4320 function_pointers.glProgramUniformMatrix2dv = @ptrCast(proc);
4321 } else {
4322 log.err("entry point glProgramUniformMatrix2dv not found!", .{});
4323 success = false;
4324 }
4325 if(get_proc_address(load_ctx, "glProgramUniformMatrix4fv")) |proc| {
4326 function_pointers.glProgramUniformMatrix4fv = @ptrCast(proc);
4327 } else {
4328 log.err("entry point glProgramUniformMatrix4fv not found!", .{});
4329 success = false;
4330 }
4331 if(get_proc_address(load_ctx, "glProgramUniformMatrix3fv")) |proc| {
4332 function_pointers.glProgramUniformMatrix3fv = @ptrCast(proc);
4333 } else {
4334 log.err("entry point glProgramUniformMatrix3fv not found!", .{});
4335 success = false;
4336 }
4337 if(get_proc_address(load_ctx, "glProgramUniformMatrix2fv")) |proc| {
4338 function_pointers.glProgramUniformMatrix2fv = @ptrCast(proc);
4339 } else {
4340 log.err("entry point glProgramUniformMatrix2fv not found!", .{});
4341 success = false;
4342 }
4343 if(get_proc_address(load_ctx, "glProgramUniform4uiv")) |proc| {
4344 function_pointers.glProgramUniform4uiv = @ptrCast(proc);
4345 } else {
4346 log.err("entry point glProgramUniform4uiv not found!", .{});
4347 success = false;
4348 }
4349 if(get_proc_address(load_ctx, "glProgramUniform4ui")) |proc| {
4350 function_pointers.glProgramUniform4ui = @ptrCast(proc);
4351 } else {
4352 log.err("entry point glProgramUniform4ui not found!", .{});
4353 success = false;
4354 }
4355 if(get_proc_address(load_ctx, "glProgramUniform4dv")) |proc| {
4356 function_pointers.glProgramUniform4dv = @ptrCast(proc);
4357 } else {
4358 log.err("entry point glProgramUniform4dv not found!", .{});
4359 success = false;
4360 }
4361 if(get_proc_address(load_ctx, "glProgramUniform4d")) |proc| {
4362 function_pointers.glProgramUniform4d = @ptrCast(proc);
4363 } else {
4364 log.err("entry point glProgramUniform4d not found!", .{});
4365 success = false;
4366 }
4367 if(get_proc_address(load_ctx, "glProgramUniform4fv")) |proc| {
4368 function_pointers.glProgramUniform4fv = @ptrCast(proc);
4369 } else {
4370 log.err("entry point glProgramUniform4fv not found!", .{});
4371 success = false;
4372 }
4373 if(get_proc_address(load_ctx, "glProgramUniform4f")) |proc| {
4374 function_pointers.glProgramUniform4f = @ptrCast(proc);
4375 } else {
4376 log.err("entry point glProgramUniform4f not found!", .{});
4377 success = false;
4378 }
4379 if(get_proc_address(load_ctx, "glProgramUniform4iv")) |proc| {
4380 function_pointers.glProgramUniform4iv = @ptrCast(proc);
4381 } else {
4382 log.err("entry point glProgramUniform4iv not found!", .{});
4383 success = false;
4384 }
4385 if(get_proc_address(load_ctx, "glProgramUniform4i")) |proc| {
4386 function_pointers.glProgramUniform4i = @ptrCast(proc);
4387 } else {
4388 log.err("entry point glProgramUniform4i not found!", .{});
4389 success = false;
4390 }
4391 if(get_proc_address(load_ctx, "glProgramUniform3uiv")) |proc| {
4392 function_pointers.glProgramUniform3uiv = @ptrCast(proc);
4393 } else {
4394 log.err("entry point glProgramUniform3uiv not found!", .{});
4395 success = false;
4396 }
4397 if(get_proc_address(load_ctx, "glProgramUniform3ui")) |proc| {
4398 function_pointers.glProgramUniform3ui = @ptrCast(proc);
4399 } else {
4400 log.err("entry point glProgramUniform3ui not found!", .{});
4401 success = false;
4402 }
4403 if(get_proc_address(load_ctx, "glProgramUniform3dv")) |proc| {
4404 function_pointers.glProgramUniform3dv = @ptrCast(proc);
4405 } else {
4406 log.err("entry point glProgramUniform3dv not found!", .{});
4407 success = false;
4408 }
4409 if(get_proc_address(load_ctx, "glProgramUniform3d")) |proc| {
4410 function_pointers.glProgramUniform3d = @ptrCast(proc);
4411 } else {
4412 log.err("entry point glProgramUniform3d not found!", .{});
4413 success = false;
4414 }
4415 if(get_proc_address(load_ctx, "glProgramUniform3fv")) |proc| {
4416 function_pointers.glProgramUniform3fv = @ptrCast(proc);
4417 } else {
4418 log.err("entry point glProgramUniform3fv not found!", .{});
4419 success = false;
4420 }
4421 if(get_proc_address(load_ctx, "glProgramUniform3f")) |proc| {
4422 function_pointers.glProgramUniform3f = @ptrCast(proc);
4423 } else {
4424 log.err("entry point glProgramUniform3f not found!", .{});
4425 success = false;
4426 }
4427 if(get_proc_address(load_ctx, "glProgramUniform3iv")) |proc| {
4428 function_pointers.glProgramUniform3iv = @ptrCast(proc);
4429 } else {
4430 log.err("entry point glProgramUniform3iv not found!", .{});
4431 success = false;
4432 }
4433 if(get_proc_address(load_ctx, "glProgramUniform3i")) |proc| {
4434 function_pointers.glProgramUniform3i = @ptrCast(proc);
4435 } else {
4436 log.err("entry point glProgramUniform3i not found!", .{});
4437 success = false;
4438 }
4439 if(get_proc_address(load_ctx, "glUseProgramStages")) |proc| {
4440 function_pointers.glUseProgramStages = @ptrCast(proc);
4441 } else {
4442 log.err("entry point glUseProgramStages not found!", .{});
4443 success = false;
4444 }
4445 if(get_proc_address(load_ctx, "glProgramParameteri")) |proc| {
4446 function_pointers.glProgramParameteri = @ptrCast(proc);
4447 } else {
4448 log.err("entry point glProgramParameteri not found!", .{});
4449 success = false;
4450 }
4451 if(get_proc_address(load_ctx, "glGetShaderPrecisionFormat")) |proc| {
4452 function_pointers.glGetShaderPrecisionFormat = @ptrCast(proc);
4453 } else {
4454 log.err("entry point glGetShaderPrecisionFormat not found!", .{});
4455 success = false;
4456 }
4457 if(get_proc_address(load_ctx, "glShaderBinary")) |proc| {
4458 function_pointers.glShaderBinary = @ptrCast(proc);
4459 } else {
4460 log.err("entry point glShaderBinary not found!", .{});
4461 success = false;
4462 }
4463 if(get_proc_address(load_ctx, "glReleaseShaderCompiler")) |proc| {
4464 function_pointers.glReleaseShaderCompiler = @ptrCast(proc);
4465 } else {
4466 log.err("entry point glReleaseShaderCompiler not found!", .{});
4467 success = false;
4468 }
4469 if(get_proc_address(load_ctx, "glGetQueryIndexediv")) |proc| {
4470 function_pointers.glGetQueryIndexediv = @ptrCast(proc);
4471 } else {
4472 log.err("entry point glGetQueryIndexediv not found!", .{});
4473 success = false;
4474 }
4475 if(get_proc_address(load_ctx, "glEndQueryIndexed")) |proc| {
4476 function_pointers.glEndQueryIndexed = @ptrCast(proc);
4477 } else {
4478 log.err("entry point glEndQueryIndexed not found!", .{});
4479 success = false;
4480 }
4481 if(get_proc_address(load_ctx, "glBeginQueryIndexed")) |proc| {
4482 function_pointers.glBeginQueryIndexed = @ptrCast(proc);
4483 } else {
4484 log.err("entry point glBeginQueryIndexed not found!", .{});
4485 success = false;
4486 }
4487 if(get_proc_address(load_ctx, "glDrawTransformFeedbackStream")) |proc| {
4488 function_pointers.glDrawTransformFeedbackStream = @ptrCast(proc);
4489 } else {
4490 log.err("entry point glDrawTransformFeedbackStream not found!", .{});
4491 success = false;
4492 }
4493 if(get_proc_address(load_ctx, "glDrawTransformFeedback")) |proc| {
4494 function_pointers.glDrawTransformFeedback = @ptrCast(proc);
4495 } else {
4496 log.err("entry point glDrawTransformFeedback not found!", .{});
4497 success = false;
4498 }
4499 if(get_proc_address(load_ctx, "glResumeTransformFeedback")) |proc| {
4500 function_pointers.glResumeTransformFeedback = @ptrCast(proc);
4501 } else {
4502 log.err("entry point glResumeTransformFeedback not found!", .{});
4503 success = false;
4504 }
4505 if(get_proc_address(load_ctx, "glPauseTransformFeedback")) |proc| {
4506 function_pointers.glPauseTransformFeedback = @ptrCast(proc);
4507 } else {
4508 log.err("entry point glPauseTransformFeedback not found!", .{});
4509 success = false;
4510 }
4511 if(get_proc_address(load_ctx, "glGetProgramStageiv")) |proc| {
4512 function_pointers.glGetProgramStageiv = @ptrCast(proc);
4513 } else {
4514 log.err("entry point glGetProgramStageiv not found!", .{});
4515 success = false;
4516 }
4517 if(get_proc_address(load_ctx, "glGetUniformSubroutineuiv")) |proc| {
4518 function_pointers.glGetUniformSubroutineuiv = @ptrCast(proc);
4519 } else {
4520 log.err("entry point glGetUniformSubroutineuiv not found!", .{});
4521 success = false;
4522 }
4523 if(get_proc_address(load_ctx, "glUniformSubroutinesuiv")) |proc| {
4524 function_pointers.glUniformSubroutinesuiv = @ptrCast(proc);
4525 } else {
4526 log.err("entry point glUniformSubroutinesuiv not found!", .{});
4527 success = false;
4528 }
4529 if(get_proc_address(load_ctx, "glGetActiveSubroutineName")) |proc| {
4530 function_pointers.glGetActiveSubroutineName = @ptrCast(proc);
4531 } else {
4532 log.err("entry point glGetActiveSubroutineName not found!", .{});
4533 success = false;
4534 }
4535 if(get_proc_address(load_ctx, "glCullFace")) |proc| {
4536 function_pointers.glCullFace = @ptrCast(proc);
4537 } else {
4538 log.err("entry point glCullFace not found!", .{});
4539 success = false;
4540 }
4541 if(get_proc_address(load_ctx, "glFrontFace")) |proc| {
4542 function_pointers.glFrontFace = @ptrCast(proc);
4543 } else {
4544 log.err("entry point glFrontFace not found!", .{});
4545 success = false;
4546 }
4547 if(get_proc_address(load_ctx, "glHint")) |proc| {
4548 function_pointers.glHint = @ptrCast(proc);
4549 } else {
4550 log.err("entry point glHint not found!", .{});
4551 success = false;
4552 }
4553 if(get_proc_address(load_ctx, "glLineWidth")) |proc| {
4554 function_pointers.glLineWidth = @ptrCast(proc);
4555 } else {
4556 log.err("entry point glLineWidth not found!", .{});
4557 success = false;
4558 }
4559 if(get_proc_address(load_ctx, "glPointSize")) |proc| {
4560 function_pointers.glPointSize = @ptrCast(proc);
4561 } else {
4562 log.err("entry point glPointSize not found!", .{});
4563 success = false;
4564 }
4565 if(get_proc_address(load_ctx, "glPolygonMode")) |proc| {
4566 function_pointers.glPolygonMode = @ptrCast(proc);
4567 } else {
4568 log.err("entry point glPolygonMode not found!", .{});
4569 success = false;
4570 }
4571 if(get_proc_address(load_ctx, "glScissor")) |proc| {
4572 function_pointers.glScissor = @ptrCast(proc);
4573 } else {
4574 log.err("entry point glScissor not found!", .{});
4575 success = false;
4576 }
4577 if(get_proc_address(load_ctx, "glTexParameterf")) |proc| {
4578 function_pointers.glTexParameterf = @ptrCast(proc);
4579 } else {
4580 log.err("entry point glTexParameterf not found!", .{});
4581 success = false;
4582 }
4583 if(get_proc_address(load_ctx, "glTexParameterfv")) |proc| {
4584 function_pointers.glTexParameterfv = @ptrCast(proc);
4585 } else {
4586 log.err("entry point glTexParameterfv not found!", .{});
4587 success = false;
4588 }
4589 if(get_proc_address(load_ctx, "glTexParameteri")) |proc| {
4590 function_pointers.glTexParameteri = @ptrCast(proc);
4591 } else {
4592 log.err("entry point glTexParameteri not found!", .{});
4593 success = false;
4594 }
4595 if(get_proc_address(load_ctx, "glTexParameteriv")) |proc| {
4596 function_pointers.glTexParameteriv = @ptrCast(proc);
4597 } else {
4598 log.err("entry point glTexParameteriv not found!", .{});
4599 success = false;
4600 }
4601 if(get_proc_address(load_ctx, "glTexImage1D")) |proc| {
4602 function_pointers.glTexImage1D = @ptrCast(proc);
4603 } else {
4604 log.err("entry point glTexImage1D not found!", .{});
4605 success = false;
4606 }
4607 if(get_proc_address(load_ctx, "glTexImage2D")) |proc| {
4608 function_pointers.glTexImage2D = @ptrCast(proc);
4609 } else {
4610 log.err("entry point glTexImage2D not found!", .{});
4611 success = false;
4612 }
4613 if(get_proc_address(load_ctx, "glDrawBuffer")) |proc| {
4614 function_pointers.glDrawBuffer = @ptrCast(proc);
4615 } else {
4616 log.err("entry point glDrawBuffer not found!", .{});
4617 success = false;
4618 }
4619 if(get_proc_address(load_ctx, "glClear")) |proc| {
4620 function_pointers.glClear = @ptrCast(proc);
4621 } else {
4622 log.err("entry point glClear not found!", .{});
4623 success = false;
4624 }
4625 if(get_proc_address(load_ctx, "glClearColor")) |proc| {
4626 function_pointers.glClearColor = @ptrCast(proc);
4627 } else {
4628 log.err("entry point glClearColor not found!", .{});
4629 success = false;
4630 }
4631 if(get_proc_address(load_ctx, "glClearStencil")) |proc| {
4632 function_pointers.glClearStencil = @ptrCast(proc);
4633 } else {
4634 log.err("entry point glClearStencil not found!", .{});
4635 success = false;
4636 }
4637 if(get_proc_address(load_ctx, "glClearDepth")) |proc| {
4638 function_pointers.glClearDepth = @ptrCast(proc);
4639 } else {
4640 log.err("entry point glClearDepth not found!", .{});
4641 success = false;
4642 }
4643 if(get_proc_address(load_ctx, "glStencilMask")) |proc| {
4644 function_pointers.glStencilMask = @ptrCast(proc);
4645 } else {
4646 log.err("entry point glStencilMask not found!", .{});
4647 success = false;
4648 }
4649 if(get_proc_address(load_ctx, "glColorMask")) |proc| {
4650 function_pointers.glColorMask = @ptrCast(proc);
4651 } else {
4652 log.err("entry point glColorMask not found!", .{});
4653 success = false;
4654 }
4655 if(get_proc_address(load_ctx, "glDepthMask")) |proc| {
4656 function_pointers.glDepthMask = @ptrCast(proc);
4657 } else {
4658 log.err("entry point glDepthMask not found!", .{});
4659 success = false;
4660 }
4661 if(get_proc_address(load_ctx, "glDisable")) |proc| {
4662 function_pointers.glDisable = @ptrCast(proc);
4663 } else {
4664 log.err("entry point glDisable not found!", .{});
4665 success = false;
4666 }
4667 if(get_proc_address(load_ctx, "glEnable")) |proc| {
4668 function_pointers.glEnable = @ptrCast(proc);
4669 } else {
4670 log.err("entry point glEnable not found!", .{});
4671 success = false;
4672 }
4673 if(get_proc_address(load_ctx, "glFinish")) |proc| {
4674 function_pointers.glFinish = @ptrCast(proc);
4675 } else {
4676 log.err("entry point glFinish not found!", .{});
4677 success = false;
4678 }
4679 if(get_proc_address(load_ctx, "glFlush")) |proc| {
4680 function_pointers.glFlush = @ptrCast(proc);
4681 } else {
4682 log.err("entry point glFlush not found!", .{});
4683 success = false;
4684 }
4685 if(get_proc_address(load_ctx, "glBlendFunc")) |proc| {
4686 function_pointers.glBlendFunc = @ptrCast(proc);
4687 } else {
4688 log.err("entry point glBlendFunc not found!", .{});
4689 success = false;
4690 }
4691 if(get_proc_address(load_ctx, "glLogicOp")) |proc| {
4692 function_pointers.glLogicOp = @ptrCast(proc);
4693 } else {
4694 log.err("entry point glLogicOp not found!", .{});
4695 success = false;
4696 }
4697 if(get_proc_address(load_ctx, "glStencilFunc")) |proc| {
4698 function_pointers.glStencilFunc = @ptrCast(proc);
4699 } else {
4700 log.err("entry point glStencilFunc not found!", .{});
4701 success = false;
4702 }
4703 if(get_proc_address(load_ctx, "glStencilOp")) |proc| {
4704 function_pointers.glStencilOp = @ptrCast(proc);
4705 } else {
4706 log.err("entry point glStencilOp not found!", .{});
4707 success = false;
4708 }
4709 if(get_proc_address(load_ctx, "glDepthFunc")) |proc| {
4710 function_pointers.glDepthFunc = @ptrCast(proc);
4711 } else {
4712 log.err("entry point glDepthFunc not found!", .{});
4713 success = false;
4714 }
4715 if(get_proc_address(load_ctx, "glPixelStoref")) |proc| {
4716 function_pointers.glPixelStoref = @ptrCast(proc);
4717 } else {
4718 log.err("entry point glPixelStoref not found!", .{});
4719 success = false;
4720 }
4721 if(get_proc_address(load_ctx, "glPixelStorei")) |proc| {
4722 function_pointers.glPixelStorei = @ptrCast(proc);
4723 } else {
4724 log.err("entry point glPixelStorei not found!", .{});
4725 success = false;
4726 }
4727 if(get_proc_address(load_ctx, "glReadBuffer")) |proc| {
4728 function_pointers.glReadBuffer = @ptrCast(proc);
4729 } else {
4730 log.err("entry point glReadBuffer not found!", .{});
4731 success = false;
4732 }
4733 if(get_proc_address(load_ctx, "glReadPixels")) |proc| {
4734 function_pointers.glReadPixels = @ptrCast(proc);
4735 } else {
4736 log.err("entry point glReadPixels not found!", .{});
4737 success = false;
4738 }
4739 if(get_proc_address(load_ctx, "glGetBooleanv")) |proc| {
4740 function_pointers.glGetBooleanv = @ptrCast(proc);
4741 } else {
4742 log.err("entry point glGetBooleanv not found!", .{});
4743 success = false;
4744 }
4745 if(get_proc_address(load_ctx, "glGetDoublev")) |proc| {
4746 function_pointers.glGetDoublev = @ptrCast(proc);
4747 } else {
4748 log.err("entry point glGetDoublev not found!", .{});
4749 success = false;
4750 }
4751 if(get_proc_address(load_ctx, "glGetError")) |proc| {
4752 function_pointers.glGetError = @ptrCast(proc);
4753 } else {
4754 log.err("entry point glGetError not found!", .{});
4755 success = false;
4756 }
4757 if(get_proc_address(load_ctx, "glGetFloatv")) |proc| {
4758 function_pointers.glGetFloatv = @ptrCast(proc);
4759 } else {
4760 log.err("entry point glGetFloatv not found!", .{});
4761 success = false;
4762 }
4763 if(get_proc_address(load_ctx, "glGetIntegerv")) |proc| {
4764 function_pointers.glGetIntegerv = @ptrCast(proc);
4765 } else {
4766 log.err("entry point glGetIntegerv not found!", .{});
4767 success = false;
4768 }
4769 if(get_proc_address(load_ctx, "glGetString")) |proc| {
4770 function_pointers.glGetString = @ptrCast(proc);
4771 } else {
4772 log.err("entry point glGetString not found!", .{});
4773 success = false;
4774 }
4775 if(get_proc_address(load_ctx, "glGetTexImage")) |proc| {
4776 function_pointers.glGetTexImage = @ptrCast(proc);
4777 } else {
4778 log.err("entry point glGetTexImage not found!", .{});
4779 success = false;
4780 }
4781 if(get_proc_address(load_ctx, "glGetTexParameterfv")) |proc| {
4782 function_pointers.glGetTexParameterfv = @ptrCast(proc);
4783 } else {
4784 log.err("entry point glGetTexParameterfv not found!", .{});
4785 success = false;
4786 }
4787 if(get_proc_address(load_ctx, "glGetTexParameteriv")) |proc| {
4788 function_pointers.glGetTexParameteriv = @ptrCast(proc);
4789 } else {
4790 log.err("entry point glGetTexParameteriv not found!", .{});
4791 success = false;
4792 }
4793 if(get_proc_address(load_ctx, "glGetTexLevelParameterfv")) |proc| {
4794 function_pointers.glGetTexLevelParameterfv = @ptrCast(proc);
4795 } else {
4796 log.err("entry point glGetTexLevelParameterfv not found!", .{});
4797 success = false;
4798 }
4799 if(get_proc_address(load_ctx, "glGetTexLevelParameteriv")) |proc| {
4800 function_pointers.glGetTexLevelParameteriv = @ptrCast(proc);
4801 } else {
4802 log.err("entry point glGetTexLevelParameteriv not found!", .{});
4803 success = false;
4804 }
4805 if(get_proc_address(load_ctx, "glIsEnabled")) |proc| {
4806 function_pointers.glIsEnabled = @ptrCast(proc);
4807 } else {
4808 log.err("entry point glIsEnabled not found!", .{});
4809 success = false;
4810 }
4811 if(get_proc_address(load_ctx, "glDepthRange")) |proc| {
4812 function_pointers.glDepthRange = @ptrCast(proc);
4813 } else {
4814 log.err("entry point glDepthRange not found!", .{});
4815 success = false;
4816 }
4817 if(get_proc_address(load_ctx, "glViewport")) |proc| {
4818 function_pointers.glViewport = @ptrCast(proc);
4819 } else {
4820 log.err("entry point glViewport not found!", .{});
4821 success = false;
4822 }
4823 if(get_proc_address(load_ctx, "glTexStorage2DMultisample")) |proc| {
4824 function_pointers.glTexStorage2DMultisample = @ptrCast(proc);
4825 } else {
4826 log.err("entry point glTexStorage2DMultisample not found!", .{});
4827 success = false;
4828 }
4829 if(get_proc_address(load_ctx, "glTexBufferRange")) |proc| {
4830 function_pointers.glTexBufferRange = @ptrCast(proc);
4831 } else {
4832 log.err("entry point glTexBufferRange not found!", .{});
4833 success = false;
4834 }
4835 if(get_proc_address(load_ctx, "glShaderStorageBlockBinding")) |proc| {
4836 function_pointers.glShaderStorageBlockBinding = @ptrCast(proc);
4837 } else {
4838 log.err("entry point glShaderStorageBlockBinding not found!", .{});
4839 success = false;
4840 }
4841 if(get_proc_address(load_ctx, "glGetProgramResourceLocationIndex")) |proc| {
4842 function_pointers.glGetProgramResourceLocationIndex = @ptrCast(proc);
4843 } else {
4844 log.err("entry point glGetProgramResourceLocationIndex not found!", .{});
4845 success = false;
4846 }
4847 if(get_proc_address(load_ctx, "glGetProgramResourceLocation")) |proc| {
4848 function_pointers.glGetProgramResourceLocation = @ptrCast(proc);
4849 } else {
4850 log.err("entry point glGetProgramResourceLocation not found!", .{});
4851 success = false;
4852 }
4853 if(get_proc_address(load_ctx, "glGetProgramResourceiv")) |proc| {
4854 function_pointers.glGetProgramResourceiv = @ptrCast(proc);
4855 } else {
4856 log.err("entry point glGetProgramResourceiv not found!", .{});
4857 success = false;
4858 }
4859 if(get_proc_address(load_ctx, "glGetProgramResourceName")) |proc| {
4860 function_pointers.glGetProgramResourceName = @ptrCast(proc);
4861 } else {
4862 log.err("entry point glGetProgramResourceName not found!", .{});
4863 success = false;
4864 }
4865 if(get_proc_address(load_ctx, "glGetProgramResourceIndex")) |proc| {
4866 function_pointers.glGetProgramResourceIndex = @ptrCast(proc);
4867 } else {
4868 log.err("entry point glGetProgramResourceIndex not found!", .{});
4869 success = false;
4870 }
4871 if(get_proc_address(load_ctx, "glGetProgramInterfaceiv")) |proc| {
4872 function_pointers.glGetProgramInterfaceiv = @ptrCast(proc);
4873 } else {
4874 log.err("entry point glGetProgramInterfaceiv not found!", .{});
4875 success = false;
4876 }
4877 if(get_proc_address(load_ctx, "glMultiDrawElementsIndirect")) |proc| {
4878 function_pointers.glMultiDrawElementsIndirect = @ptrCast(proc);
4879 } else {
4880 log.err("entry point glMultiDrawElementsIndirect not found!", .{});
4881 success = false;
4882 }
4883 if(get_proc_address(load_ctx, "glMultiDrawArraysIndirect")) |proc| {
4884 function_pointers.glMultiDrawArraysIndirect = @ptrCast(proc);
4885 } else {
4886 log.err("entry point glMultiDrawArraysIndirect not found!", .{});
4887 success = false;
4888 }
4889 if(get_proc_address(load_ctx, "glInvalidateSubFramebuffer")) |proc| {
4890 function_pointers.glInvalidateSubFramebuffer = @ptrCast(proc);
4891 } else {
4892 log.err("entry point glInvalidateSubFramebuffer not found!", .{});
4893 success = false;
4894 }
4895 if(get_proc_address(load_ctx, "glInvalidateFramebuffer")) |proc| {
4896 function_pointers.glInvalidateFramebuffer = @ptrCast(proc);
4897 } else {
4898 log.err("entry point glInvalidateFramebuffer not found!", .{});
4899 success = false;
4900 }
4901 if(get_proc_address(load_ctx, "glInvalidateBufferData")) |proc| {
4902 function_pointers.glInvalidateBufferData = @ptrCast(proc);
4903 } else {
4904 log.err("entry point glInvalidateBufferData not found!", .{});
4905 success = false;
4906 }
4907 if(get_proc_address(load_ctx, "glInvalidateBufferSubData")) |proc| {
4908 function_pointers.glInvalidateBufferSubData = @ptrCast(proc);
4909 } else {
4910 log.err("entry point glInvalidateBufferSubData not found!", .{});
4911 success = false;
4912 }
4913 if(get_proc_address(load_ctx, "glInvalidateTexImage")) |proc| {
4914 function_pointers.glInvalidateTexImage = @ptrCast(proc);
4915 } else {
4916 log.err("entry point glInvalidateTexImage not found!", .{});
4917 success = false;
4918 }
4919 if(get_proc_address(load_ctx, "glInvalidateTexSubImage")) |proc| {
4920 function_pointers.glInvalidateTexSubImage = @ptrCast(proc);
4921 } else {
4922 log.err("entry point glInvalidateTexSubImage not found!", .{});
4923 success = false;
4924 }
4925 if(get_proc_address(load_ctx, "glGetInternalformati64v")) |proc| {
4926 function_pointers.glGetInternalformati64v = @ptrCast(proc);
4927 } else {
4928 log.err("entry point glGetInternalformati64v not found!", .{});
4929 success = false;
4930 }
4931 if(get_proc_address(load_ctx, "glGetFramebufferParameteriv")) |proc| {
4932 function_pointers.glGetFramebufferParameteriv = @ptrCast(proc);
4933 } else {
4934 log.err("entry point glGetFramebufferParameteriv not found!", .{});
4935 success = false;
4936 }
4937 if(get_proc_address(load_ctx, "glFramebufferParameteri")) |proc| {
4938 function_pointers.glFramebufferParameteri = @ptrCast(proc);
4939 } else {
4940 log.err("entry point glFramebufferParameteri not found!", .{});
4941 success = false;
4942 }
4943 if(get_proc_address(load_ctx, "glCopyImageSubData")) |proc| {
4944 function_pointers.glCopyImageSubData = @ptrCast(proc);
4945 } else {
4946 log.err("entry point glCopyImageSubData not found!", .{});
4947 success = false;
4948 }
4949 if(get_proc_address(load_ctx, "glDispatchComputeIndirect")) |proc| {
4950 function_pointers.glDispatchComputeIndirect = @ptrCast(proc);
4951 } else {
4952 log.err("entry point glDispatchComputeIndirect not found!", .{});
4953 success = false;
4954 }
4955 if(get_proc_address(load_ctx, "glDispatchCompute")) |proc| {
4956 function_pointers.glDispatchCompute = @ptrCast(proc);
4957 } else {
4958 log.err("entry point glDispatchCompute not found!", .{});
4959 success = false;
4960 }
4961 if(get_proc_address(load_ctx, "glClearBufferSubData")) |proc| {
4962 function_pointers.glClearBufferSubData = @ptrCast(proc);
4963 } else {
4964 log.err("entry point glClearBufferSubData not found!", .{});
4965 success = false;
4966 }
4967 if(get_proc_address(load_ctx, "glClearBufferData")) |proc| {
4968 function_pointers.glClearBufferData = @ptrCast(proc);
4969 } else {
4970 log.err("entry point glClearBufferData not found!", .{});
4971 success = false;
4972 }
4973 if(get_proc_address(load_ctx, "glGetProgramPipelineInfoLog")) |proc| {
4974 function_pointers.glGetProgramPipelineInfoLog = @ptrCast(proc);
4975 } else {
4976 log.err("entry point glGetProgramPipelineInfoLog not found!", .{});
4977 success = false;
4978 }
4979 if(get_proc_address(load_ctx, "glProgramUniform2uiv")) |proc| {
4980 function_pointers.glProgramUniform2uiv = @ptrCast(proc);
4981 } else {
4982 log.err("entry point glProgramUniform2uiv not found!", .{});
4983 success = false;
4984 }
4985 if(get_proc_address(load_ctx, "glProgramUniform2ui")) |proc| {
4986 function_pointers.glProgramUniform2ui = @ptrCast(proc);
4987 } else {
4988 log.err("entry point glProgramUniform2ui not found!", .{});
4989 success = false;
4990 }
4991 if(get_proc_address(load_ctx, "glProgramUniform2dv")) |proc| {
4992 function_pointers.glProgramUniform2dv = @ptrCast(proc);
4993 } else {
4994 log.err("entry point glProgramUniform2dv not found!", .{});
4995 success = false;
4996 }
4997 if(get_proc_address(load_ctx, "glProgramUniform2d")) |proc| {
4998 function_pointers.glProgramUniform2d = @ptrCast(proc);
4999 } else {
5000 log.err("entry point glProgramUniform2d not found!", .{});
5001 success = false;
5002 }
5003 if(get_proc_address(load_ctx, "glProgramUniform2fv")) |proc| {
5004 function_pointers.glProgramUniform2fv = @ptrCast(proc);
5005 } else {
5006 log.err("entry point glProgramUniform2fv not found!", .{});
5007 success = false;
5008 }
5009 if(get_proc_address(load_ctx, "glProgramUniform2f")) |proc| {
5010 function_pointers.glProgramUniform2f = @ptrCast(proc);
5011 } else {
5012 log.err("entry point glProgramUniform2f not found!", .{});
5013 success = false;
5014 }
5015 if(get_proc_address(load_ctx, "glProgramUniform2iv")) |proc| {
5016 function_pointers.glProgramUniform2iv = @ptrCast(proc);
5017 } else {
5018 log.err("entry point glProgramUniform2iv not found!", .{});
5019 success = false;
5020 }
5021 if(get_proc_address(load_ctx, "glProgramUniform2i")) |proc| {
5022 function_pointers.glProgramUniform2i = @ptrCast(proc);
5023 } else {
5024 log.err("entry point glProgramUniform2i not found!", .{});
5025 success = false;
5026 }
5027 if(get_proc_address(load_ctx, "glProgramUniform1uiv")) |proc| {
5028 function_pointers.glProgramUniform1uiv = @ptrCast(proc);
5029 } else {
5030 log.err("entry point glProgramUniform1uiv not found!", .{});
5031 success = false;
5032 }
5033 if(get_proc_address(load_ctx, "glProgramUniform1ui")) |proc| {
5034 function_pointers.glProgramUniform1ui = @ptrCast(proc);
5035 } else {
5036 log.err("entry point glProgramUniform1ui not found!", .{});
5037 success = false;
5038 }
5039 if(get_proc_address(load_ctx, "glProgramUniform1dv")) |proc| {
5040 function_pointers.glProgramUniform1dv = @ptrCast(proc);
5041 } else {
5042 log.err("entry point glProgramUniform1dv not found!", .{});
5043 success = false;
5044 }
5045 if(get_proc_address(load_ctx, "glProgramUniform1d")) |proc| {
5046 function_pointers.glProgramUniform1d = @ptrCast(proc);
5047 } else {
5048 log.err("entry point glProgramUniform1d not found!", .{});
5049 success = false;
5050 }
5051 if(get_proc_address(load_ctx, "glProgramUniform1fv")) |proc| {
5052 function_pointers.glProgramUniform1fv = @ptrCast(proc);
5053 } else {
5054 log.err("entry point glProgramUniform1fv not found!", .{});
5055 success = false;
5056 }
5057 if(get_proc_address(load_ctx, "glProgramUniform1f")) |proc| {
5058 function_pointers.glProgramUniform1f = @ptrCast(proc);
5059 } else {
5060 log.err("entry point glProgramUniform1f not found!", .{});
5061 success = false;
5062 }
5063 if(get_proc_address(load_ctx, "glProgramUniform1iv")) |proc| {
5064 function_pointers.glProgramUniform1iv = @ptrCast(proc);
5065 } else {
5066 log.err("entry point glProgramUniform1iv not found!", .{});
5067 success = false;
5068 }
5069 if(get_proc_address(load_ctx, "glProgramUniform1i")) |proc| {
5070 function_pointers.glProgramUniform1i = @ptrCast(proc);
5071 } else {
5072 log.err("entry point glProgramUniform1i not found!", .{});
5073 success = false;
5074 }
5075 if(get_proc_address(load_ctx, "glGetProgramPipelineiv")) |proc| {
5076 function_pointers.glGetProgramPipelineiv = @ptrCast(proc);
5077 } else {
5078 log.err("entry point glGetProgramPipelineiv not found!", .{});
5079 success = false;
5080 }
5081 if(get_proc_address(load_ctx, "glIsProgramPipeline")) |proc| {
5082 function_pointers.glIsProgramPipeline = @ptrCast(proc);
5083 } else {
5084 log.err("entry point glIsProgramPipeline not found!", .{});
5085 success = false;
5086 }
5087 if(get_proc_address(load_ctx, "glGenProgramPipelines")) |proc| {
5088 function_pointers.glGenProgramPipelines = @ptrCast(proc);
5089 } else {
5090 log.err("entry point glGenProgramPipelines not found!", .{});
5091 success = false;
5092 }
5093 if(get_proc_address(load_ctx, "glDeleteProgramPipelines")) |proc| {
5094 function_pointers.glDeleteProgramPipelines = @ptrCast(proc);
5095 } else {
5096 log.err("entry point glDeleteProgramPipelines not found!", .{});
5097 success = false;
5098 }
5099 if(get_proc_address(load_ctx, "glBindProgramPipeline")) |proc| {
5100 function_pointers.glBindProgramPipeline = @ptrCast(proc);
5101 } else {
5102 log.err("entry point glBindProgramPipeline not found!", .{});
5103 success = false;
5104 }
5105 if(get_proc_address(load_ctx, "glCreateShaderProgramv")) |proc| {
5106 function_pointers.glCreateShaderProgramv = @ptrCast(proc);
5107 } else {
5108 log.err("entry point glCreateShaderProgramv not found!", .{});
5109 success = false;
5110 }
5111 if(get_proc_address(load_ctx, "glActiveShaderProgram")) |proc| {
5112 function_pointers.glActiveShaderProgram = @ptrCast(proc);
5113 } else {
5114 log.err("entry point glActiveShaderProgram not found!", .{});
5115 success = false;
5116 }
5117 if(get_proc_address(load_ctx, "glProgramBinary")) |proc| {
5118 function_pointers.glProgramBinary = @ptrCast(proc);
5119 } else {
5120 log.err("entry point glProgramBinary not found!", .{});
5121 success = false;
5122 }
5123 if(get_proc_address(load_ctx, "glGetProgramBinary")) |proc| {
5124 function_pointers.glGetProgramBinary = @ptrCast(proc);
5125 } else {
5126 log.err("entry point glGetProgramBinary not found!", .{});
5127 success = false;
5128 }
5129 if(get_proc_address(load_ctx, "glClearDepthf")) |proc| {
5130 function_pointers.glClearDepthf = @ptrCast(proc);
5131 } else {
5132 log.err("entry point glClearDepthf not found!", .{});
5133 success = false;
5134 }
5135 if(get_proc_address(load_ctx, "glDepthRangef")) |proc| {
5136 function_pointers.glDepthRangef = @ptrCast(proc);
5137 } else {
5138 log.err("entry point glDepthRangef not found!", .{});
5139 success = false;
5140 }
5141 if(get_proc_address(load_ctx, "glIsTransformFeedback")) |proc| {
5142 function_pointers.glIsTransformFeedback = @ptrCast(proc);
5143 } else {
5144 log.err("entry point glIsTransformFeedback not found!", .{});
5145 success = false;
5146 }
5147 if(get_proc_address(load_ctx, "glGenTransformFeedbacks")) |proc| {
5148 function_pointers.glGenTransformFeedbacks = @ptrCast(proc);
5149 } else {
5150 log.err("entry point glGenTransformFeedbacks not found!", .{});
5151 success = false;
5152 }
5153 if(get_proc_address(load_ctx, "glDeleteTransformFeedbacks")) |proc| {
5154 function_pointers.glDeleteTransformFeedbacks = @ptrCast(proc);
5155 } else {
5156 log.err("entry point glDeleteTransformFeedbacks not found!", .{});
5157 success = false;
5158 }
5159 if(get_proc_address(load_ctx, "glBindTransformFeedback")) |proc| {
5160 function_pointers.glBindTransformFeedback = @ptrCast(proc);
5161 } else {
5162 log.err("entry point glBindTransformFeedback not found!", .{});
5163 success = false;
5164 }
5165 if(get_proc_address(load_ctx, "glPatchParameterfv")) |proc| {
5166 function_pointers.glPatchParameterfv = @ptrCast(proc);
5167 } else {
5168 log.err("entry point glPatchParameterfv not found!", .{});
5169 success = false;
5170 }
5171 if(get_proc_address(load_ctx, "glPatchParameteri")) |proc| {
5172 function_pointers.glPatchParameteri = @ptrCast(proc);
5173 } else {
5174 log.err("entry point glPatchParameteri not found!", .{});
5175 success = false;
5176 }
5177 if(get_proc_address(load_ctx, "glDrawArrays")) |proc| {
5178 function_pointers.glDrawArrays = @ptrCast(proc);
5179 } else {
5180 log.err("entry point glDrawArrays not found!", .{});
5181 success = false;
5182 }
5183 if(get_proc_address(load_ctx, "glDrawElements")) |proc| {
5184 function_pointers.glDrawElements = @ptrCast(proc);
5185 } else {
5186 log.err("entry point glDrawElements not found!", .{});
5187 success = false;
5188 }
5189 if(get_proc_address(load_ctx, "glPolygonOffset")) |proc| {
5190 function_pointers.glPolygonOffset = @ptrCast(proc);
5191 } else {
5192 log.err("entry point glPolygonOffset not found!", .{});
5193 success = false;
5194 }
5195 if(get_proc_address(load_ctx, "glCopyTexImage1D")) |proc| {
5196 function_pointers.glCopyTexImage1D = @ptrCast(proc);
5197 } else {
5198 log.err("entry point glCopyTexImage1D not found!", .{});
5199 success = false;
5200 }
5201 if(get_proc_address(load_ctx, "glCopyTexImage2D")) |proc| {
5202 function_pointers.glCopyTexImage2D = @ptrCast(proc);
5203 } else {
5204 log.err("entry point glCopyTexImage2D not found!", .{});
5205 success = false;
5206 }
5207 if(get_proc_address(load_ctx, "glCopyTexSubImage1D")) |proc| {
5208 function_pointers.glCopyTexSubImage1D = @ptrCast(proc);
5209 } else {
5210 log.err("entry point glCopyTexSubImage1D not found!", .{});
5211 success = false;
5212 }
5213 if(get_proc_address(load_ctx, "glCopyTexSubImage2D")) |proc| {
5214 function_pointers.glCopyTexSubImage2D = @ptrCast(proc);
5215 } else {
5216 log.err("entry point glCopyTexSubImage2D not found!", .{});
5217 success = false;
5218 }
5219 if(get_proc_address(load_ctx, "glTexSubImage1D")) |proc| {
5220 function_pointers.glTexSubImage1D = @ptrCast(proc);
5221 } else {
5222 log.err("entry point glTexSubImage1D not found!", .{});
5223 success = false;
5224 }
5225 if(get_proc_address(load_ctx, "glTexSubImage2D")) |proc| {
5226 function_pointers.glTexSubImage2D = @ptrCast(proc);
5227 } else {
5228 log.err("entry point glTexSubImage2D not found!", .{});
5229 success = false;
5230 }
5231 if(get_proc_address(load_ctx, "glBindTexture")) |proc| {
5232 function_pointers.glBindTexture = @ptrCast(proc);
5233 } else {
5234 log.err("entry point glBindTexture not found!", .{});
5235 success = false;
5236 }
5237 if(get_proc_address(load_ctx, "glDeleteTextures")) |proc| {
5238 function_pointers.glDeleteTextures = @ptrCast(proc);
5239 } else {
5240 log.err("entry point glDeleteTextures not found!", .{});
5241 success = false;
5242 }
5243 if(get_proc_address(load_ctx, "glGenTextures")) |proc| {
5244 function_pointers.glGenTextures = @ptrCast(proc);
5245 } else {
5246 log.err("entry point glGenTextures not found!", .{});
5247 success = false;
5248 }
5249 if(get_proc_address(load_ctx, "glIsTexture")) |proc| {
5250 function_pointers.glIsTexture = @ptrCast(proc);
5251 } else {
5252 log.err("entry point glIsTexture not found!", .{});
5253 success = false;
5254 }
5255 if(get_proc_address(load_ctx, "glGetActiveSubroutineUniformName")) |proc| {
5256 function_pointers.glGetActiveSubroutineUniformName = @ptrCast(proc);
5257 } else {
5258 log.err("entry point glGetActiveSubroutineUniformName not found!", .{});
5259 success = false;
5260 }
5261 if(get_proc_address(load_ctx, "glGetActiveSubroutineUniformiv")) |proc| {
5262 function_pointers.glGetActiveSubroutineUniformiv = @ptrCast(proc);
5263 } else {
5264 log.err("entry point glGetActiveSubroutineUniformiv not found!", .{});
5265 success = false;
5266 }
5267 if(get_proc_address(load_ctx, "glGetSubroutineIndex")) |proc| {
5268 function_pointers.glGetSubroutineIndex = @ptrCast(proc);
5269 } else {
5270 log.err("entry point glGetSubroutineIndex not found!", .{});
5271 success = false;
5272 }
5273 if(get_proc_address(load_ctx, "glGetSubroutineUniformLocation")) |proc| {
5274 function_pointers.glGetSubroutineUniformLocation = @ptrCast(proc);
5275 } else {
5276 log.err("entry point glGetSubroutineUniformLocation not found!", .{});
5277 success = false;
5278 }
5279 if(get_proc_address(load_ctx, "glGetUniformdv")) |proc| {
5280 function_pointers.glGetUniformdv = @ptrCast(proc);
5281 } else {
5282 log.err("entry point glGetUniformdv not found!", .{});
5283 success = false;
5284 }
5285 if(get_proc_address(load_ctx, "glUniformMatrix4x3dv")) |proc| {
5286 function_pointers.glUniformMatrix4x3dv = @ptrCast(proc);
5287 } else {
5288 log.err("entry point glUniformMatrix4x3dv not found!", .{});
5289 success = false;
5290 }
5291 if(get_proc_address(load_ctx, "glUniformMatrix4x2dv")) |proc| {
5292 function_pointers.glUniformMatrix4x2dv = @ptrCast(proc);
5293 } else {
5294 log.err("entry point glUniformMatrix4x2dv not found!", .{});
5295 success = false;
5296 }
5297 if(get_proc_address(load_ctx, "glUniformMatrix3x4dv")) |proc| {
5298 function_pointers.glUniformMatrix3x4dv = @ptrCast(proc);
5299 } else {
5300 log.err("entry point glUniformMatrix3x4dv not found!", .{});
5301 success = false;
5302 }
5303 if(get_proc_address(load_ctx, "glUniformMatrix3x2dv")) |proc| {
5304 function_pointers.glUniformMatrix3x2dv = @ptrCast(proc);
5305 } else {
5306 log.err("entry point glUniformMatrix3x2dv not found!", .{});
5307 success = false;
5308 }
5309 if(get_proc_address(load_ctx, "glUniformMatrix2x4dv")) |proc| {
5310 function_pointers.glUniformMatrix2x4dv = @ptrCast(proc);
5311 } else {
5312 log.err("entry point glUniformMatrix2x4dv not found!", .{});
5313 success = false;
5314 }
5315 if(get_proc_address(load_ctx, "glUniformMatrix2x3dv")) |proc| {
5316 function_pointers.glUniformMatrix2x3dv = @ptrCast(proc);
5317 } else {
5318 log.err("entry point glUniformMatrix2x3dv not found!", .{});
5319 success = false;
5320 }
5321 if(get_proc_address(load_ctx, "glUniformMatrix4dv")) |proc| {
5322 function_pointers.glUniformMatrix4dv = @ptrCast(proc);
5323 } else {
5324 log.err("entry point glUniformMatrix4dv not found!", .{});
5325 success = false;
5326 }
5327 if(get_proc_address(load_ctx, "glUniformMatrix3dv")) |proc| {
5328 function_pointers.glUniformMatrix3dv = @ptrCast(proc);
5329 } else {
5330 log.err("entry point glUniformMatrix3dv not found!", .{});
5331 success = false;
5332 }
5333 if(get_proc_address(load_ctx, "glDrawRangeElements")) |proc| {
5334 function_pointers.glDrawRangeElements = @ptrCast(proc);
5335 } else {
5336 log.err("entry point glDrawRangeElements not found!", .{});
5337 success = false;
5338 }
5339 if(get_proc_address(load_ctx, "glTexImage3D")) |proc| {
5340 function_pointers.glTexImage3D = @ptrCast(proc);
5341 } else {
5342 log.err("entry point glTexImage3D not found!", .{});
5343 success = false;
5344 }
5345 if(get_proc_address(load_ctx, "glTexSubImage3D")) |proc| {
5346 function_pointers.glTexSubImage3D = @ptrCast(proc);
5347 } else {
5348 log.err("entry point glTexSubImage3D not found!", .{});
5349 success = false;
5350 }
5351 if(get_proc_address(load_ctx, "glCopyTexSubImage3D")) |proc| {
5352 function_pointers.glCopyTexSubImage3D = @ptrCast(proc);
5353 } else {
5354 log.err("entry point glCopyTexSubImage3D not found!", .{});
5355 success = false;
5356 }
5357 if(get_proc_address(load_ctx, "glUniformMatrix2dv")) |proc| {
5358 function_pointers.glUniformMatrix2dv = @ptrCast(proc);
5359 } else {
5360 log.err("entry point glUniformMatrix2dv not found!", .{});
5361 success = false;
5362 }
5363 if(get_proc_address(load_ctx, "glUniform4dv")) |proc| {
5364 function_pointers.glUniform4dv = @ptrCast(proc);
5365 } else {
5366 log.err("entry point glUniform4dv not found!", .{});
5367 success = false;
5368 }
5369 if(get_proc_address(load_ctx, "glUniform3dv")) |proc| {
5370 function_pointers.glUniform3dv = @ptrCast(proc);
5371 } else {
5372 log.err("entry point glUniform3dv not found!", .{});
5373 success = false;
5374 }
5375 if(get_proc_address(load_ctx, "glUniform2dv")) |proc| {
5376 function_pointers.glUniform2dv = @ptrCast(proc);
5377 } else {
5378 log.err("entry point glUniform2dv not found!", .{});
5379 success = false;
5380 }
5381 if(get_proc_address(load_ctx, "glUniform1dv")) |proc| {
5382 function_pointers.glUniform1dv = @ptrCast(proc);
5383 } else {
5384 log.err("entry point glUniform1dv not found!", .{});
5385 success = false;
5386 }
5387 if(get_proc_address(load_ctx, "glUniform4d")) |proc| {
5388 function_pointers.glUniform4d = @ptrCast(proc);
5389 } else {
5390 log.err("entry point glUniform4d not found!", .{});
5391 success = false;
5392 }
5393 if(get_proc_address(load_ctx, "glUniform3d")) |proc| {
5394 function_pointers.glUniform3d = @ptrCast(proc);
5395 } else {
5396 log.err("entry point glUniform3d not found!", .{});
5397 success = false;
5398 }
5399 if(get_proc_address(load_ctx, "glUniform2d")) |proc| {
5400 function_pointers.glUniform2d = @ptrCast(proc);
5401 } else {
5402 log.err("entry point glUniform2d not found!", .{});
5403 success = false;
5404 }
5405 if(get_proc_address(load_ctx, "glUniform1d")) |proc| {
5406 function_pointers.glUniform1d = @ptrCast(proc);
5407 } else {
5408 log.err("entry point glUniform1d not found!", .{});
5409 success = false;
5410 }
5411 if(get_proc_address(load_ctx, "glDrawElementsIndirect")) |proc| {
5412 function_pointers.glDrawElementsIndirect = @ptrCast(proc);
5413 } else {
5414 log.err("entry point glDrawElementsIndirect not found!", .{});
5415 success = false;
5416 }
5417 if(get_proc_address(load_ctx, "glDrawArraysIndirect")) |proc| {
5418 function_pointers.glDrawArraysIndirect = @ptrCast(proc);
5419 } else {
5420 log.err("entry point glDrawArraysIndirect not found!", .{});
5421 success = false;
5422 }
5423 if(get_proc_address(load_ctx, "glBlendFuncSeparatei")) |proc| {
5424 function_pointers.glBlendFuncSeparatei = @ptrCast(proc);
5425 } else {
5426 log.err("entry point glBlendFuncSeparatei not found!", .{});
5427 success = false;
5428 }
5429 if(get_proc_address(load_ctx, "glBlendFunci")) |proc| {
5430 function_pointers.glBlendFunci = @ptrCast(proc);
5431 } else {
5432 log.err("entry point glBlendFunci not found!", .{});
5433 success = false;
5434 }
5435 if(get_proc_address(load_ctx, "glBlendEquationSeparatei")) |proc| {
5436 function_pointers.glBlendEquationSeparatei = @ptrCast(proc);
5437 } else {
5438 log.err("entry point glBlendEquationSeparatei not found!", .{});
5439 success = false;
5440 }
5441 if(get_proc_address(load_ctx, "glBlendEquationi")) |proc| {
5442 function_pointers.glBlendEquationi = @ptrCast(proc);
5443 } else {
5444 log.err("entry point glBlendEquationi not found!", .{});
5445 success = false;
5446 }
5447 if(get_proc_address(load_ctx, "glMinSampleShading")) |proc| {
5448 function_pointers.glMinSampleShading = @ptrCast(proc);
5449 } else {
5450 log.err("entry point glMinSampleShading not found!", .{});
5451 success = false;
5452 }
5453 if(get_proc_address(load_ctx, "glActiveTexture")) |proc| {
5454 function_pointers.glActiveTexture = @ptrCast(proc);
5455 } else {
5456 log.err("entry point glActiveTexture not found!", .{});
5457 success = false;
5458 }
5459 if(get_proc_address(load_ctx, "glSampleCoverage")) |proc| {
5460 function_pointers.glSampleCoverage = @ptrCast(proc);
5461 } else {
5462 log.err("entry point glSampleCoverage not found!", .{});
5463 success = false;
5464 }
5465 if(get_proc_address(load_ctx, "glCompressedTexImage3D")) |proc| {
5466 function_pointers.glCompressedTexImage3D = @ptrCast(proc);
5467 } else {
5468 log.err("entry point glCompressedTexImage3D not found!", .{});
5469 success = false;
5470 }
5471 if(get_proc_address(load_ctx, "glCompressedTexImage2D")) |proc| {
5472 function_pointers.glCompressedTexImage2D = @ptrCast(proc);
5473 } else {
5474 log.err("entry point glCompressedTexImage2D not found!", .{});
5475 success = false;
5476 }
5477 if(get_proc_address(load_ctx, "glCompressedTexImage1D")) |proc| {
5478 function_pointers.glCompressedTexImage1D = @ptrCast(proc);
5479 } else {
5480 log.err("entry point glCompressedTexImage1D not found!", .{});
5481 success = false;
5482 }
5483 if(get_proc_address(load_ctx, "glCompressedTexSubImage3D")) |proc| {
5484 function_pointers.glCompressedTexSubImage3D = @ptrCast(proc);
5485 } else {
5486 log.err("entry point glCompressedTexSubImage3D not found!", .{});
5487 success = false;
5488 }
5489 if(get_proc_address(load_ctx, "glCompressedTexSubImage2D")) |proc| {
5490 function_pointers.glCompressedTexSubImage2D = @ptrCast(proc);
5491 } else {
5492 log.err("entry point glCompressedTexSubImage2D not found!", .{});
5493 success = false;
5494 }
5495 if(get_proc_address(load_ctx, "glCompressedTexSubImage1D")) |proc| {
5496 function_pointers.glCompressedTexSubImage1D = @ptrCast(proc);
5497 } else {
5498 log.err("entry point glCompressedTexSubImage1D not found!", .{});
5499 success = false;
5500 }
5501 if(get_proc_address(load_ctx, "glGetCompressedTexImage")) |proc| {
5502 function_pointers.glGetCompressedTexImage = @ptrCast(proc);
5503 } else {
5504 log.err("entry point glGetCompressedTexImage not found!", .{});
5505 success = false;
5506 }
5507 if(get_proc_address(load_ctx, "glVertexAttribP4uiv")) |proc| {
5508 function_pointers.glVertexAttribP4uiv = @ptrCast(proc);
5509 } else {
5510 log.err("entry point glVertexAttribP4uiv not found!", .{});
5511 success = false;
5512 }
5513 if(get_proc_address(load_ctx, "glVertexAttribP4ui")) |proc| {
5514 function_pointers.glVertexAttribP4ui = @ptrCast(proc);
5515 } else {
5516 log.err("entry point glVertexAttribP4ui not found!", .{});
5517 success = false;
5518 }
5519 if(get_proc_address(load_ctx, "glVertexAttribP3uiv")) |proc| {
5520 function_pointers.glVertexAttribP3uiv = @ptrCast(proc);
5521 } else {
5522 log.err("entry point glVertexAttribP3uiv not found!", .{});
5523 success = false;
5524 }
5525 if(get_proc_address(load_ctx, "glVertexAttribP3ui")) |proc| {
5526 function_pointers.glVertexAttribP3ui = @ptrCast(proc);
5527 } else {
5528 log.err("entry point glVertexAttribP3ui not found!", .{});
5529 success = false;
5530 }
5531 if(get_proc_address(load_ctx, "glVertexAttribP2uiv")) |proc| {
5532 function_pointers.glVertexAttribP2uiv = @ptrCast(proc);
5533 } else {
5534 log.err("entry point glVertexAttribP2uiv not found!", .{});
5535 success = false;
5536 }
5537 if(get_proc_address(load_ctx, "glVertexAttribP2ui")) |proc| {
5538 function_pointers.glVertexAttribP2ui = @ptrCast(proc);
5539 } else {
5540 log.err("entry point glVertexAttribP2ui not found!", .{});
5541 success = false;
5542 }
5543 if(get_proc_address(load_ctx, "glVertexAttribP1uiv")) |proc| {
5544 function_pointers.glVertexAttribP1uiv = @ptrCast(proc);
5545 } else {
5546 log.err("entry point glVertexAttribP1uiv not found!", .{});
5547 success = false;
5548 }
5549 if(get_proc_address(load_ctx, "glVertexAttribP1ui")) |proc| {
5550 function_pointers.glVertexAttribP1ui = @ptrCast(proc);
5551 } else {
5552 log.err("entry point glVertexAttribP1ui not found!", .{});
5553 success = false;
5554 }
5555 if(get_proc_address(load_ctx, "glVertexAttribDivisor")) |proc| {
5556 function_pointers.glVertexAttribDivisor = @ptrCast(proc);
5557 } else {
5558 log.err("entry point glVertexAttribDivisor not found!", .{});
5559 success = false;
5560 }
5561 if(get_proc_address(load_ctx, "glGetQueryObjectui64v")) |proc| {
5562 function_pointers.glGetQueryObjectui64v = @ptrCast(proc);
5563 } else {
5564 log.err("entry point glGetQueryObjectui64v not found!", .{});
5565 success = false;
5566 }
5567 if(get_proc_address(load_ctx, "glGetQueryObjecti64v")) |proc| {
5568 function_pointers.glGetQueryObjecti64v = @ptrCast(proc);
5569 } else {
5570 log.err("entry point glGetQueryObjecti64v not found!", .{});
5571 success = false;
5572 }
5573 if(get_proc_address(load_ctx, "glQueryCounter")) |proc| {
5574 function_pointers.glQueryCounter = @ptrCast(proc);
5575 } else {
5576 log.err("entry point glQueryCounter not found!", .{});
5577 success = false;
5578 }
5579 if(get_proc_address(load_ctx, "glGetSamplerParameterIuiv")) |proc| {
5580 function_pointers.glGetSamplerParameterIuiv = @ptrCast(proc);
5581 } else {
5582 log.err("entry point glGetSamplerParameterIuiv not found!", .{});
5583 success = false;
5584 }
5585 if(get_proc_address(load_ctx, "glGetSamplerParameterfv")) |proc| {
5586 function_pointers.glGetSamplerParameterfv = @ptrCast(proc);
5587 } else {
5588 log.err("entry point glGetSamplerParameterfv not found!", .{});
5589 success = false;
5590 }
5591 if(get_proc_address(load_ctx, "glGetSamplerParameterIiv")) |proc| {
5592 function_pointers.glGetSamplerParameterIiv = @ptrCast(proc);
5593 } else {
5594 log.err("entry point glGetSamplerParameterIiv not found!", .{});
5595 success = false;
5596 }
5597 if(get_proc_address(load_ctx, "glGetSamplerParameteriv")) |proc| {
5598 function_pointers.glGetSamplerParameteriv = @ptrCast(proc);
5599 } else {
5600 log.err("entry point glGetSamplerParameteriv not found!", .{});
5601 success = false;
5602 }
5603 if(get_proc_address(load_ctx, "glSamplerParameterIuiv")) |proc| {
5604 function_pointers.glSamplerParameterIuiv = @ptrCast(proc);
5605 } else {
5606 log.err("entry point glSamplerParameterIuiv not found!", .{});
5607 success = false;
5608 }
5609 if(get_proc_address(load_ctx, "glSamplerParameterIiv")) |proc| {
5610 function_pointers.glSamplerParameterIiv = @ptrCast(proc);
5611 } else {
5612 log.err("entry point glSamplerParameterIiv not found!", .{});
5613 success = false;
5614 }
5615 if(get_proc_address(load_ctx, "glSamplerParameterfv")) |proc| {
5616 function_pointers.glSamplerParameterfv = @ptrCast(proc);
5617 } else {
5618 log.err("entry point glSamplerParameterfv not found!", .{});
5619 success = false;
5620 }
5621 if(get_proc_address(load_ctx, "glSamplerParameterf")) |proc| {
5622 function_pointers.glSamplerParameterf = @ptrCast(proc);
5623 } else {
5624 log.err("entry point glSamplerParameterf not found!", .{});
5625 success = false;
5626 }
5627 if(get_proc_address(load_ctx, "glSamplerParameteriv")) |proc| {
5628 function_pointers.glSamplerParameteriv = @ptrCast(proc);
5629 } else {
5630 log.err("entry point glSamplerParameteriv not found!", .{});
5631 success = false;
5632 }
5633 if(get_proc_address(load_ctx, "glSamplerParameteri")) |proc| {
5634 function_pointers.glSamplerParameteri = @ptrCast(proc);
5635 } else {
5636 log.err("entry point glSamplerParameteri not found!", .{});
5637 success = false;
5638 }
5639 if(get_proc_address(load_ctx, "glBindSampler")) |proc| {
5640 function_pointers.glBindSampler = @ptrCast(proc);
5641 } else {
5642 log.err("entry point glBindSampler not found!", .{});
5643 success = false;
5644 }
5645 if(get_proc_address(load_ctx, "glIsSampler")) |proc| {
5646 function_pointers.glIsSampler = @ptrCast(proc);
5647 } else {
5648 log.err("entry point glIsSampler not found!", .{});
5649 success = false;
5650 }
5651 if(get_proc_address(load_ctx, "glDeleteSamplers")) |proc| {
5652 function_pointers.glDeleteSamplers = @ptrCast(proc);
5653 } else {
5654 log.err("entry point glDeleteSamplers not found!", .{});
5655 success = false;
5656 }
5657 if(get_proc_address(load_ctx, "glGenSamplers")) |proc| {
5658 function_pointers.glGenSamplers = @ptrCast(proc);
5659 } else {
5660 log.err("entry point glGenSamplers not found!", .{});
5661 success = false;
5662 }
5663 if(get_proc_address(load_ctx, "glGetFragDataIndex")) |proc| {
5664 function_pointers.glGetFragDataIndex = @ptrCast(proc);
5665 } else {
5666 log.err("entry point glGetFragDataIndex not found!", .{});
5667 success = false;
5668 }
5669 if(get_proc_address(load_ctx, "glBindFragDataLocationIndexed")) |proc| {
5670 function_pointers.glBindFragDataLocationIndexed = @ptrCast(proc);
5671 } else {
5672 log.err("entry point glBindFragDataLocationIndexed not found!", .{});
5673 success = false;
5674 }
5675 if(get_proc_address(load_ctx, "glSampleMaski")) |proc| {
5676 function_pointers.glSampleMaski = @ptrCast(proc);
5677 } else {
5678 log.err("entry point glSampleMaski not found!", .{});
5679 success = false;
5680 }
5681 if(get_proc_address(load_ctx, "glGetMultisamplefv")) |proc| {
5682 function_pointers.glGetMultisamplefv = @ptrCast(proc);
5683 } else {
5684 log.err("entry point glGetMultisamplefv not found!", .{});
5685 success = false;
5686 }
5687 if(get_proc_address(load_ctx, "glTexImage3DMultisample")) |proc| {
5688 function_pointers.glTexImage3DMultisample = @ptrCast(proc);
5689 } else {
5690 log.err("entry point glTexImage3DMultisample not found!", .{});
5691 success = false;
5692 }
5693 if(get_proc_address(load_ctx, "glTexImage2DMultisample")) |proc| {
5694 function_pointers.glTexImage2DMultisample = @ptrCast(proc);
5695 } else {
5696 log.err("entry point glTexImage2DMultisample not found!", .{});
5697 success = false;
5698 }
5699 if(get_proc_address(load_ctx, "glFramebufferTexture")) |proc| {
5700 function_pointers.glFramebufferTexture = @ptrCast(proc);
5701 } else {
5702 log.err("entry point glFramebufferTexture not found!", .{});
5703 success = false;
5704 }
5705 if(get_proc_address(load_ctx, "glGetBufferParameteri64v")) |proc| {
5706 function_pointers.glGetBufferParameteri64v = @ptrCast(proc);
5707 } else {
5708 log.err("entry point glGetBufferParameteri64v not found!", .{});
5709 success = false;
5710 }
5711 if(get_proc_address(load_ctx, "glBlendFuncSeparate")) |proc| {
5712 function_pointers.glBlendFuncSeparate = @ptrCast(proc);
5713 } else {
5714 log.err("entry point glBlendFuncSeparate not found!", .{});
5715 success = false;
5716 }
5717 if(get_proc_address(load_ctx, "glMultiDrawArrays")) |proc| {
5718 function_pointers.glMultiDrawArrays = @ptrCast(proc);
5719 } else {
5720 log.err("entry point glMultiDrawArrays not found!", .{});
5721 success = false;
5722 }
5723 if(get_proc_address(load_ctx, "glMultiDrawElements")) |proc| {
5724 function_pointers.glMultiDrawElements = @ptrCast(proc);
5725 } else {
5726 log.err("entry point glMultiDrawElements not found!", .{});
5727 success = false;
5728 }
5729 if(get_proc_address(load_ctx, "glPointParameterf")) |proc| {
5730 function_pointers.glPointParameterf = @ptrCast(proc);
5731 } else {
5732 log.err("entry point glPointParameterf not found!", .{});
5733 success = false;
5734 }
5735 if(get_proc_address(load_ctx, "glPointParameterfv")) |proc| {
5736 function_pointers.glPointParameterfv = @ptrCast(proc);
5737 } else {
5738 log.err("entry point glPointParameterfv not found!", .{});
5739 success = false;
5740 }
5741 if(get_proc_address(load_ctx, "glPointParameteri")) |proc| {
5742 function_pointers.glPointParameteri = @ptrCast(proc);
5743 } else {
5744 log.err("entry point glPointParameteri not found!", .{});
5745 success = false;
5746 }
5747 if(get_proc_address(load_ctx, "glPointParameteriv")) |proc| {
5748 function_pointers.glPointParameteriv = @ptrCast(proc);
5749 } else {
5750 log.err("entry point glPointParameteriv not found!", .{});
5751 success = false;
5752 }
5753 if(get_proc_address(load_ctx, "glGetInteger64i_v")) |proc| {
5754 function_pointers.glGetInteger64i_v = @ptrCast(proc);
5755 } else {
5756 log.err("entry point glGetInteger64i_v not found!", .{});
5757 success = false;
5758 }
5759 if(get_proc_address(load_ctx, "glGetSynciv")) |proc| {
5760 function_pointers.glGetSynciv = @ptrCast(proc);
5761 } else {
5762 log.err("entry point glGetSynciv not found!", .{});
5763 success = false;
5764 }
5765 if(get_proc_address(load_ctx, "glGetInteger64v")) |proc| {
5766 function_pointers.glGetInteger64v = @ptrCast(proc);
5767 } else {
5768 log.err("entry point glGetInteger64v not found!", .{});
5769 success = false;
5770 }
5771 if(get_proc_address(load_ctx, "glWaitSync")) |proc| {
5772 function_pointers.glWaitSync = @ptrCast(proc);
5773 } else {
5774 log.err("entry point glWaitSync not found!", .{});
5775 success = false;
5776 }
5777 if(get_proc_address(load_ctx, "glClientWaitSync")) |proc| {
5778 function_pointers.glClientWaitSync = @ptrCast(proc);
5779 } else {
5780 log.err("entry point glClientWaitSync not found!", .{});
5781 success = false;
5782 }
5783 if(get_proc_address(load_ctx, "glDeleteSync")) |proc| {
5784 function_pointers.glDeleteSync = @ptrCast(proc);
5785 } else {
5786 log.err("entry point glDeleteSync not found!", .{});
5787 success = false;
5788 }
5789 if(get_proc_address(load_ctx, "glIsSync")) |proc| {
5790 function_pointers.glIsSync = @ptrCast(proc);
5791 } else {
5792 log.err("entry point glIsSync not found!", .{});
5793 success = false;
5794 }
5795 if(get_proc_address(load_ctx, "glFenceSync")) |proc| {
5796 function_pointers.glFenceSync = @ptrCast(proc);
5797 } else {
5798 log.err("entry point glFenceSync not found!", .{});
5799 success = false;
5800 }
5801 if(get_proc_address(load_ctx, "glBlendColor")) |proc| {
5802 function_pointers.glBlendColor = @ptrCast(proc);
5803 } else {
5804 log.err("entry point glBlendColor not found!", .{});
5805 success = false;
5806 }
5807 if(get_proc_address(load_ctx, "glBlendEquation")) |proc| {
5808 function_pointers.glBlendEquation = @ptrCast(proc);
5809 } else {
5810 log.err("entry point glBlendEquation not found!", .{});
5811 success = false;
5812 }
5813 if(get_proc_address(load_ctx, "glProvokingVertex")) |proc| {
5814 function_pointers.glProvokingVertex = @ptrCast(proc);
5815 } else {
5816 log.err("entry point glProvokingVertex not found!", .{});
5817 success = false;
5818 }
5819 if(get_proc_address(load_ctx, "glMultiDrawElementsBaseVertex")) |proc| {
5820 function_pointers.glMultiDrawElementsBaseVertex = @ptrCast(proc);
5821 } else {
5822 log.err("entry point glMultiDrawElementsBaseVertex not found!", .{});
5823 success = false;
5824 }
5825 if(get_proc_address(load_ctx, "glDrawElementsInstancedBaseVertex")) |proc| {
5826 function_pointers.glDrawElementsInstancedBaseVertex = @ptrCast(proc);
5827 } else {
5828 log.err("entry point glDrawElementsInstancedBaseVertex not found!", .{});
5829 success = false;
5830 }
5831 if(get_proc_address(load_ctx, "glDrawRangeElementsBaseVertex")) |proc| {
5832 function_pointers.glDrawRangeElementsBaseVertex = @ptrCast(proc);
5833 } else {
5834 log.err("entry point glDrawRangeElementsBaseVertex not found!", .{});
5835 success = false;
5836 }
5837 if(get_proc_address(load_ctx, "glDrawElementsBaseVertex")) |proc| {
5838 function_pointers.glDrawElementsBaseVertex = @ptrCast(proc);
5839 } else {
5840 log.err("entry point glDrawElementsBaseVertex not found!", .{});
5841 success = false;
5842 }
5843 if(get_proc_address(load_ctx, "glGenQueries")) |proc| {
5844 function_pointers.glGenQueries = @ptrCast(proc);
5845 } else {
5846 log.err("entry point glGenQueries not found!", .{});
5847 success = false;
5848 }
5849 if(get_proc_address(load_ctx, "glDeleteQueries")) |proc| {
5850 function_pointers.glDeleteQueries = @ptrCast(proc);
5851 } else {
5852 log.err("entry point glDeleteQueries not found!", .{});
5853 success = false;
5854 }
5855 if(get_proc_address(load_ctx, "glIsQuery")) |proc| {
5856 function_pointers.glIsQuery = @ptrCast(proc);
5857 } else {
5858 log.err("entry point glIsQuery not found!", .{});
5859 success = false;
5860 }
5861 if(get_proc_address(load_ctx, "glBeginQuery")) |proc| {
5862 function_pointers.glBeginQuery = @ptrCast(proc);
5863 } else {
5864 log.err("entry point glBeginQuery not found!", .{});
5865 success = false;
5866 }
5867 if(get_proc_address(load_ctx, "glEndQuery")) |proc| {
5868 function_pointers.glEndQuery = @ptrCast(proc);
5869 } else {
5870 log.err("entry point glEndQuery not found!", .{});
5871 success = false;
5872 }
5873 if(get_proc_address(load_ctx, "glGetQueryiv")) |proc| {
5874 function_pointers.glGetQueryiv = @ptrCast(proc);
5875 } else {
5876 log.err("entry point glGetQueryiv not found!", .{});
5877 success = false;
5878 }
5879 if(get_proc_address(load_ctx, "glGetQueryObjectiv")) |proc| {
5880 function_pointers.glGetQueryObjectiv = @ptrCast(proc);
5881 } else {
5882 log.err("entry point glGetQueryObjectiv not found!", .{});
5883 success = false;
5884 }
5885 if(get_proc_address(load_ctx, "glGetQueryObjectuiv")) |proc| {
5886 function_pointers.glGetQueryObjectuiv = @ptrCast(proc);
5887 } else {
5888 log.err("entry point glGetQueryObjectuiv not found!", .{});
5889 success = false;
5890 }
5891 if(get_proc_address(load_ctx, "glBindBuffer")) |proc| {
5892 function_pointers.glBindBuffer = @ptrCast(proc);
5893 } else {
5894 log.err("entry point glBindBuffer not found!", .{});
5895 success = false;
5896 }
5897 if(get_proc_address(load_ctx, "glDeleteBuffers")) |proc| {
5898 function_pointers.glDeleteBuffers = @ptrCast(proc);
5899 } else {
5900 log.err("entry point glDeleteBuffers not found!", .{});
5901 success = false;
5902 }
5903 if(get_proc_address(load_ctx, "glGenBuffers")) |proc| {
5904 function_pointers.glGenBuffers = @ptrCast(proc);
5905 } else {
5906 log.err("entry point glGenBuffers not found!", .{});
5907 success = false;
5908 }
5909 if(get_proc_address(load_ctx, "glIsBuffer")) |proc| {
5910 function_pointers.glIsBuffer = @ptrCast(proc);
5911 } else {
5912 log.err("entry point glIsBuffer not found!", .{});
5913 success = false;
5914 }
5915 if(get_proc_address(load_ctx, "glBufferData")) |proc| {
5916 function_pointers.glBufferData = @ptrCast(proc);
5917 } else {
5918 log.err("entry point glBufferData not found!", .{});
5919 success = false;
5920 }
5921 if(get_proc_address(load_ctx, "glBufferSubData")) |proc| {
5922 function_pointers.glBufferSubData = @ptrCast(proc);
5923 } else {
5924 log.err("entry point glBufferSubData not found!", .{});
5925 success = false;
5926 }
5927 if(get_proc_address(load_ctx, "glGetBufferSubData")) |proc| {
5928 function_pointers.glGetBufferSubData = @ptrCast(proc);
5929 } else {
5930 log.err("entry point glGetBufferSubData not found!", .{});
5931 success = false;
5932 }
5933 if(get_proc_address(load_ctx, "glMapBuffer")) |proc| {
5934 function_pointers.glMapBuffer = @ptrCast(proc);
5935 } else {
5936 log.err("entry point glMapBuffer not found!", .{});
5937 success = false;
5938 }
5939 if(get_proc_address(load_ctx, "glUnmapBuffer")) |proc| {
5940 function_pointers.glUnmapBuffer = @ptrCast(proc);
5941 } else {
5942 log.err("entry point glUnmapBuffer not found!", .{});
5943 success = false;
5944 }
5945 if(get_proc_address(load_ctx, "glGetBufferParameteriv")) |proc| {
5946 function_pointers.glGetBufferParameteriv = @ptrCast(proc);
5947 } else {
5948 log.err("entry point glGetBufferParameteriv not found!", .{});
5949 success = false;
5950 }
5951 if(get_proc_address(load_ctx, "glGetBufferPointerv")) |proc| {
5952 function_pointers.glGetBufferPointerv = @ptrCast(proc);
5953 } else {
5954 log.err("entry point glGetBufferPointerv not found!", .{});
5955 success = false;
5956 }
5957 if(get_proc_address(load_ctx, "glBlendEquationSeparate")) |proc| {
5958 function_pointers.glBlendEquationSeparate = @ptrCast(proc);
5959 } else {
5960 log.err("entry point glBlendEquationSeparate not found!", .{});
5961 success = false;
5962 }
5963 if(get_proc_address(load_ctx, "glDrawBuffers")) |proc| {
5964 function_pointers.glDrawBuffers = @ptrCast(proc);
5965 } else {
5966 log.err("entry point glDrawBuffers not found!", .{});
5967 success = false;
5968 }
5969 if(get_proc_address(load_ctx, "glStencilOpSeparate")) |proc| {
5970 function_pointers.glStencilOpSeparate = @ptrCast(proc);
5971 } else {
5972 log.err("entry point glStencilOpSeparate not found!", .{});
5973 success = false;
5974 }
5975 if(get_proc_address(load_ctx, "glStencilFuncSeparate")) |proc| {
5976 function_pointers.glStencilFuncSeparate = @ptrCast(proc);
5977 } else {
5978 log.err("entry point glStencilFuncSeparate not found!", .{});
5979 success = false;
5980 }
5981 if(get_proc_address(load_ctx, "glStencilMaskSeparate")) |proc| {
5982 function_pointers.glStencilMaskSeparate = @ptrCast(proc);
5983 } else {
5984 log.err("entry point glStencilMaskSeparate not found!", .{});
5985 success = false;
5986 }
5987 if(get_proc_address(load_ctx, "glAttachShader")) |proc| {
5988 function_pointers.glAttachShader = @ptrCast(proc);
5989 } else {
5990 log.err("entry point glAttachShader not found!", .{});
5991 success = false;
5992 }
5993 if(get_proc_address(load_ctx, "glBindAttribLocation")) |proc| {
5994 function_pointers.glBindAttribLocation = @ptrCast(proc);
5995 } else {
5996 log.err("entry point glBindAttribLocation not found!", .{});
5997 success = false;
5998 }
5999 if(get_proc_address(load_ctx, "glCompileShader")) |proc| {
6000 function_pointers.glCompileShader = @ptrCast(proc);
6001 } else {
6002 log.err("entry point glCompileShader not found!", .{});
6003 success = false;
6004 }
6005 if(get_proc_address(load_ctx, "glCreateProgram")) |proc| {
6006 function_pointers.glCreateProgram = @ptrCast(proc);
6007 } else {
6008 log.err("entry point glCreateProgram not found!", .{});
6009 success = false;
6010 }
6011 if(get_proc_address(load_ctx, "glCreateShader")) |proc| {
6012 function_pointers.glCreateShader = @ptrCast(proc);
6013 } else {
6014 log.err("entry point glCreateShader not found!", .{});
6015 success = false;
6016 }
6017 if(get_proc_address(load_ctx, "glDeleteProgram")) |proc| {
6018 function_pointers.glDeleteProgram = @ptrCast(proc);
6019 } else {
6020 log.err("entry point glDeleteProgram not found!", .{});
6021 success = false;
6022 }
6023 if(get_proc_address(load_ctx, "glDeleteShader")) |proc| {
6024 function_pointers.glDeleteShader = @ptrCast(proc);
6025 } else {
6026 log.err("entry point glDeleteShader not found!", .{});
6027 success = false;
6028 }
6029 if(get_proc_address(load_ctx, "glDetachShader")) |proc| {
6030 function_pointers.glDetachShader = @ptrCast(proc);
6031 } else {
6032 log.err("entry point glDetachShader not found!", .{});
6033 success = false;
6034 }
6035 if(get_proc_address(load_ctx, "glDisableVertexAttribArray")) |proc| {
6036 function_pointers.glDisableVertexAttribArray = @ptrCast(proc);
6037 } else {
6038 log.err("entry point glDisableVertexAttribArray not found!", .{});
6039 success = false;
6040 }
6041 if(get_proc_address(load_ctx, "glEnableVertexAttribArray")) |proc| {
6042 function_pointers.glEnableVertexAttribArray = @ptrCast(proc);
6043 } else {
6044 log.err("entry point glEnableVertexAttribArray not found!", .{});
6045 success = false;
6046 }
6047 if(get_proc_address(load_ctx, "glGetActiveAttrib")) |proc| {
6048 function_pointers.glGetActiveAttrib = @ptrCast(proc);
6049 } else {
6050 log.err("entry point glGetActiveAttrib not found!", .{});
6051 success = false;
6052 }
6053 if(get_proc_address(load_ctx, "glGetActiveUniform")) |proc| {
6054 function_pointers.glGetActiveUniform = @ptrCast(proc);
6055 } else {
6056 log.err("entry point glGetActiveUniform not found!", .{});
6057 success = false;
6058 }
6059 if(get_proc_address(load_ctx, "glGetAttachedShaders")) |proc| {
6060 function_pointers.glGetAttachedShaders = @ptrCast(proc);
6061 } else {
6062 log.err("entry point glGetAttachedShaders not found!", .{});
6063 success = false;
6064 }
6065 if(get_proc_address(load_ctx, "glGetAttribLocation")) |proc| {
6066 function_pointers.glGetAttribLocation = @ptrCast(proc);
6067 } else {
6068 log.err("entry point glGetAttribLocation not found!", .{});
6069 success = false;
6070 }
6071 if(get_proc_address(load_ctx, "glGetProgramiv")) |proc| {
6072 function_pointers.glGetProgramiv = @ptrCast(proc);
6073 } else {
6074 log.err("entry point glGetProgramiv not found!", .{});
6075 success = false;
6076 }
6077 if(get_proc_address(load_ctx, "glGetProgramInfoLog")) |proc| {
6078 function_pointers.glGetProgramInfoLog = @ptrCast(proc);
6079 } else {
6080 log.err("entry point glGetProgramInfoLog not found!", .{});
6081 success = false;
6082 }
6083 if(get_proc_address(load_ctx, "glGetShaderiv")) |proc| {
6084 function_pointers.glGetShaderiv = @ptrCast(proc);
6085 } else {
6086 log.err("entry point glGetShaderiv not found!", .{});
6087 success = false;
6088 }
6089 if(get_proc_address(load_ctx, "glGetShaderInfoLog")) |proc| {
6090 function_pointers.glGetShaderInfoLog = @ptrCast(proc);
6091 } else {
6092 log.err("entry point glGetShaderInfoLog not found!", .{});
6093 success = false;
6094 }
6095 if(get_proc_address(load_ctx, "glGetShaderSource")) |proc| {
6096 function_pointers.glGetShaderSource = @ptrCast(proc);
6097 } else {
6098 log.err("entry point glGetShaderSource not found!", .{});
6099 success = false;
6100 }
6101 if(get_proc_address(load_ctx, "glGetUniformLocation")) |proc| {
6102 function_pointers.glGetUniformLocation = @ptrCast(proc);
6103 } else {
6104 log.err("entry point glGetUniformLocation not found!", .{});
6105 success = false;
6106 }
6107 if(get_proc_address(load_ctx, "glGetUniformfv")) |proc| {
6108 function_pointers.glGetUniformfv = @ptrCast(proc);
6109 } else {
6110 log.err("entry point glGetUniformfv not found!", .{});
6111 success = false;
6112 }
6113 if(get_proc_address(load_ctx, "glGetUniformiv")) |proc| {
6114 function_pointers.glGetUniformiv = @ptrCast(proc);
6115 } else {
6116 log.err("entry point glGetUniformiv not found!", .{});
6117 success = false;
6118 }
6119 if(get_proc_address(load_ctx, "glGetVertexAttribdv")) |proc| {
6120 function_pointers.glGetVertexAttribdv = @ptrCast(proc);
6121 } else {
6122 log.err("entry point glGetVertexAttribdv not found!", .{});
6123 success = false;
6124 }
6125 if(get_proc_address(load_ctx, "glGetVertexAttribfv")) |proc| {
6126 function_pointers.glGetVertexAttribfv = @ptrCast(proc);
6127 } else {
6128 log.err("entry point glGetVertexAttribfv not found!", .{});
6129 success = false;
6130 }
6131 if(get_proc_address(load_ctx, "glGetVertexAttribiv")) |proc| {
6132 function_pointers.glGetVertexAttribiv = @ptrCast(proc);
6133 } else {
6134 log.err("entry point glGetVertexAttribiv not found!", .{});
6135 success = false;
6136 }
6137 if(get_proc_address(load_ctx, "glGetVertexAttribPointerv")) |proc| {
6138 function_pointers.glGetVertexAttribPointerv = @ptrCast(proc);
6139 } else {
6140 log.err("entry point glGetVertexAttribPointerv not found!", .{});
6141 success = false;
6142 }
6143 if(get_proc_address(load_ctx, "glIsProgram")) |proc| {
6144 function_pointers.glIsProgram = @ptrCast(proc);
6145 } else {
6146 log.err("entry point glIsProgram not found!", .{});
6147 success = false;
6148 }
6149 if(get_proc_address(load_ctx, "glIsShader")) |proc| {
6150 function_pointers.glIsShader = @ptrCast(proc);
6151 } else {
6152 log.err("entry point glIsShader not found!", .{});
6153 success = false;
6154 }
6155 if(get_proc_address(load_ctx, "glLinkProgram")) |proc| {
6156 function_pointers.glLinkProgram = @ptrCast(proc);
6157 } else {
6158 log.err("entry point glLinkProgram not found!", .{});
6159 success = false;
6160 }
6161 if(get_proc_address(load_ctx, "glShaderSource")) |proc| {
6162 function_pointers.glShaderSource = @ptrCast(proc);
6163 } else {
6164 log.err("entry point glShaderSource not found!", .{});
6165 success = false;
6166 }
6167 if(get_proc_address(load_ctx, "glUseProgram")) |proc| {
6168 function_pointers.glUseProgram = @ptrCast(proc);
6169 } else {
6170 log.err("entry point glUseProgram not found!", .{});
6171 success = false;
6172 }
6173 if(get_proc_address(load_ctx, "glUniform1f")) |proc| {
6174 function_pointers.glUniform1f = @ptrCast(proc);
6175 } else {
6176 log.err("entry point glUniform1f not found!", .{});
6177 success = false;
6178 }
6179 if(get_proc_address(load_ctx, "glUniform2f")) |proc| {
6180 function_pointers.glUniform2f = @ptrCast(proc);
6181 } else {
6182 log.err("entry point glUniform2f not found!", .{});
6183 success = false;
6184 }
6185 if(get_proc_address(load_ctx, "glUniform3f")) |proc| {
6186 function_pointers.glUniform3f = @ptrCast(proc);
6187 } else {
6188 log.err("entry point glUniform3f not found!", .{});
6189 success = false;
6190 }
6191 if(get_proc_address(load_ctx, "glUniform4f")) |proc| {
6192 function_pointers.glUniform4f = @ptrCast(proc);
6193 } else {
6194 log.err("entry point glUniform4f not found!", .{});
6195 success = false;
6196 }
6197 if(get_proc_address(load_ctx, "glUniform1i")) |proc| {
6198 function_pointers.glUniform1i = @ptrCast(proc);
6199 } else {
6200 log.err("entry point glUniform1i not found!", .{});
6201 success = false;
6202 }
6203 if(get_proc_address(load_ctx, "glUniform2i")) |proc| {
6204 function_pointers.glUniform2i = @ptrCast(proc);
6205 } else {
6206 log.err("entry point glUniform2i not found!", .{});
6207 success = false;
6208 }
6209 if(get_proc_address(load_ctx, "glUniform3i")) |proc| {
6210 function_pointers.glUniform3i = @ptrCast(proc);
6211 } else {
6212 log.err("entry point glUniform3i not found!", .{});
6213 success = false;
6214 }
6215 if(get_proc_address(load_ctx, "glUniform4i")) |proc| {
6216 function_pointers.glUniform4i = @ptrCast(proc);
6217 } else {
6218 log.err("entry point glUniform4i not found!", .{});
6219 success = false;
6220 }
6221 if(get_proc_address(load_ctx, "glUniform1fv")) |proc| {
6222 function_pointers.glUniform1fv = @ptrCast(proc);
6223 } else {
6224 log.err("entry point glUniform1fv not found!", .{});
6225 success = false;
6226 }
6227 if(get_proc_address(load_ctx, "glUniform2fv")) |proc| {
6228 function_pointers.glUniform2fv = @ptrCast(proc);
6229 } else {
6230 log.err("entry point glUniform2fv not found!", .{});
6231 success = false;
6232 }
6233 if(get_proc_address(load_ctx, "glUniform3fv")) |proc| {
6234 function_pointers.glUniform3fv = @ptrCast(proc);
6235 } else {
6236 log.err("entry point glUniform3fv not found!", .{});
6237 success = false;
6238 }
6239 if(get_proc_address(load_ctx, "glUniform4fv")) |proc| {
6240 function_pointers.glUniform4fv = @ptrCast(proc);
6241 } else {
6242 log.err("entry point glUniform4fv not found!", .{});
6243 success = false;
6244 }
6245 if(get_proc_address(load_ctx, "glUniform1iv")) |proc| {
6246 function_pointers.glUniform1iv = @ptrCast(proc);
6247 } else {
6248 log.err("entry point glUniform1iv not found!", .{});
6249 success = false;
6250 }
6251 if(get_proc_address(load_ctx, "glUniform2iv")) |proc| {
6252 function_pointers.glUniform2iv = @ptrCast(proc);
6253 } else {
6254 log.err("entry point glUniform2iv not found!", .{});
6255 success = false;
6256 }
6257 if(get_proc_address(load_ctx, "glUniform3iv")) |proc| {
6258 function_pointers.glUniform3iv = @ptrCast(proc);
6259 } else {
6260 log.err("entry point glUniform3iv not found!", .{});
6261 success = false;
6262 }
6263 if(get_proc_address(load_ctx, "glUniform4iv")) |proc| {
6264 function_pointers.glUniform4iv = @ptrCast(proc);
6265 } else {
6266 log.err("entry point glUniform4iv not found!", .{});
6267 success = false;
6268 }
6269 if(get_proc_address(load_ctx, "glUniformMatrix2fv")) |proc| {
6270 function_pointers.glUniformMatrix2fv = @ptrCast(proc);
6271 } else {
6272 log.err("entry point glUniformMatrix2fv not found!", .{});
6273 success = false;
6274 }
6275 if(get_proc_address(load_ctx, "glUniformMatrix3fv")) |proc| {
6276 function_pointers.glUniformMatrix3fv = @ptrCast(proc);
6277 } else {
6278 log.err("entry point glUniformMatrix3fv not found!", .{});
6279 success = false;
6280 }
6281 if(get_proc_address(load_ctx, "glUniformMatrix4fv")) |proc| {
6282 function_pointers.glUniformMatrix4fv = @ptrCast(proc);
6283 } else {
6284 log.err("entry point glUniformMatrix4fv not found!", .{});
6285 success = false;
6286 }
6287 if(get_proc_address(load_ctx, "glValidateProgram")) |proc| {
6288 function_pointers.glValidateProgram = @ptrCast(proc);
6289 } else {
6290 log.err("entry point glValidateProgram not found!", .{});
6291 success = false;
6292 }
6293 if(get_proc_address(load_ctx, "glVertexAttrib1d")) |proc| {
6294 function_pointers.glVertexAttrib1d = @ptrCast(proc);
6295 } else {
6296 log.err("entry point glVertexAttrib1d not found!", .{});
6297 success = false;
6298 }
6299 if(get_proc_address(load_ctx, "glVertexAttrib1dv")) |proc| {
6300 function_pointers.glVertexAttrib1dv = @ptrCast(proc);
6301 } else {
6302 log.err("entry point glVertexAttrib1dv not found!", .{});
6303 success = false;
6304 }
6305 if(get_proc_address(load_ctx, "glVertexAttrib1f")) |proc| {
6306 function_pointers.glVertexAttrib1f = @ptrCast(proc);
6307 } else {
6308 log.err("entry point glVertexAttrib1f not found!", .{});
6309 success = false;
6310 }
6311 if(get_proc_address(load_ctx, "glVertexAttrib1fv")) |proc| {
6312 function_pointers.glVertexAttrib1fv = @ptrCast(proc);
6313 } else {
6314 log.err("entry point glVertexAttrib1fv not found!", .{});
6315 success = false;
6316 }
6317 if(get_proc_address(load_ctx, "glVertexAttrib1s")) |proc| {
6318 function_pointers.glVertexAttrib1s = @ptrCast(proc);
6319 } else {
6320 log.err("entry point glVertexAttrib1s not found!", .{});
6321 success = false;
6322 }
6323 if(get_proc_address(load_ctx, "glVertexAttrib1sv")) |proc| {
6324 function_pointers.glVertexAttrib1sv = @ptrCast(proc);
6325 } else {
6326 log.err("entry point glVertexAttrib1sv not found!", .{});
6327 success = false;
6328 }
6329 if(get_proc_address(load_ctx, "glVertexAttrib2d")) |proc| {
6330 function_pointers.glVertexAttrib2d = @ptrCast(proc);
6331 } else {
6332 log.err("entry point glVertexAttrib2d not found!", .{});
6333 success = false;
6334 }
6335 if(get_proc_address(load_ctx, "glVertexAttrib2dv")) |proc| {
6336 function_pointers.glVertexAttrib2dv = @ptrCast(proc);
6337 } else {
6338 log.err("entry point glVertexAttrib2dv not found!", .{});
6339 success = false;
6340 }
6341 if(get_proc_address(load_ctx, "glVertexAttrib2f")) |proc| {
6342 function_pointers.glVertexAttrib2f = @ptrCast(proc);
6343 } else {
6344 log.err("entry point glVertexAttrib2f not found!", .{});
6345 success = false;
6346 }
6347 if(get_proc_address(load_ctx, "glVertexAttrib2fv")) |proc| {
6348 function_pointers.glVertexAttrib2fv = @ptrCast(proc);
6349 } else {
6350 log.err("entry point glVertexAttrib2fv not found!", .{});
6351 success = false;
6352 }
6353 if(get_proc_address(load_ctx, "glVertexAttrib2s")) |proc| {
6354 function_pointers.glVertexAttrib2s = @ptrCast(proc);
6355 } else {
6356 log.err("entry point glVertexAttrib2s not found!", .{});
6357 success = false;
6358 }
6359 if(get_proc_address(load_ctx, "glVertexAttrib2sv")) |proc| {
6360 function_pointers.glVertexAttrib2sv = @ptrCast(proc);
6361 } else {
6362 log.err("entry point glVertexAttrib2sv not found!", .{});
6363 success = false;
6364 }
6365 if(get_proc_address(load_ctx, "glVertexAttrib3d")) |proc| {
6366 function_pointers.glVertexAttrib3d = @ptrCast(proc);
6367 } else {
6368 log.err("entry point glVertexAttrib3d not found!", .{});
6369 success = false;
6370 }
6371 if(get_proc_address(load_ctx, "glVertexAttrib3dv")) |proc| {
6372 function_pointers.glVertexAttrib3dv = @ptrCast(proc);
6373 } else {
6374 log.err("entry point glVertexAttrib3dv not found!", .{});
6375 success = false;
6376 }
6377 if(get_proc_address(load_ctx, "glVertexAttrib3f")) |proc| {
6378 function_pointers.glVertexAttrib3f = @ptrCast(proc);
6379 } else {
6380 log.err("entry point glVertexAttrib3f not found!", .{});
6381 success = false;
6382 }
6383 if(get_proc_address(load_ctx, "glVertexAttrib3fv")) |proc| {
6384 function_pointers.glVertexAttrib3fv = @ptrCast(proc);
6385 } else {
6386 log.err("entry point glVertexAttrib3fv not found!", .{});
6387 success = false;
6388 }
6389 if(get_proc_address(load_ctx, "glVertexAttrib3s")) |proc| {
6390 function_pointers.glVertexAttrib3s = @ptrCast(proc);
6391 } else {
6392 log.err("entry point glVertexAttrib3s not found!", .{});
6393 success = false;
6394 }
6395 if(get_proc_address(load_ctx, "glVertexAttrib3sv")) |proc| {
6396 function_pointers.glVertexAttrib3sv = @ptrCast(proc);
6397 } else {
6398 log.err("entry point glVertexAttrib3sv not found!", .{});
6399 success = false;
6400 }
6401 if(get_proc_address(load_ctx, "glVertexAttrib4Nbv")) |proc| {
6402 function_pointers.glVertexAttrib4Nbv = @ptrCast(proc);
6403 } else {
6404 log.err("entry point glVertexAttrib4Nbv not found!", .{});
6405 success = false;
6406 }
6407 if(get_proc_address(load_ctx, "glVertexAttrib4Niv")) |proc| {
6408 function_pointers.glVertexAttrib4Niv = @ptrCast(proc);
6409 } else {
6410 log.err("entry point glVertexAttrib4Niv not found!", .{});
6411 success = false;
6412 }
6413 if(get_proc_address(load_ctx, "glVertexAttrib4Nsv")) |proc| {
6414 function_pointers.glVertexAttrib4Nsv = @ptrCast(proc);
6415 } else {
6416 log.err("entry point glVertexAttrib4Nsv not found!", .{});
6417 success = false;
6418 }
6419 if(get_proc_address(load_ctx, "glVertexAttrib4Nub")) |proc| {
6420 function_pointers.glVertexAttrib4Nub = @ptrCast(proc);
6421 } else {
6422 log.err("entry point glVertexAttrib4Nub not found!", .{});
6423 success = false;
6424 }
6425 if(get_proc_address(load_ctx, "glVertexAttrib4Nubv")) |proc| {
6426 function_pointers.glVertexAttrib4Nubv = @ptrCast(proc);
6427 } else {
6428 log.err("entry point glVertexAttrib4Nubv not found!", .{});
6429 success = false;
6430 }
6431 if(get_proc_address(load_ctx, "glVertexAttrib4Nuiv")) |proc| {
6432 function_pointers.glVertexAttrib4Nuiv = @ptrCast(proc);
6433 } else {
6434 log.err("entry point glVertexAttrib4Nuiv not found!", .{});
6435 success = false;
6436 }
6437 if(get_proc_address(load_ctx, "glVertexAttrib4Nusv")) |proc| {
6438 function_pointers.glVertexAttrib4Nusv = @ptrCast(proc);
6439 } else {
6440 log.err("entry point glVertexAttrib4Nusv not found!", .{});
6441 success = false;
6442 }
6443 if(get_proc_address(load_ctx, "glVertexAttrib4bv")) |proc| {
6444 function_pointers.glVertexAttrib4bv = @ptrCast(proc);
6445 } else {
6446 log.err("entry point glVertexAttrib4bv not found!", .{});
6447 success = false;
6448 }
6449 if(get_proc_address(load_ctx, "glVertexAttrib4d")) |proc| {
6450 function_pointers.glVertexAttrib4d = @ptrCast(proc);
6451 } else {
6452 log.err("entry point glVertexAttrib4d not found!", .{});
6453 success = false;
6454 }
6455 if(get_proc_address(load_ctx, "glVertexAttrib4dv")) |proc| {
6456 function_pointers.glVertexAttrib4dv = @ptrCast(proc);
6457 } else {
6458 log.err("entry point glVertexAttrib4dv not found!", .{});
6459 success = false;
6460 }
6461 if(get_proc_address(load_ctx, "glVertexAttrib4f")) |proc| {
6462 function_pointers.glVertexAttrib4f = @ptrCast(proc);
6463 } else {
6464 log.err("entry point glVertexAttrib4f not found!", .{});
6465 success = false;
6466 }
6467 if(get_proc_address(load_ctx, "glVertexAttrib4fv")) |proc| {
6468 function_pointers.glVertexAttrib4fv = @ptrCast(proc);
6469 } else {
6470 log.err("entry point glVertexAttrib4fv not found!", .{});
6471 success = false;
6472 }
6473 if(get_proc_address(load_ctx, "glVertexAttrib4iv")) |proc| {
6474 function_pointers.glVertexAttrib4iv = @ptrCast(proc);
6475 } else {
6476 log.err("entry point glVertexAttrib4iv not found!", .{});
6477 success = false;
6478 }
6479 if(get_proc_address(load_ctx, "glVertexAttrib4s")) |proc| {
6480 function_pointers.glVertexAttrib4s = @ptrCast(proc);
6481 } else {
6482 log.err("entry point glVertexAttrib4s not found!", .{});
6483 success = false;
6484 }
6485 if(get_proc_address(load_ctx, "glVertexAttrib4sv")) |proc| {
6486 function_pointers.glVertexAttrib4sv = @ptrCast(proc);
6487 } else {
6488 log.err("entry point glVertexAttrib4sv not found!", .{});
6489 success = false;
6490 }
6491 if(get_proc_address(load_ctx, "glVertexAttrib4ubv")) |proc| {
6492 function_pointers.glVertexAttrib4ubv = @ptrCast(proc);
6493 } else {
6494 log.err("entry point glVertexAttrib4ubv not found!", .{});
6495 success = false;
6496 }
6497 if(get_proc_address(load_ctx, "glVertexAttrib4uiv")) |proc| {
6498 function_pointers.glVertexAttrib4uiv = @ptrCast(proc);
6499 } else {
6500 log.err("entry point glVertexAttrib4uiv not found!", .{});
6501 success = false;
6502 }
6503 if(get_proc_address(load_ctx, "glVertexAttrib4usv")) |proc| {
6504 function_pointers.glVertexAttrib4usv = @ptrCast(proc);
6505 } else {
6506 log.err("entry point glVertexAttrib4usv not found!", .{});
6507 success = false;
6508 }
6509 if(get_proc_address(load_ctx, "glVertexAttribPointer")) |proc| {
6510 function_pointers.glVertexAttribPointer = @ptrCast(proc);
6511 } else {
6512 log.err("entry point glVertexAttribPointer not found!", .{});
6513 success = false;
6514 }
6515 if(get_proc_address(load_ctx, "glUniformMatrix2x3fv")) |proc| {
6516 function_pointers.glUniformMatrix2x3fv = @ptrCast(proc);
6517 } else {
6518 log.err("entry point glUniformMatrix2x3fv not found!", .{});
6519 success = false;
6520 }
6521 if(get_proc_address(load_ctx, "glUniformMatrix3x2fv")) |proc| {
6522 function_pointers.glUniformMatrix3x2fv = @ptrCast(proc);
6523 } else {
6524 log.err("entry point glUniformMatrix3x2fv not found!", .{});
6525 success = false;
6526 }
6527 if(get_proc_address(load_ctx, "glUniformMatrix2x4fv")) |proc| {
6528 function_pointers.glUniformMatrix2x4fv = @ptrCast(proc);
6529 } else {
6530 log.err("entry point glUniformMatrix2x4fv not found!", .{});
6531 success = false;
6532 }
6533 if(get_proc_address(load_ctx, "glUniformMatrix4x2fv")) |proc| {
6534 function_pointers.glUniformMatrix4x2fv = @ptrCast(proc);
6535 } else {
6536 log.err("entry point glUniformMatrix4x2fv not found!", .{});
6537 success = false;
6538 }
6539 if(get_proc_address(load_ctx, "glUniformMatrix3x4fv")) |proc| {
6540 function_pointers.glUniformMatrix3x4fv = @ptrCast(proc);
6541 } else {
6542 log.err("entry point glUniformMatrix3x4fv not found!", .{});
6543 success = false;
6544 }
6545 if(get_proc_address(load_ctx, "glUniformMatrix4x3fv")) |proc| {
6546 function_pointers.glUniformMatrix4x3fv = @ptrCast(proc);
6547 } else {
6548 log.err("entry point glUniformMatrix4x3fv not found!", .{});
6549 success = false;
6550 }
6551 if(get_proc_address(load_ctx, "glColorMaski")) |proc| {
6552 function_pointers.glColorMaski = @ptrCast(proc);
6553 } else {
6554 log.err("entry point glColorMaski not found!", .{});
6555 success = false;
6556 }
6557 if(get_proc_address(load_ctx, "glGetBooleani_v")) |proc| {
6558 function_pointers.glGetBooleani_v = @ptrCast(proc);
6559 } else {
6560 log.err("entry point glGetBooleani_v not found!", .{});
6561 success = false;
6562 }
6563 if(get_proc_address(load_ctx, "glGetIntegeri_v")) |proc| {
6564 function_pointers.glGetIntegeri_v = @ptrCast(proc);
6565 } else {
6566 log.err("entry point glGetIntegeri_v not found!", .{});
6567 success = false;
6568 }
6569 if(get_proc_address(load_ctx, "glEnablei")) |proc| {
6570 function_pointers.glEnablei = @ptrCast(proc);
6571 } else {
6572 log.err("entry point glEnablei not found!", .{});
6573 success = false;
6574 }
6575 if(get_proc_address(load_ctx, "glDisablei")) |proc| {
6576 function_pointers.glDisablei = @ptrCast(proc);
6577 } else {
6578 log.err("entry point glDisablei not found!", .{});
6579 success = false;
6580 }
6581 if(get_proc_address(load_ctx, "glIsEnabledi")) |proc| {
6582 function_pointers.glIsEnabledi = @ptrCast(proc);
6583 } else {
6584 log.err("entry point glIsEnabledi not found!", .{});
6585 success = false;
6586 }
6587 if(get_proc_address(load_ctx, "glBeginTransformFeedback")) |proc| {
6588 function_pointers.glBeginTransformFeedback = @ptrCast(proc);
6589 } else {
6590 log.err("entry point glBeginTransformFeedback not found!", .{});
6591 success = false;
6592 }
6593 if(get_proc_address(load_ctx, "glEndTransformFeedback")) |proc| {
6594 function_pointers.glEndTransformFeedback = @ptrCast(proc);
6595 } else {
6596 log.err("entry point glEndTransformFeedback not found!", .{});
6597 success = false;
6598 }
6599 if(get_proc_address(load_ctx, "glBindBufferRange")) |proc| {
6600 function_pointers.glBindBufferRange = @ptrCast(proc);
6601 } else {
6602 log.err("entry point glBindBufferRange not found!", .{});
6603 success = false;
6604 }
6605 if(get_proc_address(load_ctx, "glBindBufferBase")) |proc| {
6606 function_pointers.glBindBufferBase = @ptrCast(proc);
6607 } else {
6608 log.err("entry point glBindBufferBase not found!", .{});
6609 success = false;
6610 }
6611 if(get_proc_address(load_ctx, "glTransformFeedbackVaryings")) |proc| {
6612 function_pointers.glTransformFeedbackVaryings = @ptrCast(proc);
6613 } else {
6614 log.err("entry point glTransformFeedbackVaryings not found!", .{});
6615 success = false;
6616 }
6617 if(get_proc_address(load_ctx, "glGetTransformFeedbackVarying")) |proc| {
6618 function_pointers.glGetTransformFeedbackVarying = @ptrCast(proc);
6619 } else {
6620 log.err("entry point glGetTransformFeedbackVarying not found!", .{});
6621 success = false;
6622 }
6623 if(get_proc_address(load_ctx, "glClampColor")) |proc| {
6624 function_pointers.glClampColor = @ptrCast(proc);
6625 } else {
6626 log.err("entry point glClampColor not found!", .{});
6627 success = false;
6628 }
6629 if(get_proc_address(load_ctx, "glBeginConditionalRender")) |proc| {
6630 function_pointers.glBeginConditionalRender = @ptrCast(proc);
6631 } else {
6632 log.err("entry point glBeginConditionalRender not found!", .{});
6633 success = false;
6634 }
6635 if(get_proc_address(load_ctx, "glEndConditionalRender")) |proc| {
6636 function_pointers.glEndConditionalRender = @ptrCast(proc);
6637 } else {
6638 log.err("entry point glEndConditionalRender not found!", .{});
6639 success = false;
6640 }
6641 if(get_proc_address(load_ctx, "glVertexAttribIPointer")) |proc| {
6642 function_pointers.glVertexAttribIPointer = @ptrCast(proc);
6643 } else {
6644 log.err("entry point glVertexAttribIPointer not found!", .{});
6645 success = false;
6646 }
6647 if(get_proc_address(load_ctx, "glGetVertexAttribIiv")) |proc| {
6648 function_pointers.glGetVertexAttribIiv = @ptrCast(proc);
6649 } else {
6650 log.err("entry point glGetVertexAttribIiv not found!", .{});
6651 success = false;
6652 }
6653 if(get_proc_address(load_ctx, "glGetVertexAttribIuiv")) |proc| {
6654 function_pointers.glGetVertexAttribIuiv = @ptrCast(proc);
6655 } else {
6656 log.err("entry point glGetVertexAttribIuiv not found!", .{});
6657 success = false;
6658 }
6659 if(get_proc_address(load_ctx, "glVertexAttribI1i")) |proc| {
6660 function_pointers.glVertexAttribI1i = @ptrCast(proc);
6661 } else {
6662 log.err("entry point glVertexAttribI1i not found!", .{});
6663 success = false;
6664 }
6665 if(get_proc_address(load_ctx, "glVertexAttribI2i")) |proc| {
6666 function_pointers.glVertexAttribI2i = @ptrCast(proc);
6667 } else {
6668 log.err("entry point glVertexAttribI2i not found!", .{});
6669 success = false;
6670 }
6671 if(get_proc_address(load_ctx, "glVertexAttribI3i")) |proc| {
6672 function_pointers.glVertexAttribI3i = @ptrCast(proc);
6673 } else {
6674 log.err("entry point glVertexAttribI3i not found!", .{});
6675 success = false;
6676 }
6677 if(get_proc_address(load_ctx, "glVertexAttribI4i")) |proc| {
6678 function_pointers.glVertexAttribI4i = @ptrCast(proc);
6679 } else {
6680 log.err("entry point glVertexAttribI4i not found!", .{});
6681 success = false;
6682 }
6683 if(get_proc_address(load_ctx, "glVertexAttribI1ui")) |proc| {
6684 function_pointers.glVertexAttribI1ui = @ptrCast(proc);
6685 } else {
6686 log.err("entry point glVertexAttribI1ui not found!", .{});
6687 success = false;
6688 }
6689 if(get_proc_address(load_ctx, "glVertexAttribI2ui")) |proc| {
6690 function_pointers.glVertexAttribI2ui = @ptrCast(proc);
6691 } else {
6692 log.err("entry point glVertexAttribI2ui not found!", .{});
6693 success = false;
6694 }
6695 if(get_proc_address(load_ctx, "glVertexAttribI3ui")) |proc| {
6696 function_pointers.glVertexAttribI3ui = @ptrCast(proc);
6697 } else {
6698 log.err("entry point glVertexAttribI3ui not found!", .{});
6699 success = false;
6700 }
6701 if(get_proc_address(load_ctx, "glVertexAttribI4ui")) |proc| {
6702 function_pointers.glVertexAttribI4ui = @ptrCast(proc);
6703 } else {
6704 log.err("entry point glVertexAttribI4ui not found!", .{});
6705 success = false;
6706 }
6707 if(get_proc_address(load_ctx, "glVertexAttribI1iv")) |proc| {
6708 function_pointers.glVertexAttribI1iv = @ptrCast(proc);
6709 } else {
6710 log.err("entry point glVertexAttribI1iv not found!", .{});
6711 success = false;
6712 }
6713 if(get_proc_address(load_ctx, "glVertexAttribI2iv")) |proc| {
6714 function_pointers.glVertexAttribI2iv = @ptrCast(proc);
6715 } else {
6716 log.err("entry point glVertexAttribI2iv not found!", .{});
6717 success = false;
6718 }
6719 if(get_proc_address(load_ctx, "glVertexAttribI3iv")) |proc| {
6720 function_pointers.glVertexAttribI3iv = @ptrCast(proc);
6721 } else {
6722 log.err("entry point glVertexAttribI3iv not found!", .{});
6723 success = false;
6724 }
6725 if(get_proc_address(load_ctx, "glVertexAttribI4iv")) |proc| {
6726 function_pointers.glVertexAttribI4iv = @ptrCast(proc);
6727 } else {
6728 log.err("entry point glVertexAttribI4iv not found!", .{});
6729 success = false;
6730 }
6731 if(get_proc_address(load_ctx, "glVertexAttribI1uiv")) |proc| {
6732 function_pointers.glVertexAttribI1uiv = @ptrCast(proc);
6733 } else {
6734 log.err("entry point glVertexAttribI1uiv not found!", .{});
6735 success = false;
6736 }
6737 if(get_proc_address(load_ctx, "glVertexAttribI2uiv")) |proc| {
6738 function_pointers.glVertexAttribI2uiv = @ptrCast(proc);
6739 } else {
6740 log.err("entry point glVertexAttribI2uiv not found!", .{});
6741 success = false;
6742 }
6743 if(get_proc_address(load_ctx, "glVertexAttribI3uiv")) |proc| {
6744 function_pointers.glVertexAttribI3uiv = @ptrCast(proc);
6745 } else {
6746 log.err("entry point glVertexAttribI3uiv not found!", .{});
6747 success = false;
6748 }
6749 if(get_proc_address(load_ctx, "glVertexAttribI4uiv")) |proc| {
6750 function_pointers.glVertexAttribI4uiv = @ptrCast(proc);
6751 } else {
6752 log.err("entry point glVertexAttribI4uiv not found!", .{});
6753 success = false;
6754 }
6755 if(get_proc_address(load_ctx, "glVertexAttribI4bv")) |proc| {
6756 function_pointers.glVertexAttribI4bv = @ptrCast(proc);
6757 } else {
6758 log.err("entry point glVertexAttribI4bv not found!", .{});
6759 success = false;
6760 }
6761 if(get_proc_address(load_ctx, "glVertexAttribI4sv")) |proc| {
6762 function_pointers.glVertexAttribI4sv = @ptrCast(proc);
6763 } else {
6764 log.err("entry point glVertexAttribI4sv not found!", .{});
6765 success = false;
6766 }
6767 if(get_proc_address(load_ctx, "glVertexAttribI4ubv")) |proc| {
6768 function_pointers.glVertexAttribI4ubv = @ptrCast(proc);
6769 } else {
6770 log.err("entry point glVertexAttribI4ubv not found!", .{});
6771 success = false;
6772 }
6773 if(get_proc_address(load_ctx, "glVertexAttribI4usv")) |proc| {
6774 function_pointers.glVertexAttribI4usv = @ptrCast(proc);
6775 } else {
6776 log.err("entry point glVertexAttribI4usv not found!", .{});
6777 success = false;
6778 }
6779 if(get_proc_address(load_ctx, "glGetUniformuiv")) |proc| {
6780 function_pointers.glGetUniformuiv = @ptrCast(proc);
6781 } else {
6782 log.err("entry point glGetUniformuiv not found!", .{});
6783 success = false;
6784 }
6785 if(get_proc_address(load_ctx, "glBindFragDataLocation")) |proc| {
6786 function_pointers.glBindFragDataLocation = @ptrCast(proc);
6787 } else {
6788 log.err("entry point glBindFragDataLocation not found!", .{});
6789 success = false;
6790 }
6791 if(get_proc_address(load_ctx, "glGetFragDataLocation")) |proc| {
6792 function_pointers.glGetFragDataLocation = @ptrCast(proc);
6793 } else {
6794 log.err("entry point glGetFragDataLocation not found!", .{});
6795 success = false;
6796 }
6797 if(get_proc_address(load_ctx, "glUniform1ui")) |proc| {
6798 function_pointers.glUniform1ui = @ptrCast(proc);
6799 } else {
6800 log.err("entry point glUniform1ui not found!", .{});
6801 success = false;
6802 }
6803 if(get_proc_address(load_ctx, "glUniform2ui")) |proc| {
6804 function_pointers.glUniform2ui = @ptrCast(proc);
6805 } else {
6806 log.err("entry point glUniform2ui not found!", .{});
6807 success = false;
6808 }
6809 if(get_proc_address(load_ctx, "glUniform3ui")) |proc| {
6810 function_pointers.glUniform3ui = @ptrCast(proc);
6811 } else {
6812 log.err("entry point glUniform3ui not found!", .{});
6813 success = false;
6814 }
6815 if(get_proc_address(load_ctx, "glUniform4ui")) |proc| {
6816 function_pointers.glUniform4ui = @ptrCast(proc);
6817 } else {
6818 log.err("entry point glUniform4ui not found!", .{});
6819 success = false;
6820 }
6821 if(get_proc_address(load_ctx, "glUniform1uiv")) |proc| {
6822 function_pointers.glUniform1uiv = @ptrCast(proc);
6823 } else {
6824 log.err("entry point glUniform1uiv not found!", .{});
6825 success = false;
6826 }
6827 if(get_proc_address(load_ctx, "glUniform2uiv")) |proc| {
6828 function_pointers.glUniform2uiv = @ptrCast(proc);
6829 } else {
6830 log.err("entry point glUniform2uiv not found!", .{});
6831 success = false;
6832 }
6833 if(get_proc_address(load_ctx, "glUniform3uiv")) |proc| {
6834 function_pointers.glUniform3uiv = @ptrCast(proc);
6835 } else {
6836 log.err("entry point glUniform3uiv not found!", .{});
6837 success = false;
6838 }
6839 if(get_proc_address(load_ctx, "glUniform4uiv")) |proc| {
6840 function_pointers.glUniform4uiv = @ptrCast(proc);
6841 } else {
6842 log.err("entry point glUniform4uiv not found!", .{});
6843 success = false;
6844 }
6845 if(get_proc_address(load_ctx, "glTexParameterIiv")) |proc| {
6846 function_pointers.glTexParameterIiv = @ptrCast(proc);
6847 } else {
6848 log.err("entry point glTexParameterIiv not found!", .{});
6849 success = false;
6850 }
6851 if(get_proc_address(load_ctx, "glTexParameterIuiv")) |proc| {
6852 function_pointers.glTexParameterIuiv = @ptrCast(proc);
6853 } else {
6854 log.err("entry point glTexParameterIuiv not found!", .{});
6855 success = false;
6856 }
6857 if(get_proc_address(load_ctx, "glGetTexParameterIiv")) |proc| {
6858 function_pointers.glGetTexParameterIiv = @ptrCast(proc);
6859 } else {
6860 log.err("entry point glGetTexParameterIiv not found!", .{});
6861 success = false;
6862 }
6863 if(get_proc_address(load_ctx, "glGetTexParameterIuiv")) |proc| {
6864 function_pointers.glGetTexParameterIuiv = @ptrCast(proc);
6865 } else {
6866 log.err("entry point glGetTexParameterIuiv not found!", .{});
6867 success = false;
6868 }
6869 if(get_proc_address(load_ctx, "glClearBufferiv")) |proc| {
6870 function_pointers.glClearBufferiv = @ptrCast(proc);
6871 } else {
6872 log.err("entry point glClearBufferiv not found!", .{});
6873 success = false;
6874 }
6875 if(get_proc_address(load_ctx, "glClearBufferuiv")) |proc| {
6876 function_pointers.glClearBufferuiv = @ptrCast(proc);
6877 } else {
6878 log.err("entry point glClearBufferuiv not found!", .{});
6879 success = false;
6880 }
6881 if(get_proc_address(load_ctx, "glClearBufferfv")) |proc| {
6882 function_pointers.glClearBufferfv = @ptrCast(proc);
6883 } else {
6884 log.err("entry point glClearBufferfv not found!", .{});
6885 success = false;
6886 }
6887 if(get_proc_address(load_ctx, "glClearBufferfi")) |proc| {
6888 function_pointers.glClearBufferfi = @ptrCast(proc);
6889 } else {
6890 log.err("entry point glClearBufferfi not found!", .{});
6891 success = false;
6892 }
6893 if(get_proc_address(load_ctx, "glGetStringi")) |proc| {
6894 function_pointers.glGetStringi = @ptrCast(proc);
6895 } else {
6896 log.err("entry point glGetStringi not found!", .{});
6897 success = false;
6898 }
6899 if(get_proc_address(load_ctx, "glIsRenderbuffer")) |proc| {
6900 function_pointers.glIsRenderbuffer = @ptrCast(proc);
6901 } else {
6902 log.err("entry point glIsRenderbuffer not found!", .{});
6903 success = false;
6904 }
6905 if(get_proc_address(load_ctx, "glBindRenderbuffer")) |proc| {
6906 function_pointers.glBindRenderbuffer = @ptrCast(proc);
6907 } else {
6908 log.err("entry point glBindRenderbuffer not found!", .{});
6909 success = false;
6910 }
6911 if(get_proc_address(load_ctx, "glDeleteRenderbuffers")) |proc| {
6912 function_pointers.glDeleteRenderbuffers = @ptrCast(proc);
6913 } else {
6914 log.err("entry point glDeleteRenderbuffers not found!", .{});
6915 success = false;
6916 }
6917 if(get_proc_address(load_ctx, "glGenRenderbuffers")) |proc| {
6918 function_pointers.glGenRenderbuffers = @ptrCast(proc);
6919 } else {
6920 log.err("entry point glGenRenderbuffers not found!", .{});
6921 success = false;
6922 }
6923 if(get_proc_address(load_ctx, "glRenderbufferStorage")) |proc| {
6924 function_pointers.glRenderbufferStorage = @ptrCast(proc);
6925 } else {
6926 log.err("entry point glRenderbufferStorage not found!", .{});
6927 success = false;
6928 }
6929 if(get_proc_address(load_ctx, "glGetRenderbufferParameteriv")) |proc| {
6930 function_pointers.glGetRenderbufferParameteriv = @ptrCast(proc);
6931 } else {
6932 log.err("entry point glGetRenderbufferParameteriv not found!", .{});
6933 success = false;
6934 }
6935 if(get_proc_address(load_ctx, "glIsFramebuffer")) |proc| {
6936 function_pointers.glIsFramebuffer = @ptrCast(proc);
6937 } else {
6938 log.err("entry point glIsFramebuffer not found!", .{});
6939 success = false;
6940 }
6941 if(get_proc_address(load_ctx, "glBindFramebuffer")) |proc| {
6942 function_pointers.glBindFramebuffer = @ptrCast(proc);
6943 } else {
6944 log.err("entry point glBindFramebuffer not found!", .{});
6945 success = false;
6946 }
6947 if(get_proc_address(load_ctx, "glDeleteFramebuffers")) |proc| {
6948 function_pointers.glDeleteFramebuffers = @ptrCast(proc);
6949 } else {
6950 log.err("entry point glDeleteFramebuffers not found!", .{});
6951 success = false;
6952 }
6953 if(get_proc_address(load_ctx, "glGenFramebuffers")) |proc| {
6954 function_pointers.glGenFramebuffers = @ptrCast(proc);
6955 } else {
6956 log.err("entry point glGenFramebuffers not found!", .{});
6957 success = false;
6958 }
6959 if(get_proc_address(load_ctx, "glCheckFramebufferStatus")) |proc| {
6960 function_pointers.glCheckFramebufferStatus = @ptrCast(proc);
6961 } else {
6962 log.err("entry point glCheckFramebufferStatus not found!", .{});
6963 success = false;
6964 }
6965 if(get_proc_address(load_ctx, "glFramebufferTexture1D")) |proc| {
6966 function_pointers.glFramebufferTexture1D = @ptrCast(proc);
6967 } else {
6968 log.err("entry point glFramebufferTexture1D not found!", .{});
6969 success = false;
6970 }
6971 if(get_proc_address(load_ctx, "glFramebufferTexture2D")) |proc| {
6972 function_pointers.glFramebufferTexture2D = @ptrCast(proc);
6973 } else {
6974 log.err("entry point glFramebufferTexture2D not found!", .{});
6975 success = false;
6976 }
6977 if(get_proc_address(load_ctx, "glFramebufferTexture3D")) |proc| {
6978 function_pointers.glFramebufferTexture3D = @ptrCast(proc);
6979 } else {
6980 log.err("entry point glFramebufferTexture3D not found!", .{});
6981 success = false;
6982 }
6983 if(get_proc_address(load_ctx, "glFramebufferRenderbuffer")) |proc| {
6984 function_pointers.glFramebufferRenderbuffer = @ptrCast(proc);
6985 } else {
6986 log.err("entry point glFramebufferRenderbuffer not found!", .{});
6987 success = false;
6988 }
6989 if(get_proc_address(load_ctx, "glGetFramebufferAttachmentParameteriv")) |proc| {
6990 function_pointers.glGetFramebufferAttachmentParameteriv = @ptrCast(proc);
6991 } else {
6992 log.err("entry point glGetFramebufferAttachmentParameteriv not found!", .{});
6993 success = false;
6994 }
6995 if(get_proc_address(load_ctx, "glGenerateMipmap")) |proc| {
6996 function_pointers.glGenerateMipmap = @ptrCast(proc);
6997 } else {
6998 log.err("entry point glGenerateMipmap not found!", .{});
6999 success = false;
7000 }
7001 if(get_proc_address(load_ctx, "glBlitFramebuffer")) |proc| {
7002 function_pointers.glBlitFramebuffer = @ptrCast(proc);
7003 } else {
7004 log.err("entry point glBlitFramebuffer not found!", .{});
7005 success = false;
7006 }
7007 if(get_proc_address(load_ctx, "glRenderbufferStorageMultisample")) |proc| {
7008 function_pointers.glRenderbufferStorageMultisample = @ptrCast(proc);
7009 } else {
7010 log.err("entry point glRenderbufferStorageMultisample not found!", .{});
7011 success = false;
7012 }
7013 if(get_proc_address(load_ctx, "glFramebufferTextureLayer")) |proc| {
7014 function_pointers.glFramebufferTextureLayer = @ptrCast(proc);
7015 } else {
7016 log.err("entry point glFramebufferTextureLayer not found!", .{});
7017 success = false;
7018 }
7019 if(get_proc_address(load_ctx, "glMapBufferRange")) |proc| {
7020 function_pointers.glMapBufferRange = @ptrCast(proc);
7021 } else {
7022 log.err("entry point glMapBufferRange not found!", .{});
7023 success = false;
7024 }
7025 if(get_proc_address(load_ctx, "glFlushMappedBufferRange")) |proc| {
7026 function_pointers.glFlushMappedBufferRange = @ptrCast(proc);
7027 } else {
7028 log.err("entry point glFlushMappedBufferRange not found!", .{});
7029 success = false;
7030 }
7031 if(get_proc_address(load_ctx, "glBindVertexArray")) |proc| {
7032 function_pointers.glBindVertexArray = @ptrCast(proc);
7033 } else {
7034 log.err("entry point glBindVertexArray not found!", .{});
7035 success = false;
7036 }
7037 if(get_proc_address(load_ctx, "glDeleteVertexArrays")) |proc| {
7038 function_pointers.glDeleteVertexArrays = @ptrCast(proc);
7039 } else {
7040 log.err("entry point glDeleteVertexArrays not found!", .{});
7041 success = false;
7042 }
7043 if(get_proc_address(load_ctx, "glGenVertexArrays")) |proc| {
7044 function_pointers.glGenVertexArrays = @ptrCast(proc);
7045 } else {
7046 log.err("entry point glGenVertexArrays not found!", .{});
7047 success = false;
7048 }
7049 if(get_proc_address(load_ctx, "glIsVertexArray")) |proc| {
7050 function_pointers.glIsVertexArray = @ptrCast(proc);
7051 } else {
7052 log.err("entry point glIsVertexArray not found!", .{});
7053 success = false;
7054 }
7055 if(get_proc_address(load_ctx, "glDrawArraysInstanced")) |proc| {
7056 function_pointers.glDrawArraysInstanced = @ptrCast(proc);
7057 } else {
7058 log.err("entry point glDrawArraysInstanced not found!", .{});
7059 success = false;
7060 }
7061 if(get_proc_address(load_ctx, "glDrawElementsInstanced")) |proc| {
7062 function_pointers.glDrawElementsInstanced = @ptrCast(proc);
7063 } else {
7064 log.err("entry point glDrawElementsInstanced not found!", .{});
7065 success = false;
7066 }
7067 if(get_proc_address(load_ctx, "glTexBuffer")) |proc| {
7068 function_pointers.glTexBuffer = @ptrCast(proc);
7069 } else {
7070 log.err("entry point glTexBuffer not found!", .{});
7071 success = false;
7072 }
7073 if(get_proc_address(load_ctx, "glPrimitiveRestartIndex")) |proc| {
7074 function_pointers.glPrimitiveRestartIndex = @ptrCast(proc);
7075 } else {
7076 log.err("entry point glPrimitiveRestartIndex not found!", .{});
7077 success = false;
7078 }
7079 if(get_proc_address(load_ctx, "glCopyBufferSubData")) |proc| {
7080 function_pointers.glCopyBufferSubData = @ptrCast(proc);
7081 } else {
7082 log.err("entry point glCopyBufferSubData not found!", .{});
7083 success = false;
7084 }
7085 if(get_proc_address(load_ctx, "glGetUniformIndices")) |proc| {
7086 function_pointers.glGetUniformIndices = @ptrCast(proc);
7087 } else {
7088 log.err("entry point glGetUniformIndices not found!", .{});
7089 success = false;
7090 }
7091 if(get_proc_address(load_ctx, "glGetActiveUniformsiv")) |proc| {
7092 function_pointers.glGetActiveUniformsiv = @ptrCast(proc);
7093 } else {
7094 log.err("entry point glGetActiveUniformsiv not found!", .{});
7095 success = false;
7096 }
7097 if(get_proc_address(load_ctx, "glGetActiveUniformName")) |proc| {
7098 function_pointers.glGetActiveUniformName = @ptrCast(proc);
7099 } else {
7100 log.err("entry point glGetActiveUniformName not found!", .{});
7101 success = false;
7102 }
7103 if(get_proc_address(load_ctx, "glGetUniformBlockIndex")) |proc| {
7104 function_pointers.glGetUniformBlockIndex = @ptrCast(proc);
7105 } else {
7106 log.err("entry point glGetUniformBlockIndex not found!", .{});
7107 success = false;
7108 }
7109 if(get_proc_address(load_ctx, "glGetActiveUniformBlockiv")) |proc| {
7110 function_pointers.glGetActiveUniformBlockiv = @ptrCast(proc);
7111 } else {
7112 log.err("entry point glGetActiveUniformBlockiv not found!", .{});
7113 success = false;
7114 }
7115 if(get_proc_address(load_ctx, "glGetActiveUniformBlockName")) |proc| {
7116 function_pointers.glGetActiveUniformBlockName = @ptrCast(proc);
7117 } else {
7118 log.err("entry point glGetActiveUniformBlockName not found!", .{});
7119 success = false;
7120 }
7121 if(get_proc_address(load_ctx, "glUniformBlockBinding")) |proc| {
7122 function_pointers.glUniformBlockBinding = @ptrCast(proc);
7123 } else {
7124 log.err("entry point glUniformBlockBinding not found!", .{});
7125 success = false;
7126 }
7127 if(get_proc_address(load_ctx, "glTexStorage3DMultisample")) |proc| {
7128 function_pointers.glTexStorage3DMultisample = @ptrCast(proc);
7129 } else {
7130 log.err("entry point glTexStorage3DMultisample not found!", .{});
7131 success = false;
7132 }
7133 if(get_proc_address(load_ctx, "glTextureView")) |proc| {
7134 function_pointers.glTextureView = @ptrCast(proc);
7135 } else {
7136 log.err("entry point glTextureView not found!", .{});
7137 success = false;
7138 }
7139 if(get_proc_address(load_ctx, "glBindVertexBuffer")) |proc| {
7140 function_pointers.glBindVertexBuffer = @ptrCast(proc);
7141 } else {
7142 log.err("entry point glBindVertexBuffer not found!", .{});
7143 success = false;
7144 }
7145 if(get_proc_address(load_ctx, "glVertexAttribFormat")) |proc| {
7146 function_pointers.glVertexAttribFormat = @ptrCast(proc);
7147 } else {
7148 log.err("entry point glVertexAttribFormat not found!", .{});
7149 success = false;
7150 }
7151 if(get_proc_address(load_ctx, "glVertexAttribIFormat")) |proc| {
7152 function_pointers.glVertexAttribIFormat = @ptrCast(proc);
7153 } else {
7154 log.err("entry point glVertexAttribIFormat not found!", .{});
7155 success = false;
7156 }
7157 if(get_proc_address(load_ctx, "glVertexAttribLFormat")) |proc| {
7158 function_pointers.glVertexAttribLFormat = @ptrCast(proc);
7159 } else {
7160 log.err("entry point glVertexAttribLFormat not found!", .{});
7161 success = false;
7162 }
7163 if(get_proc_address(load_ctx, "glVertexAttribBinding")) |proc| {
7164 function_pointers.glVertexAttribBinding = @ptrCast(proc);
7165 } else {
7166 log.err("entry point glVertexAttribBinding not found!", .{});
7167 success = false;
7168 }
7169 if(get_proc_address(load_ctx, "glVertexBindingDivisor")) |proc| {
7170 function_pointers.glVertexBindingDivisor = @ptrCast(proc);
7171 } else {
7172 log.err("entry point glVertexBindingDivisor not found!", .{});
7173 success = false;
7174 }
7175 if(get_proc_address(load_ctx, "glDebugMessageControl")) |proc| {
7176 function_pointers.glDebugMessageControl = @ptrCast(proc);
7177 } else {
7178 log.err("entry point glDebugMessageControl not found!", .{});
7179 success = false;
7180 }
7181 if(get_proc_address(load_ctx, "glDebugMessageInsert")) |proc| {
7182 function_pointers.glDebugMessageInsert = @ptrCast(proc);
7183 } else {
7184 log.err("entry point glDebugMessageInsert not found!", .{});
7185 success = false;
7186 }
7187 if(get_proc_address(load_ctx, "glDebugMessageCallback")) |proc| {
7188 function_pointers.glDebugMessageCallback = @ptrCast(proc);
7189 } else {
7190 log.err("entry point glDebugMessageCallback not found!", .{});
7191 success = false;
7192 }
7193 if(get_proc_address(load_ctx, "glGetDebugMessageLog")) |proc| {
7194 function_pointers.glGetDebugMessageLog = @ptrCast(proc);
7195 } else {
7196 log.err("entry point glGetDebugMessageLog not found!", .{});
7197 success = false;
7198 }
7199 if(get_proc_address(load_ctx, "glPushDebugGroup")) |proc| {
7200 function_pointers.glPushDebugGroup = @ptrCast(proc);
7201 } else {
7202 log.err("entry point glPushDebugGroup not found!", .{});
7203 success = false;
7204 }
7205 if(get_proc_address(load_ctx, "glPopDebugGroup")) |proc| {
7206 function_pointers.glPopDebugGroup = @ptrCast(proc);
7207 } else {
7208 log.err("entry point glPopDebugGroup not found!", .{});
7209 success = false;
7210 }
7211 if(get_proc_address(load_ctx, "glObjectLabel")) |proc| {
7212 function_pointers.glObjectLabel = @ptrCast(proc);
7213 } else {
7214 log.err("entry point glObjectLabel not found!", .{});
7215 success = false;
7216 }
7217 if(get_proc_address(load_ctx, "glGetObjectLabel")) |proc| {
7218 function_pointers.glGetObjectLabel = @ptrCast(proc);
7219 } else {
7220 log.err("entry point glGetObjectLabel not found!", .{});
7221 success = false;
7222 }
7223 if(get_proc_address(load_ctx, "glObjectPtrLabel")) |proc| {
7224 function_pointers.glObjectPtrLabel = @ptrCast(proc);
7225 } else {
7226 log.err("entry point glObjectPtrLabel not found!", .{});
7227 success = false;
7228 }
7229 if(get_proc_address(load_ctx, "glGetObjectPtrLabel")) |proc| {
7230 function_pointers.glGetObjectPtrLabel = @ptrCast(proc);
7231 } else {
7232 log.err("entry point glGetObjectPtrLabel not found!", .{});
7233 success = false;
7234 }
7235 if(get_proc_address(load_ctx, "glGetPointerv")) |proc| {
7236 function_pointers.glGetPointerv = @ptrCast(proc);
7237 } else {
7238 log.err("entry point glGetPointerv not found!", .{});
7239 success = false;
7240 }
7241 if(get_proc_address(load_ctx, "glBufferStorage")) |proc| {
7242 function_pointers.glBufferStorage = @ptrCast(proc);
7243 } else {
7244 log.err("entry point glBufferStorage not found!", .{});
7245 success = false;
7246 }
7247 if(get_proc_address(load_ctx, "glClearTexImage")) |proc| {
7248 function_pointers.glClearTexImage = @ptrCast(proc);
7249 } else {
7250 log.err("entry point glClearTexImage not found!", .{});
7251 success = false;
7252 }
7253 if(get_proc_address(load_ctx, "glClearTexSubImage")) |proc| {
7254 function_pointers.glClearTexSubImage = @ptrCast(proc);
7255 } else {
7256 log.err("entry point glClearTexSubImage not found!", .{});
7257 success = false;
7258 }
7259 if(get_proc_address(load_ctx, "glBindBuffersBase")) |proc| {
7260 function_pointers.glBindBuffersBase = @ptrCast(proc);
7261 } else {
7262 log.err("entry point glBindBuffersBase not found!", .{});
7263 success = false;
7264 }
7265 if(get_proc_address(load_ctx, "glBindBuffersRange")) |proc| {
7266 function_pointers.glBindBuffersRange = @ptrCast(proc);
7267 } else {
7268 log.err("entry point glBindBuffersRange not found!", .{});
7269 success = false;
7270 }
7271 if(get_proc_address(load_ctx, "glBindTextures")) |proc| {
7272 function_pointers.glBindTextures = @ptrCast(proc);
7273 } else {
7274 log.err("entry point glBindTextures not found!", .{});
7275 success = false;
7276 }
7277 if(get_proc_address(load_ctx, "glBindSamplers")) |proc| {
7278 function_pointers.glBindSamplers = @ptrCast(proc);
7279 } else {
7280 log.err("entry point glBindSamplers not found!", .{});
7281 success = false;
7282 }
7283 if(get_proc_address(load_ctx, "glBindImageTextures")) |proc| {
7284 function_pointers.glBindImageTextures = @ptrCast(proc);
7285 } else {
7286 log.err("entry point glBindImageTextures not found!", .{});
7287 success = false;
7288 }
7289 if(get_proc_address(load_ctx, "glBindVertexBuffers")) |proc| {
7290 function_pointers.glBindVertexBuffers = @ptrCast(proc);
7291 } else {
7292 log.err("entry point glBindVertexBuffers not found!", .{});
7293 success = false;
7294 }
7295 if(get_proc_address(load_ctx, "glClipControl")) |proc| {
7296 function_pointers.glClipControl = @ptrCast(proc);
7297 } else {
7298 log.err("entry point glClipControl not found!", .{});
7299 success = false;
7300 }
7301 if(get_proc_address(load_ctx, "glCreateTransformFeedbacks")) |proc| {
7302 function_pointers.glCreateTransformFeedbacks = @ptrCast(proc);
7303 } else {
7304 log.err("entry point glCreateTransformFeedbacks not found!", .{});
7305 success = false;
7306 }
7307 if(get_proc_address(load_ctx, "glTransformFeedbackBufferBase")) |proc| {
7308 function_pointers.glTransformFeedbackBufferBase = @ptrCast(proc);
7309 } else {
7310 log.err("entry point glTransformFeedbackBufferBase not found!", .{});
7311 success = false;
7312 }
7313 if(get_proc_address(load_ctx, "glTransformFeedbackBufferRange")) |proc| {
7314 function_pointers.glTransformFeedbackBufferRange = @ptrCast(proc);
7315 } else {
7316 log.err("entry point glTransformFeedbackBufferRange not found!", .{});
7317 success = false;
7318 }
7319 if(get_proc_address(load_ctx, "glGetTransformFeedbackiv")) |proc| {
7320 function_pointers.glGetTransformFeedbackiv = @ptrCast(proc);
7321 } else {
7322 log.err("entry point glGetTransformFeedbackiv not found!", .{});
7323 success = false;
7324 }
7325 if(get_proc_address(load_ctx, "glGetTransformFeedbacki_v")) |proc| {
7326 function_pointers.glGetTransformFeedbacki_v = @ptrCast(proc);
7327 } else {
7328 log.err("entry point glGetTransformFeedbacki_v not found!", .{});
7329 success = false;
7330 }
7331 if(get_proc_address(load_ctx, "glGetTransformFeedbacki64_v")) |proc| {
7332 function_pointers.glGetTransformFeedbacki64_v = @ptrCast(proc);
7333 } else {
7334 log.err("entry point glGetTransformFeedbacki64_v not found!", .{});
7335 success = false;
7336 }
7337 if(get_proc_address(load_ctx, "glCreateBuffers")) |proc| {
7338 function_pointers.glCreateBuffers = @ptrCast(proc);
7339 } else {
7340 log.err("entry point glCreateBuffers not found!", .{});
7341 success = false;
7342 }
7343 if(get_proc_address(load_ctx, "glNamedBufferStorage")) |proc| {
7344 function_pointers.glNamedBufferStorage = @ptrCast(proc);
7345 } else {
7346 log.err("entry point glNamedBufferStorage not found!", .{});
7347 success = false;
7348 }
7349 if(get_proc_address(load_ctx, "glNamedBufferData")) |proc| {
7350 function_pointers.glNamedBufferData = @ptrCast(proc);
7351 } else {
7352 log.err("entry point glNamedBufferData not found!", .{});
7353 success = false;
7354 }
7355 if(get_proc_address(load_ctx, "glNamedBufferSubData")) |proc| {
7356 function_pointers.glNamedBufferSubData = @ptrCast(proc);
7357 } else {
7358 log.err("entry point glNamedBufferSubData not found!", .{});
7359 success = false;
7360 }
7361 if(get_proc_address(load_ctx, "glCopyNamedBufferSubData")) |proc| {
7362 function_pointers.glCopyNamedBufferSubData = @ptrCast(proc);
7363 } else {
7364 log.err("entry point glCopyNamedBufferSubData not found!", .{});
7365 success = false;
7366 }
7367 if(get_proc_address(load_ctx, "glClearNamedBufferData")) |proc| {
7368 function_pointers.glClearNamedBufferData = @ptrCast(proc);
7369 } else {
7370 log.err("entry point glClearNamedBufferData not found!", .{});
7371 success = false;
7372 }
7373 if(get_proc_address(load_ctx, "glClearNamedBufferSubData")) |proc| {
7374 function_pointers.glClearNamedBufferSubData = @ptrCast(proc);
7375 } else {
7376 log.err("entry point glClearNamedBufferSubData not found!", .{});
7377 success = false;
7378 }
7379 if(get_proc_address(load_ctx, "glMapNamedBuffer")) |proc| {
7380 function_pointers.glMapNamedBuffer = @ptrCast(proc);
7381 } else {
7382 log.err("entry point glMapNamedBuffer not found!", .{});
7383 success = false;
7384 }
7385 if(get_proc_address(load_ctx, "glMapNamedBufferRange")) |proc| {
7386 function_pointers.glMapNamedBufferRange = @ptrCast(proc);
7387 } else {
7388 log.err("entry point glMapNamedBufferRange not found!", .{});
7389 success = false;
7390 }
7391 if(get_proc_address(load_ctx, "glUnmapNamedBuffer")) |proc| {
7392 function_pointers.glUnmapNamedBuffer = @ptrCast(proc);
7393 } else {
7394 log.err("entry point glUnmapNamedBuffer not found!", .{});
7395 success = false;
7396 }
7397 if(get_proc_address(load_ctx, "glFlushMappedNamedBufferRange")) |proc| {
7398 function_pointers.glFlushMappedNamedBufferRange = @ptrCast(proc);
7399 } else {
7400 log.err("entry point glFlushMappedNamedBufferRange not found!", .{});
7401 success = false;
7402 }
7403 if(get_proc_address(load_ctx, "glGetNamedBufferParameteriv")) |proc| {
7404 function_pointers.glGetNamedBufferParameteriv = @ptrCast(proc);
7405 } else {
7406 log.err("entry point glGetNamedBufferParameteriv not found!", .{});
7407 success = false;
7408 }
7409 if(get_proc_address(load_ctx, "glGetNamedBufferParameteri64v")) |proc| {
7410 function_pointers.glGetNamedBufferParameteri64v = @ptrCast(proc);
7411 } else {
7412 log.err("entry point glGetNamedBufferParameteri64v not found!", .{});
7413 success = false;
7414 }
7415 if(get_proc_address(load_ctx, "glGetNamedBufferPointerv")) |proc| {
7416 function_pointers.glGetNamedBufferPointerv = @ptrCast(proc);
7417 } else {
7418 log.err("entry point glGetNamedBufferPointerv not found!", .{});
7419 success = false;
7420 }
7421 if(get_proc_address(load_ctx, "glGetNamedBufferSubData")) |proc| {
7422 function_pointers.glGetNamedBufferSubData = @ptrCast(proc);
7423 } else {
7424 log.err("entry point glGetNamedBufferSubData not found!", .{});
7425 success = false;
7426 }
7427 if(get_proc_address(load_ctx, "glCreateFramebuffers")) |proc| {
7428 function_pointers.glCreateFramebuffers = @ptrCast(proc);
7429 } else {
7430 log.err("entry point glCreateFramebuffers not found!", .{});
7431 success = false;
7432 }
7433 if(get_proc_address(load_ctx, "glNamedFramebufferRenderbuffer")) |proc| {
7434 function_pointers.glNamedFramebufferRenderbuffer = @ptrCast(proc);
7435 } else {
7436 log.err("entry point glNamedFramebufferRenderbuffer not found!", .{});
7437 success = false;
7438 }
7439 if(get_proc_address(load_ctx, "glNamedFramebufferParameteri")) |proc| {
7440 function_pointers.glNamedFramebufferParameteri = @ptrCast(proc);
7441 } else {
7442 log.err("entry point glNamedFramebufferParameteri not found!", .{});
7443 success = false;
7444 }
7445 if(get_proc_address(load_ctx, "glNamedFramebufferTexture")) |proc| {
7446 function_pointers.glNamedFramebufferTexture = @ptrCast(proc);
7447 } else {
7448 log.err("entry point glNamedFramebufferTexture not found!", .{});
7449 success = false;
7450 }
7451 if(get_proc_address(load_ctx, "glNamedFramebufferTextureLayer")) |proc| {
7452 function_pointers.glNamedFramebufferTextureLayer = @ptrCast(proc);
7453 } else {
7454 log.err("entry point glNamedFramebufferTextureLayer not found!", .{});
7455 success = false;
7456 }
7457 if(get_proc_address(load_ctx, "glNamedFramebufferDrawBuffer")) |proc| {
7458 function_pointers.glNamedFramebufferDrawBuffer = @ptrCast(proc);
7459 } else {
7460 log.err("entry point glNamedFramebufferDrawBuffer not found!", .{});
7461 success = false;
7462 }
7463 if(get_proc_address(load_ctx, "glNamedFramebufferDrawBuffers")) |proc| {
7464 function_pointers.glNamedFramebufferDrawBuffers = @ptrCast(proc);
7465 } else {
7466 log.err("entry point glNamedFramebufferDrawBuffers not found!", .{});
7467 success = false;
7468 }
7469 if(get_proc_address(load_ctx, "glNamedFramebufferReadBuffer")) |proc| {
7470 function_pointers.glNamedFramebufferReadBuffer = @ptrCast(proc);
7471 } else {
7472 log.err("entry point glNamedFramebufferReadBuffer not found!", .{});
7473 success = false;
7474 }
7475 if(get_proc_address(load_ctx, "glInvalidateNamedFramebufferData")) |proc| {
7476 function_pointers.glInvalidateNamedFramebufferData = @ptrCast(proc);
7477 } else {
7478 log.err("entry point glInvalidateNamedFramebufferData not found!", .{});
7479 success = false;
7480 }
7481 if(get_proc_address(load_ctx, "glInvalidateNamedFramebufferSubData")) |proc| {
7482 function_pointers.glInvalidateNamedFramebufferSubData = @ptrCast(proc);
7483 } else {
7484 log.err("entry point glInvalidateNamedFramebufferSubData not found!", .{});
7485 success = false;
7486 }
7487 if(get_proc_address(load_ctx, "glClearNamedFramebufferiv")) |proc| {
7488 function_pointers.glClearNamedFramebufferiv = @ptrCast(proc);
7489 } else {
7490 log.err("entry point glClearNamedFramebufferiv not found!", .{});
7491 success = false;
7492 }
7493 if(get_proc_address(load_ctx, "glClearNamedFramebufferuiv")) |proc| {
7494 function_pointers.glClearNamedFramebufferuiv = @ptrCast(proc);
7495 } else {
7496 log.err("entry point glClearNamedFramebufferuiv not found!", .{});
7497 success = false;
7498 }
7499 if(get_proc_address(load_ctx, "glClearNamedFramebufferfv")) |proc| {
7500 function_pointers.glClearNamedFramebufferfv = @ptrCast(proc);
7501 } else {
7502 log.err("entry point glClearNamedFramebufferfv not found!", .{});
7503 success = false;
7504 }
7505 if(get_proc_address(load_ctx, "glClearNamedFramebufferfi")) |proc| {
7506 function_pointers.glClearNamedFramebufferfi = @ptrCast(proc);
7507 } else {
7508 log.err("entry point glClearNamedFramebufferfi not found!", .{});
7509 success = false;
7510 }
7511 if(get_proc_address(load_ctx, "glBlitNamedFramebuffer")) |proc| {
7512 function_pointers.glBlitNamedFramebuffer = @ptrCast(proc);
7513 } else {
7514 log.err("entry point glBlitNamedFramebuffer not found!", .{});
7515 success = false;
7516 }
7517 if(get_proc_address(load_ctx, "glCheckNamedFramebufferStatus")) |proc| {
7518 function_pointers.glCheckNamedFramebufferStatus = @ptrCast(proc);
7519 } else {
7520 log.err("entry point glCheckNamedFramebufferStatus not found!", .{});
7521 success = false;
7522 }
7523 if(get_proc_address(load_ctx, "glGetNamedFramebufferParameteriv")) |proc| {
7524 function_pointers.glGetNamedFramebufferParameteriv = @ptrCast(proc);
7525 } else {
7526 log.err("entry point glGetNamedFramebufferParameteriv not found!", .{});
7527 success = false;
7528 }
7529 if(get_proc_address(load_ctx, "glGetNamedFramebufferAttachmentParameteriv")) |proc| {
7530 function_pointers.glGetNamedFramebufferAttachmentParameteriv = @ptrCast(proc);
7531 } else {
7532 log.err("entry point glGetNamedFramebufferAttachmentParameteriv not found!", .{});
7533 success = false;
7534 }
7535 if(get_proc_address(load_ctx, "glCreateRenderbuffers")) |proc| {
7536 function_pointers.glCreateRenderbuffers = @ptrCast(proc);
7537 } else {
7538 log.err("entry point glCreateRenderbuffers not found!", .{});
7539 success = false;
7540 }
7541 if(get_proc_address(load_ctx, "glNamedRenderbufferStorage")) |proc| {
7542 function_pointers.glNamedRenderbufferStorage = @ptrCast(proc);
7543 } else {
7544 log.err("entry point glNamedRenderbufferStorage not found!", .{});
7545 success = false;
7546 }
7547 if(get_proc_address(load_ctx, "glNamedRenderbufferStorageMultisample")) |proc| {
7548 function_pointers.glNamedRenderbufferStorageMultisample = @ptrCast(proc);
7549 } else {
7550 log.err("entry point glNamedRenderbufferStorageMultisample not found!", .{});
7551 success = false;
7552 }
7553 if(get_proc_address(load_ctx, "glGetNamedRenderbufferParameteriv")) |proc| {
7554 function_pointers.glGetNamedRenderbufferParameteriv = @ptrCast(proc);
7555 } else {
7556 log.err("entry point glGetNamedRenderbufferParameteriv not found!", .{});
7557 success = false;
7558 }
7559 if(get_proc_address(load_ctx, "glCreateTextures")) |proc| {
7560 function_pointers.glCreateTextures = @ptrCast(proc);
7561 } else {
7562 log.err("entry point glCreateTextures not found!", .{});
7563 success = false;
7564 }
7565 if(get_proc_address(load_ctx, "glTextureBuffer")) |proc| {
7566 function_pointers.glTextureBuffer = @ptrCast(proc);
7567 } else {
7568 log.err("entry point glTextureBuffer not found!", .{});
7569 success = false;
7570 }
7571 if(get_proc_address(load_ctx, "glTextureBufferRange")) |proc| {
7572 function_pointers.glTextureBufferRange = @ptrCast(proc);
7573 } else {
7574 log.err("entry point glTextureBufferRange not found!", .{});
7575 success = false;
7576 }
7577 if(get_proc_address(load_ctx, "glTextureStorage1D")) |proc| {
7578 function_pointers.glTextureStorage1D = @ptrCast(proc);
7579 } else {
7580 log.err("entry point glTextureStorage1D not found!", .{});
7581 success = false;
7582 }
7583 if(get_proc_address(load_ctx, "glTextureStorage2D")) |proc| {
7584 function_pointers.glTextureStorage2D = @ptrCast(proc);
7585 } else {
7586 log.err("entry point glTextureStorage2D not found!", .{});
7587 success = false;
7588 }
7589 if(get_proc_address(load_ctx, "glTextureStorage3D")) |proc| {
7590 function_pointers.glTextureStorage3D = @ptrCast(proc);
7591 } else {
7592 log.err("entry point glTextureStorage3D not found!", .{});
7593 success = false;
7594 }
7595 if(get_proc_address(load_ctx, "glTextureStorage2DMultisample")) |proc| {
7596 function_pointers.glTextureStorage2DMultisample = @ptrCast(proc);
7597 } else {
7598 log.err("entry point glTextureStorage2DMultisample not found!", .{});
7599 success = false;
7600 }
7601 if(get_proc_address(load_ctx, "glTextureStorage3DMultisample")) |proc| {
7602 function_pointers.glTextureStorage3DMultisample = @ptrCast(proc);
7603 } else {
7604 log.err("entry point glTextureStorage3DMultisample not found!", .{});
7605 success = false;
7606 }
7607 if(get_proc_address(load_ctx, "glTextureSubImage1D")) |proc| {
7608 function_pointers.glTextureSubImage1D = @ptrCast(proc);
7609 } else {
7610 log.err("entry point glTextureSubImage1D not found!", .{});
7611 success = false;
7612 }
7613 if(get_proc_address(load_ctx, "glTextureSubImage2D")) |proc| {
7614 function_pointers.glTextureSubImage2D = @ptrCast(proc);
7615 } else {
7616 log.err("entry point glTextureSubImage2D not found!", .{});
7617 success = false;
7618 }
7619 if(get_proc_address(load_ctx, "glTextureSubImage3D")) |proc| {
7620 function_pointers.glTextureSubImage3D = @ptrCast(proc);
7621 } else {
7622 log.err("entry point glTextureSubImage3D not found!", .{});
7623 success = false;
7624 }
7625 if(get_proc_address(load_ctx, "glCompressedTextureSubImage1D")) |proc| {
7626 function_pointers.glCompressedTextureSubImage1D = @ptrCast(proc);
7627 } else {
7628 log.err("entry point glCompressedTextureSubImage1D not found!", .{});
7629 success = false;
7630 }
7631 if(get_proc_address(load_ctx, "glCompressedTextureSubImage2D")) |proc| {
7632 function_pointers.glCompressedTextureSubImage2D = @ptrCast(proc);
7633 } else {
7634 log.err("entry point glCompressedTextureSubImage2D not found!", .{});
7635 success = false;
7636 }
7637 if(get_proc_address(load_ctx, "glCompressedTextureSubImage3D")) |proc| {
7638 function_pointers.glCompressedTextureSubImage3D = @ptrCast(proc);
7639 } else {
7640 log.err("entry point glCompressedTextureSubImage3D not found!", .{});
7641 success = false;
7642 }
7643 if(get_proc_address(load_ctx, "glCopyTextureSubImage1D")) |proc| {
7644 function_pointers.glCopyTextureSubImage1D = @ptrCast(proc);
7645 } else {
7646 log.err("entry point glCopyTextureSubImage1D not found!", .{});
7647 success = false;
7648 }
7649 if(get_proc_address(load_ctx, "glCopyTextureSubImage2D")) |proc| {
7650 function_pointers.glCopyTextureSubImage2D = @ptrCast(proc);
7651 } else {
7652 log.err("entry point glCopyTextureSubImage2D not found!", .{});
7653 success = false;
7654 }
7655 if(get_proc_address(load_ctx, "glCopyTextureSubImage3D")) |proc| {
7656 function_pointers.glCopyTextureSubImage3D = @ptrCast(proc);
7657 } else {
7658 log.err("entry point glCopyTextureSubImage3D not found!", .{});
7659 success = false;
7660 }
7661 if(get_proc_address(load_ctx, "glTextureParameterf")) |proc| {
7662 function_pointers.glTextureParameterf = @ptrCast(proc);
7663 } else {
7664 log.err("entry point glTextureParameterf not found!", .{});
7665 success = false;
7666 }
7667 if(get_proc_address(load_ctx, "glTextureParameterfv")) |proc| {
7668 function_pointers.glTextureParameterfv = @ptrCast(proc);
7669 } else {
7670 log.err("entry point glTextureParameterfv not found!", .{});
7671 success = false;
7672 }
7673 if(get_proc_address(load_ctx, "glTextureParameteri")) |proc| {
7674 function_pointers.glTextureParameteri = @ptrCast(proc);
7675 } else {
7676 log.err("entry point glTextureParameteri not found!", .{});
7677 success = false;
7678 }
7679 if(get_proc_address(load_ctx, "glTextureParameterIiv")) |proc| {
7680 function_pointers.glTextureParameterIiv = @ptrCast(proc);
7681 } else {
7682 log.err("entry point glTextureParameterIiv not found!", .{});
7683 success = false;
7684 }
7685 if(get_proc_address(load_ctx, "glTextureParameterIuiv")) |proc| {
7686 function_pointers.glTextureParameterIuiv = @ptrCast(proc);
7687 } else {
7688 log.err("entry point glTextureParameterIuiv not found!", .{});
7689 success = false;
7690 }
7691 if(get_proc_address(load_ctx, "glTextureParameteriv")) |proc| {
7692 function_pointers.glTextureParameteriv = @ptrCast(proc);
7693 } else {
7694 log.err("entry point glTextureParameteriv not found!", .{});
7695 success = false;
7696 }
7697 if(get_proc_address(load_ctx, "glGenerateTextureMipmap")) |proc| {
7698 function_pointers.glGenerateTextureMipmap = @ptrCast(proc);
7699 } else {
7700 log.err("entry point glGenerateTextureMipmap not found!", .{});
7701 success = false;
7702 }
7703 if(get_proc_address(load_ctx, "glBindTextureUnit")) |proc| {
7704 function_pointers.glBindTextureUnit = @ptrCast(proc);
7705 } else {
7706 log.err("entry point glBindTextureUnit not found!", .{});
7707 success = false;
7708 }
7709 if(get_proc_address(load_ctx, "glGetTextureImage")) |proc| {
7710 function_pointers.glGetTextureImage = @ptrCast(proc);
7711 } else {
7712 log.err("entry point glGetTextureImage not found!", .{});
7713 success = false;
7714 }
7715 if(get_proc_address(load_ctx, "glGetCompressedTextureImage")) |proc| {
7716 function_pointers.glGetCompressedTextureImage = @ptrCast(proc);
7717 } else {
7718 log.err("entry point glGetCompressedTextureImage not found!", .{});
7719 success = false;
7720 }
7721 if(get_proc_address(load_ctx, "glGetTextureLevelParameterfv")) |proc| {
7722 function_pointers.glGetTextureLevelParameterfv = @ptrCast(proc);
7723 } else {
7724 log.err("entry point glGetTextureLevelParameterfv not found!", .{});
7725 success = false;
7726 }
7727 if(get_proc_address(load_ctx, "glGetTextureLevelParameteriv")) |proc| {
7728 function_pointers.glGetTextureLevelParameteriv = @ptrCast(proc);
7729 } else {
7730 log.err("entry point glGetTextureLevelParameteriv not found!", .{});
7731 success = false;
7732 }
7733 if(get_proc_address(load_ctx, "glGetTextureParameterfv")) |proc| {
7734 function_pointers.glGetTextureParameterfv = @ptrCast(proc);
7735 } else {
7736 log.err("entry point glGetTextureParameterfv not found!", .{});
7737 success = false;
7738 }
7739 if(get_proc_address(load_ctx, "glGetTextureParameterIiv")) |proc| {
7740 function_pointers.glGetTextureParameterIiv = @ptrCast(proc);
7741 } else {
7742 log.err("entry point glGetTextureParameterIiv not found!", .{});
7743 success = false;
7744 }
7745 if(get_proc_address(load_ctx, "glGetTextureParameterIuiv")) |proc| {
7746 function_pointers.glGetTextureParameterIuiv = @ptrCast(proc);
7747 } else {
7748 log.err("entry point glGetTextureParameterIuiv not found!", .{});
7749 success = false;
7750 }
7751 if(get_proc_address(load_ctx, "glGetTextureParameteriv")) |proc| {
7752 function_pointers.glGetTextureParameteriv = @ptrCast(proc);
7753 } else {
7754 log.err("entry point glGetTextureParameteriv not found!", .{});
7755 success = false;
7756 }
7757 if(get_proc_address(load_ctx, "glCreateVertexArrays")) |proc| {
7758 function_pointers.glCreateVertexArrays = @ptrCast(proc);
7759 } else {
7760 log.err("entry point glCreateVertexArrays not found!", .{});
7761 success = false;
7762 }
7763 if(get_proc_address(load_ctx, "glDisableVertexArrayAttrib")) |proc| {
7764 function_pointers.glDisableVertexArrayAttrib = @ptrCast(proc);
7765 } else {
7766 log.err("entry point glDisableVertexArrayAttrib not found!", .{});
7767 success = false;
7768 }
7769 if(get_proc_address(load_ctx, "glEnableVertexArrayAttrib")) |proc| {
7770 function_pointers.glEnableVertexArrayAttrib = @ptrCast(proc);
7771 } else {
7772 log.err("entry point glEnableVertexArrayAttrib not found!", .{});
7773 success = false;
7774 }
7775 if(get_proc_address(load_ctx, "glVertexArrayElementBuffer")) |proc| {
7776 function_pointers.glVertexArrayElementBuffer = @ptrCast(proc);
7777 } else {
7778 log.err("entry point glVertexArrayElementBuffer not found!", .{});
7779 success = false;
7780 }
7781 if(get_proc_address(load_ctx, "glVertexArrayVertexBuffer")) |proc| {
7782 function_pointers.glVertexArrayVertexBuffer = @ptrCast(proc);
7783 } else {
7784 log.err("entry point glVertexArrayVertexBuffer not found!", .{});
7785 success = false;
7786 }
7787 if(get_proc_address(load_ctx, "glVertexArrayVertexBuffers")) |proc| {
7788 function_pointers.glVertexArrayVertexBuffers = @ptrCast(proc);
7789 } else {
7790 log.err("entry point glVertexArrayVertexBuffers not found!", .{});
7791 success = false;
7792 }
7793 if(get_proc_address(load_ctx, "glVertexArrayAttribBinding")) |proc| {
7794 function_pointers.glVertexArrayAttribBinding = @ptrCast(proc);
7795 } else {
7796 log.err("entry point glVertexArrayAttribBinding not found!", .{});
7797 success = false;
7798 }
7799 if(get_proc_address(load_ctx, "glVertexArrayAttribFormat")) |proc| {
7800 function_pointers.glVertexArrayAttribFormat = @ptrCast(proc);
7801 } else {
7802 log.err("entry point glVertexArrayAttribFormat not found!", .{});
7803 success = false;
7804 }
7805 if(get_proc_address(load_ctx, "glVertexArrayAttribIFormat")) |proc| {
7806 function_pointers.glVertexArrayAttribIFormat = @ptrCast(proc);
7807 } else {
7808 log.err("entry point glVertexArrayAttribIFormat not found!", .{});
7809 success = false;
7810 }
7811 if(get_proc_address(load_ctx, "glVertexArrayAttribLFormat")) |proc| {
7812 function_pointers.glVertexArrayAttribLFormat = @ptrCast(proc);
7813 } else {
7814 log.err("entry point glVertexArrayAttribLFormat not found!", .{});
7815 success = false;
7816 }
7817 if(get_proc_address(load_ctx, "glVertexArrayBindingDivisor")) |proc| {
7818 function_pointers.glVertexArrayBindingDivisor = @ptrCast(proc);
7819 } else {
7820 log.err("entry point glVertexArrayBindingDivisor not found!", .{});
7821 success = false;
7822 }
7823 if(get_proc_address(load_ctx, "glGetVertexArrayiv")) |proc| {
7824 function_pointers.glGetVertexArrayiv = @ptrCast(proc);
7825 } else {
7826 log.err("entry point glGetVertexArrayiv not found!", .{});
7827 success = false;
7828 }
7829 if(get_proc_address(load_ctx, "glGetVertexArrayIndexediv")) |proc| {
7830 function_pointers.glGetVertexArrayIndexediv = @ptrCast(proc);
7831 } else {
7832 log.err("entry point glGetVertexArrayIndexediv not found!", .{});
7833 success = false;
7834 }
7835 if(get_proc_address(load_ctx, "glGetVertexArrayIndexed64iv")) |proc| {
7836 function_pointers.glGetVertexArrayIndexed64iv = @ptrCast(proc);
7837 } else {
7838 log.err("entry point glGetVertexArrayIndexed64iv not found!", .{});
7839 success = false;
7840 }
7841 if(get_proc_address(load_ctx, "glCreateSamplers")) |proc| {
7842 function_pointers.glCreateSamplers = @ptrCast(proc);
7843 } else {
7844 log.err("entry point glCreateSamplers not found!", .{});
7845 success = false;
7846 }
7847 if(get_proc_address(load_ctx, "glCreateProgramPipelines")) |proc| {
7848 function_pointers.glCreateProgramPipelines = @ptrCast(proc);
7849 } else {
7850 log.err("entry point glCreateProgramPipelines not found!", .{});
7851 success = false;
7852 }
7853 if(get_proc_address(load_ctx, "glCreateQueries")) |proc| {
7854 function_pointers.glCreateQueries = @ptrCast(proc);
7855 } else {
7856 log.err("entry point glCreateQueries not found!", .{});
7857 success = false;
7858 }
7859 if(get_proc_address(load_ctx, "glGetQueryBufferObjecti64v")) |proc| {
7860 function_pointers.glGetQueryBufferObjecti64v = @ptrCast(proc);
7861 } else {
7862 log.err("entry point glGetQueryBufferObjecti64v not found!", .{});
7863 success = false;
7864 }
7865 if(get_proc_address(load_ctx, "glGetQueryBufferObjectiv")) |proc| {
7866 function_pointers.glGetQueryBufferObjectiv = @ptrCast(proc);
7867 } else {
7868 log.err("entry point glGetQueryBufferObjectiv not found!", .{});
7869 success = false;
7870 }
7871 if(get_proc_address(load_ctx, "glGetQueryBufferObjectui64v")) |proc| {
7872 function_pointers.glGetQueryBufferObjectui64v = @ptrCast(proc);
7873 } else {
7874 log.err("entry point glGetQueryBufferObjectui64v not found!", .{});
7875 success = false;
7876 }
7877 if(get_proc_address(load_ctx, "glGetQueryBufferObjectuiv")) |proc| {
7878 function_pointers.glGetQueryBufferObjectuiv = @ptrCast(proc);
7879 } else {
7880 log.err("entry point glGetQueryBufferObjectuiv not found!", .{});
7881 success = false;
7882 }
7883 if(get_proc_address(load_ctx, "glMemoryBarrierByRegion")) |proc| {
7884 function_pointers.glMemoryBarrierByRegion = @ptrCast(proc);
7885 } else {
7886 log.err("entry point glMemoryBarrierByRegion not found!", .{});
7887 success = false;
7888 }
7889 if(get_proc_address(load_ctx, "glGetTextureSubImage")) |proc| {
7890 function_pointers.glGetTextureSubImage = @ptrCast(proc);
7891 } else {
7892 log.err("entry point glGetTextureSubImage not found!", .{});
7893 success = false;
7894 }
7895 if(get_proc_address(load_ctx, "glGetCompressedTextureSubImage")) |proc| {
7896 function_pointers.glGetCompressedTextureSubImage = @ptrCast(proc);
7897 } else {
7898 log.err("entry point glGetCompressedTextureSubImage not found!", .{});
7899 success = false;
7900 }
7901 if(get_proc_address(load_ctx, "glGetGraphicsResetStatus")) |proc| {
7902 function_pointers.glGetGraphicsResetStatus = @ptrCast(proc);
7903 } else {
7904 log.err("entry point glGetGraphicsResetStatus not found!", .{});
7905 success = false;
7906 }
7907 if(get_proc_address(load_ctx, "glGetnCompressedTexImage")) |proc| {
7908 function_pointers.glGetnCompressedTexImage = @ptrCast(proc);
7909 } else {
7910 log.err("entry point glGetnCompressedTexImage not found!", .{});
7911 success = false;
7912 }
7913 if(get_proc_address(load_ctx, "glGetnTexImage")) |proc| {
7914 function_pointers.glGetnTexImage = @ptrCast(proc);
7915 } else {
7916 log.err("entry point glGetnTexImage not found!", .{});
7917 success = false;
7918 }
7919 if(get_proc_address(load_ctx, "glGetnUniformdv")) |proc| {
7920 function_pointers.glGetnUniformdv = @ptrCast(proc);
7921 } else {
7922 log.err("entry point glGetnUniformdv not found!", .{});
7923 success = false;
7924 }
7925 if(get_proc_address(load_ctx, "glGetnUniformfv")) |proc| {
7926 function_pointers.glGetnUniformfv = @ptrCast(proc);
7927 } else {
7928 log.err("entry point glGetnUniformfv not found!", .{});
7929 success = false;
7930 }
7931 if(get_proc_address(load_ctx, "glGetnUniformiv")) |proc| {
7932 function_pointers.glGetnUniformiv = @ptrCast(proc);
7933 } else {
7934 log.err("entry point glGetnUniformiv not found!", .{});
7935 success = false;
7936 }
7937 if(get_proc_address(load_ctx, "glGetnUniformuiv")) |proc| {
7938 function_pointers.glGetnUniformuiv = @ptrCast(proc);
7939 } else {
7940 log.err("entry point glGetnUniformuiv not found!", .{});
7941 success = false;
7942 }
7943 if(get_proc_address(load_ctx, "glReadnPixels")) |proc| {
7944 function_pointers.glReadnPixels = @ptrCast(proc);
7945 } else {
7946 log.err("entry point glReadnPixels not found!", .{});
7947 success = false;
7948 }
7949 if(get_proc_address(load_ctx, "glTextureBarrier")) |proc| {
7950 function_pointers.glTextureBarrier = @ptrCast(proc);
7951 } else {
7952 log.err("entry point glTextureBarrier not found!", .{});
7953 success = false;
7954 }
7955 if(!success)
7956 return error.EntryPointNotFound;
7957}
7958
7959const function_signatures = struct {
7960 const glTexStorage2D = fn(_target: GLenum, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void;
7961 const glTexStorage1D = fn(_target: GLenum, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei) callconv(.C) void;
7962 const glDrawTransformFeedbackStreamInstanced = fn(_mode: GLenum, _id: GLuint, _stream: GLuint, _instancecount: GLsizei) callconv(.C) void;
7963 const glDrawTransformFeedbackInstanced = fn(_mode: GLenum, _id: GLuint, _instancecount: GLsizei) callconv(.C) void;
7964 const glTexStorage3D = fn(_target: GLenum, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei) callconv(.C) void;
7965 const glMemoryBarrier = fn(_barriers: GLbitfield) callconv(.C) void;
7966 const glBindImageTexture = fn(_unit: GLuint, _texture: GLuint, _level: GLint, _layered: GLboolean, _layer: GLint, _access: GLenum, _format: GLenum) callconv(.C) void;
7967 const glGetActiveAtomicCounterBufferiv = fn(_program: GLuint, _bufferIndex: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
7968 const glGetInternalformativ = fn(_target: GLenum, _internalformat: GLenum, _pname: GLenum, _count: GLsizei, _params: [*c]GLint) callconv(.C) void;
7969 const glDrawElementsInstancedBaseVertexBaseInstance = fn(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei, _basevertex: GLint, _baseinstance: GLuint) callconv(.C) void;
7970 const glDrawElementsInstancedBaseInstance = fn(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei, _baseinstance: GLuint) callconv(.C) void;
7971 const glDrawArraysInstancedBaseInstance = fn(_mode: GLenum, _first: GLint, _count: GLsizei, _instancecount: GLsizei, _baseinstance: GLuint) callconv(.C) void;
7972 const glGetDoublei_v = fn(_target: GLenum, _index: GLuint, _data: [*c]GLdouble) callconv(.C) void;
7973 const glGetFloati_v = fn(_target: GLenum, _index: GLuint, _data: [*c]GLfloat) callconv(.C) void;
7974 const glDepthRangeIndexed = fn(_index: GLuint, _n: GLdouble, _f: GLdouble) callconv(.C) void;
7975 const glDepthRangeArrayv = fn(_first: GLuint, _count: GLsizei, _v: [*c]const GLdouble) callconv(.C) void;
7976 const glScissorIndexedv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
7977 const glScissorIndexed = fn(_index: GLuint, _left: GLint, _bottom: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
7978 const glScissorArrayv = fn(_first: GLuint, _count: GLsizei, _v: [*c]const GLint) callconv(.C) void;
7979 const glViewportIndexedfv = fn(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void;
7980 const glViewportIndexedf = fn(_index: GLuint, _x: GLfloat, _y: GLfloat, _w: GLfloat, _h: GLfloat) callconv(.C) void;
7981 const glViewportArrayv = fn(_first: GLuint, _count: GLsizei, _v: [*c]const GLfloat) callconv(.C) void;
7982 const glGetVertexAttribLdv = fn(_index: GLuint, _pname: GLenum, _params: [*c]GLdouble) callconv(.C) void;
7983 const glVertexAttribLPointer = fn(_index: GLuint, _size: GLint, _type: GLenum, _stride: GLsizei, _pointer: ?*const anyopaque) callconv(.C) void;
7984 const glVertexAttribL4dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
7985 const glVertexAttribL3dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
7986 const glVertexAttribL2dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
7987 const glVertexAttribL1dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
7988 const glVertexAttribL4d = fn(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble, _w: GLdouble) callconv(.C) void;
7989 const glVertexAttribL3d = fn(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble) callconv(.C) void;
7990 const glVertexAttribL2d = fn(_index: GLuint, _x: GLdouble, _y: GLdouble) callconv(.C) void;
7991 const glVertexAttribL1d = fn(_index: GLuint, _x: GLdouble) callconv(.C) void;
7992 const glValidateProgramPipeline = fn(_pipeline: GLuint) callconv(.C) void;
7993 const glProgramUniformMatrix4x3dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
7994 const glProgramUniformMatrix3x4dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
7995 const glProgramUniformMatrix4x2dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
7996 const glProgramUniformMatrix2x4dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
7997 const glProgramUniformMatrix3x2dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
7998 const glProgramUniformMatrix2x3dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
7999 const glProgramUniformMatrix4x3fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8000 const glProgramUniformMatrix3x4fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8001 const glProgramUniformMatrix4x2fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8002 const glProgramUniformMatrix2x4fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8003 const glProgramUniformMatrix3x2fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8004 const glProgramUniformMatrix2x3fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8005 const glProgramUniformMatrix4dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8006 const glProgramUniformMatrix3dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8007 const glProgramUniformMatrix2dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8008 const glProgramUniformMatrix4fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8009 const glProgramUniformMatrix3fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8010 const glProgramUniformMatrix2fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8011 const glProgramUniform4uiv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8012 const glProgramUniform4ui = fn(_program: GLuint, _location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint, _v3: GLuint) callconv(.C) void;
8013 const glProgramUniform4dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8014 const glProgramUniform4d = fn(_program: GLuint, _location: GLint, _v0: GLdouble, _v1: GLdouble, _v2: GLdouble, _v3: GLdouble) callconv(.C) void;
8015 const glProgramUniform4fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8016 const glProgramUniform4f = fn(_program: GLuint, _location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat, _v3: GLfloat) callconv(.C) void;
8017 const glProgramUniform4iv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8018 const glProgramUniform4i = fn(_program: GLuint, _location: GLint, _v0: GLint, _v1: GLint, _v2: GLint, _v3: GLint) callconv(.C) void;
8019 const glProgramUniform3uiv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8020 const glProgramUniform3ui = fn(_program: GLuint, _location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint) callconv(.C) void;
8021 const glProgramUniform3dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8022 const glProgramUniform3d = fn(_program: GLuint, _location: GLint, _v0: GLdouble, _v1: GLdouble, _v2: GLdouble) callconv(.C) void;
8023 const glProgramUniform3fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8024 const glProgramUniform3f = fn(_program: GLuint, _location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat) callconv(.C) void;
8025 const glProgramUniform3iv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8026 const glProgramUniform3i = fn(_program: GLuint, _location: GLint, _v0: GLint, _v1: GLint, _v2: GLint) callconv(.C) void;
8027 const glUseProgramStages = fn(_pipeline: GLuint, _stages: GLbitfield, _program: GLuint) callconv(.C) void;
8028 const glProgramParameteri = fn(_program: GLuint, _pname: GLenum, _value: GLint) callconv(.C) void;
8029 const glGetShaderPrecisionFormat = fn(_shadertype: GLenum, _precisiontype: GLenum, _range: [*c]GLint, _precision: [*c]GLint) callconv(.C) void;
8030 const glShaderBinary = fn(_count: GLsizei, _shaders: [*c]const GLuint, _binaryFormat: GLenum, _binary: ?*const anyopaque, _length: GLsizei) callconv(.C) void;
8031 const glReleaseShaderCompiler = fn() callconv(.C) void;
8032 const glGetQueryIndexediv = fn(_target: GLenum, _index: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8033 const glEndQueryIndexed = fn(_target: GLenum, _index: GLuint) callconv(.C) void;
8034 const glBeginQueryIndexed = fn(_target: GLenum, _index: GLuint, _id: GLuint) callconv(.C) void;
8035 const glDrawTransformFeedbackStream = fn(_mode: GLenum, _id: GLuint, _stream: GLuint) callconv(.C) void;
8036 const glDrawTransformFeedback = fn(_mode: GLenum, _id: GLuint) callconv(.C) void;
8037 const glResumeTransformFeedback = fn() callconv(.C) void;
8038 const glPauseTransformFeedback = fn() callconv(.C) void;
8039 const glGetProgramStageiv = fn(_program: GLuint, _shadertype: GLenum, _pname: GLenum, _values: [*c]GLint) callconv(.C) void;
8040 const glGetUniformSubroutineuiv = fn(_shadertype: GLenum, _location: GLint, _params: [*c]GLuint) callconv(.C) void;
8041 const glUniformSubroutinesuiv = fn(_shadertype: GLenum, _count: GLsizei, _indices: [*c]const GLuint) callconv(.C) void;
8042 const glGetActiveSubroutineName = fn(_program: GLuint, _shadertype: GLenum, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _name: [*c]GLchar) callconv(.C) void;
8043 const glCullFace = fn(_mode: GLenum) callconv(.C) void;
8044 const glFrontFace = fn(_mode: GLenum) callconv(.C) void;
8045 const glHint = fn(_target: GLenum, _mode: GLenum) callconv(.C) void;
8046 const glLineWidth = fn(_width: GLfloat) callconv(.C) void;
8047 const glPointSize = fn(_size: GLfloat) callconv(.C) void;
8048 const glPolygonMode = fn(_face: GLenum, _mode: GLenum) callconv(.C) void;
8049 const glScissor = fn(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8050 const glTexParameterf = fn(_target: GLenum, _pname: GLenum, _param: GLfloat) callconv(.C) void;
8051 const glTexParameterfv = fn(_target: GLenum, _pname: GLenum, _params: [*c]const GLfloat) callconv(.C) void;
8052 const glTexParameteri = fn(_target: GLenum, _pname: GLenum, _param: GLint) callconv(.C) void;
8053 const glTexParameteriv = fn(_target: GLenum, _pname: GLenum, _params: [*c]const GLint) callconv(.C) void;
8054 const glTexImage1D = fn(_target: GLenum, _level: GLint, _internalformat: GLint, _width: GLsizei, _border: GLint, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8055 const glTexImage2D = fn(_target: GLenum, _level: GLint, _internalformat: GLint, _width: GLsizei, _height: GLsizei, _border: GLint, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8056 const glDrawBuffer = fn(_buf: GLenum) callconv(.C) void;
8057 const glClear = fn(_mask: GLbitfield) callconv(.C) void;
8058 const glClearColor = fn(_red: GLfloat, _green: GLfloat, _blue: GLfloat, _alpha: GLfloat) callconv(.C) void;
8059 const glClearStencil = fn(_s: GLint) callconv(.C) void;
8060 const glClearDepth = fn(_depth: GLdouble) callconv(.C) void;
8061 const glStencilMask = fn(_mask: GLuint) callconv(.C) void;
8062 const glColorMask = fn(_red: GLboolean, _green: GLboolean, _blue: GLboolean, _alpha: GLboolean) callconv(.C) void;
8063 const glDepthMask = fn(_flag: GLboolean) callconv(.C) void;
8064 const glDisable = fn(_cap: GLenum) callconv(.C) void;
8065 const glEnable = fn(_cap: GLenum) callconv(.C) void;
8066 const glFinish = fn() callconv(.C) void;
8067 const glFlush = fn() callconv(.C) void;
8068 const glBlendFunc = fn(_sfactor: GLenum, _dfactor: GLenum) callconv(.C) void;
8069 const glLogicOp = fn(_opcode: GLenum) callconv(.C) void;
8070 const glStencilFunc = fn(_func: GLenum, _ref: GLint, _mask: GLuint) callconv(.C) void;
8071 const glStencilOp = fn(_fail: GLenum, _zfail: GLenum, _zpass: GLenum) callconv(.C) void;
8072 const glDepthFunc = fn(_func: GLenum) callconv(.C) void;
8073 const glPixelStoref = fn(_pname: GLenum, _param: GLfloat) callconv(.C) void;
8074 const glPixelStorei = fn(_pname: GLenum, _param: GLint) callconv(.C) void;
8075 const glReadBuffer = fn(_src: GLenum) callconv(.C) void;
8076 const glReadPixels = fn(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*anyopaque) callconv(.C) void;
8077 const glGetBooleanv = fn(_pname: GLenum, _data: [*c]GLboolean) callconv(.C) void;
8078 const glGetDoublev = fn(_pname: GLenum, _data: [*c]GLdouble) callconv(.C) void;
8079 const glGetError = fn() callconv(.C) GLenum;
8080 const glGetFloatv = fn(_pname: GLenum, _data: [*c]GLfloat) callconv(.C) void;
8081 const glGetIntegerv = fn(_pname: GLenum, _data: [*c]GLint) callconv(.C) void;
8082 const glGetString = fn(_name: GLenum) callconv(.C) ?[*:0]const GLubyte;
8083 const glGetTexImage = fn(_target: GLenum, _level: GLint, _format: GLenum, _type: GLenum, _pixels: ?*anyopaque) callconv(.C) void;
8084 const glGetTexParameterfv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void;
8085 const glGetTexParameteriv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8086 const glGetTexLevelParameterfv = fn(_target: GLenum, _level: GLint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void;
8087 const glGetTexLevelParameteriv = fn(_target: GLenum, _level: GLint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8088 const glIsEnabled = fn(_cap: GLenum) callconv(.C) GLboolean;
8089 const glDepthRange = fn(_n: GLdouble, _f: GLdouble) callconv(.C) void;
8090 const glViewport = fn(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8091 const glTexStorage2DMultisample = fn(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void;
8092 const glTexBufferRange = fn(_target: GLenum, _internalformat: GLenum, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void;
8093 const glShaderStorageBlockBinding = fn(_program: GLuint, _storageBlockIndex: GLuint, _storageBlockBinding: GLuint) callconv(.C) void;
8094 const glGetProgramResourceLocationIndex = fn(_program: GLuint, _programInterface: GLenum, _name: [*c]const GLchar) callconv(.C) GLint;
8095 const glGetProgramResourceLocation = fn(_program: GLuint, _programInterface: GLenum, _name: [*c]const GLchar) callconv(.C) GLint;
8096 const glGetProgramResourceiv = fn(_program: GLuint, _programInterface: GLenum, _index: GLuint, _propCount: GLsizei, _props: [*c]const GLenum, _count: GLsizei, _length: [*c]GLsizei, _params: [*c]GLint) callconv(.C) void;
8097 const glGetProgramResourceName = fn(_program: GLuint, _programInterface: GLenum, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _name: [*c]GLchar) callconv(.C) void;
8098 const glGetProgramResourceIndex = fn(_program: GLuint, _programInterface: GLenum, _name: [*c]const GLchar) callconv(.C) GLuint;
8099 const glGetProgramInterfaceiv = fn(_program: GLuint, _programInterface: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8100 const glMultiDrawElementsIndirect = fn(_mode: GLenum, _type: GLenum, _indirect: ?*const anyopaque, _drawcount: GLsizei, _stride: GLsizei) callconv(.C) void;
8101 const glMultiDrawArraysIndirect = fn(_mode: GLenum, _indirect: ?*const anyopaque, _drawcount: GLsizei, _stride: GLsizei) callconv(.C) void;
8102 const glInvalidateSubFramebuffer = fn(_target: GLenum, _numAttachments: GLsizei, _attachments: [*c]const GLenum, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8103 const glInvalidateFramebuffer = fn(_target: GLenum, _numAttachments: GLsizei, _attachments: [*c]const GLenum) callconv(.C) void;
8104 const glInvalidateBufferData = fn(_buffer: GLuint) callconv(.C) void;
8105 const glInvalidateBufferSubData = fn(_buffer: GLuint, _offset: GLintptr, _length: GLsizeiptr) callconv(.C) void;
8106 const glInvalidateTexImage = fn(_texture: GLuint, _level: GLint) callconv(.C) void;
8107 const glInvalidateTexSubImage = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei) callconv(.C) void;
8108 const glGetInternalformati64v = fn(_target: GLenum, _internalformat: GLenum, _pname: GLenum, _count: GLsizei, _params: [*c]GLint64) callconv(.C) void;
8109 const glGetFramebufferParameteriv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8110 const glFramebufferParameteri = fn(_target: GLenum, _pname: GLenum, _param: GLint) callconv(.C) void;
8111 const glCopyImageSubData = fn(_srcName: GLuint, _srcTarget: GLenum, _srcLevel: GLint, _srcX: GLint, _srcY: GLint, _srcZ: GLint, _dstName: GLuint, _dstTarget: GLenum, _dstLevel: GLint, _dstX: GLint, _dstY: GLint, _dstZ: GLint, _srcWidth: GLsizei, _srcHeight: GLsizei, _srcDepth: GLsizei) callconv(.C) void;
8112 const glDispatchComputeIndirect = fn(_indirect: GLintptr) callconv(.C) void;
8113 const glDispatchCompute = fn(_num_groups_x: GLuint, _num_groups_y: GLuint, _num_groups_z: GLuint) callconv(.C) void;
8114 const glClearBufferSubData = fn(_target: GLenum, _internalformat: GLenum, _offset: GLintptr, _size: GLsizeiptr, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void;
8115 const glClearBufferData = fn(_target: GLenum, _internalformat: GLenum, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void;
8116 const glGetProgramPipelineInfoLog = fn(_pipeline: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _infoLog: [*c]GLchar) callconv(.C) void;
8117 const glProgramUniform2uiv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8118 const glProgramUniform2ui = fn(_program: GLuint, _location: GLint, _v0: GLuint, _v1: GLuint) callconv(.C) void;
8119 const glProgramUniform2dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8120 const glProgramUniform2d = fn(_program: GLuint, _location: GLint, _v0: GLdouble, _v1: GLdouble) callconv(.C) void;
8121 const glProgramUniform2fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8122 const glProgramUniform2f = fn(_program: GLuint, _location: GLint, _v0: GLfloat, _v1: GLfloat) callconv(.C) void;
8123 const glProgramUniform2iv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8124 const glProgramUniform2i = fn(_program: GLuint, _location: GLint, _v0: GLint, _v1: GLint) callconv(.C) void;
8125 const glProgramUniform1uiv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8126 const glProgramUniform1ui = fn(_program: GLuint, _location: GLint, _v0: GLuint) callconv(.C) void;
8127 const glProgramUniform1dv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8128 const glProgramUniform1d = fn(_program: GLuint, _location: GLint, _v0: GLdouble) callconv(.C) void;
8129 const glProgramUniform1fv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8130 const glProgramUniform1f = fn(_program: GLuint, _location: GLint, _v0: GLfloat) callconv(.C) void;
8131 const glProgramUniform1iv = fn(_program: GLuint, _location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8132 const glProgramUniform1i = fn(_program: GLuint, _location: GLint, _v0: GLint) callconv(.C) void;
8133 const glGetProgramPipelineiv = fn(_pipeline: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8134 const glIsProgramPipeline = fn(_pipeline: GLuint) callconv(.C) GLboolean;
8135 const glGenProgramPipelines = fn(_n: GLsizei, _pipelines: [*c]GLuint) callconv(.C) void;
8136 const glDeleteProgramPipelines = fn(_n: GLsizei, _pipelines: [*c]const GLuint) callconv(.C) void;
8137 const glBindProgramPipeline = fn(_pipeline: GLuint) callconv(.C) void;
8138 const glCreateShaderProgramv = fn(_type: GLenum, _count: GLsizei, _strings: [*c]const [*c]const GLchar) callconv(.C) GLuint;
8139 const glActiveShaderProgram = fn(_pipeline: GLuint, _program: GLuint) callconv(.C) void;
8140 const glProgramBinary = fn(_program: GLuint, _binaryFormat: GLenum, _binary: ?*const anyopaque, _length: GLsizei) callconv(.C) void;
8141 const glGetProgramBinary = fn(_program: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _binaryFormat: [*c]GLenum, _binary: ?*anyopaque) callconv(.C) void;
8142 const glClearDepthf = fn(_d: GLfloat) callconv(.C) void;
8143 const glDepthRangef = fn(_n: GLfloat, _f: GLfloat) callconv(.C) void;
8144 const glIsTransformFeedback = fn(_id: GLuint) callconv(.C) GLboolean;
8145 const glGenTransformFeedbacks = fn(_n: GLsizei, _ids: [*c]GLuint) callconv(.C) void;
8146 const glDeleteTransformFeedbacks = fn(_n: GLsizei, _ids: [*c]const GLuint) callconv(.C) void;
8147 const glBindTransformFeedback = fn(_target: GLenum, _id: GLuint) callconv(.C) void;
8148 const glPatchParameterfv = fn(_pname: GLenum, _values: [*c]const GLfloat) callconv(.C) void;
8149 const glPatchParameteri = fn(_pname: GLenum, _value: GLint) callconv(.C) void;
8150 const glDrawArrays = fn(_mode: GLenum, _first: GLint, _count: GLsizei) callconv(.C) void;
8151 const glDrawElements = fn(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque) callconv(.C) void;
8152 const glPolygonOffset = fn(_factor: GLfloat, _units: GLfloat) callconv(.C) void;
8153 const glCopyTexImage1D = fn(_target: GLenum, _level: GLint, _internalformat: GLenum, _x: GLint, _y: GLint, _width: GLsizei, _border: GLint) callconv(.C) void;
8154 const glCopyTexImage2D = fn(_target: GLenum, _level: GLint, _internalformat: GLenum, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei, _border: GLint) callconv(.C) void;
8155 const glCopyTexSubImage1D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei) callconv(.C) void;
8156 const glCopyTexSubImage2D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8157 const glTexSubImage1D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8158 const glTexSubImage2D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8159 const glBindTexture = fn(_target: GLenum, _texture: GLuint) callconv(.C) void;
8160 const glDeleteTextures = fn(_n: GLsizei, _textures: [*c]const GLuint) callconv(.C) void;
8161 const glGenTextures = fn(_n: GLsizei, _textures: [*c]GLuint) callconv(.C) void;
8162 const glIsTexture = fn(_texture: GLuint) callconv(.C) GLboolean;
8163 const glGetActiveSubroutineUniformName = fn(_program: GLuint, _shadertype: GLenum, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _name: [*c]GLchar) callconv(.C) void;
8164 const glGetActiveSubroutineUniformiv = fn(_program: GLuint, _shadertype: GLenum, _index: GLuint, _pname: GLenum, _values: [*c]GLint) callconv(.C) void;
8165 const glGetSubroutineIndex = fn(_program: GLuint, _shadertype: GLenum, _name: [*c]const GLchar) callconv(.C) GLuint;
8166 const glGetSubroutineUniformLocation = fn(_program: GLuint, _shadertype: GLenum, _name: [*c]const GLchar) callconv(.C) GLint;
8167 const glGetUniformdv = fn(_program: GLuint, _location: GLint, _params: [*c]GLdouble) callconv(.C) void;
8168 const glUniformMatrix4x3dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8169 const glUniformMatrix4x2dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8170 const glUniformMatrix3x4dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8171 const glUniformMatrix3x2dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8172 const glUniformMatrix2x4dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8173 const glUniformMatrix2x3dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8174 const glUniformMatrix4dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8175 const glUniformMatrix3dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8176 const glDrawRangeElements = fn(_mode: GLenum, _start: GLuint, _end: GLuint, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque) callconv(.C) void;
8177 const glTexImage3D = fn(_target: GLenum, _level: GLint, _internalformat: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _border: GLint, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8178 const glTexSubImage3D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8179 const glCopyTexSubImage3D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8180 const glUniformMatrix2dv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLdouble) callconv(.C) void;
8181 const glUniform4dv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8182 const glUniform3dv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8183 const glUniform2dv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8184 const glUniform1dv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLdouble) callconv(.C) void;
8185 const glUniform4d = fn(_location: GLint, _x: GLdouble, _y: GLdouble, _z: GLdouble, _w: GLdouble) callconv(.C) void;
8186 const glUniform3d = fn(_location: GLint, _x: GLdouble, _y: GLdouble, _z: GLdouble) callconv(.C) void;
8187 const glUniform2d = fn(_location: GLint, _x: GLdouble, _y: GLdouble) callconv(.C) void;
8188 const glUniform1d = fn(_location: GLint, _x: GLdouble) callconv(.C) void;
8189 const glDrawElementsIndirect = fn(_mode: GLenum, _type: GLenum, _indirect: ?*const anyopaque) callconv(.C) void;
8190 const glDrawArraysIndirect = fn(_mode: GLenum, _indirect: ?*const anyopaque) callconv(.C) void;
8191 const glBlendFuncSeparatei = fn(_buf: GLuint, _srcRGB: GLenum, _dstRGB: GLenum, _srcAlpha: GLenum, _dstAlpha: GLenum) callconv(.C) void;
8192 const glBlendFunci = fn(_buf: GLuint, _src: GLenum, _dst: GLenum) callconv(.C) void;
8193 const glBlendEquationSeparatei = fn(_buf: GLuint, _modeRGB: GLenum, _modeAlpha: GLenum) callconv(.C) void;
8194 const glBlendEquationi = fn(_buf: GLuint, _mode: GLenum) callconv(.C) void;
8195 const glMinSampleShading = fn(_value: GLfloat) callconv(.C) void;
8196 const glActiveTexture = fn(_texture: GLenum) callconv(.C) void;
8197 const glSampleCoverage = fn(_value: GLfloat, _invert: GLboolean) callconv(.C) void;
8198 const glCompressedTexImage3D = fn(_target: GLenum, _level: GLint, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _border: GLint, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8199 const glCompressedTexImage2D = fn(_target: GLenum, _level: GLint, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _border: GLint, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8200 const glCompressedTexImage1D = fn(_target: GLenum, _level: GLint, _internalformat: GLenum, _width: GLsizei, _border: GLint, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8201 const glCompressedTexSubImage3D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8202 const glCompressedTexSubImage2D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8203 const glCompressedTexSubImage1D = fn(_target: GLenum, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8204 const glGetCompressedTexImage = fn(_target: GLenum, _level: GLint, _img: ?*anyopaque) callconv(.C) void;
8205 const glVertexAttribP4uiv = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void;
8206 const glVertexAttribP4ui = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void;
8207 const glVertexAttribP3uiv = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void;
8208 const glVertexAttribP3ui = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void;
8209 const glVertexAttribP2uiv = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void;
8210 const glVertexAttribP2ui = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void;
8211 const glVertexAttribP1uiv = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: [*c]const GLuint) callconv(.C) void;
8212 const glVertexAttribP1ui = fn(_index: GLuint, _type: GLenum, _normalized: GLboolean, _value: GLuint) callconv(.C) void;
8213 const glVertexAttribDivisor = fn(_index: GLuint, _divisor: GLuint) callconv(.C) void;
8214 const glGetQueryObjectui64v = fn(_id: GLuint, _pname: GLenum, _params: [*c]GLuint64) callconv(.C) void;
8215 const glGetQueryObjecti64v = fn(_id: GLuint, _pname: GLenum, _params: [*c]GLint64) callconv(.C) void;
8216 const glQueryCounter = fn(_id: GLuint, _target: GLenum) callconv(.C) void;
8217 const glGetSamplerParameterIuiv = fn(_sampler: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void;
8218 const glGetSamplerParameterfv = fn(_sampler: GLuint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void;
8219 const glGetSamplerParameterIiv = fn(_sampler: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8220 const glGetSamplerParameteriv = fn(_sampler: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8221 const glSamplerParameterIuiv = fn(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLuint) callconv(.C) void;
8222 const glSamplerParameterIiv = fn(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLint) callconv(.C) void;
8223 const glSamplerParameterfv = fn(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLfloat) callconv(.C) void;
8224 const glSamplerParameterf = fn(_sampler: GLuint, _pname: GLenum, _param: GLfloat) callconv(.C) void;
8225 const glSamplerParameteriv = fn(_sampler: GLuint, _pname: GLenum, _param: [*c]const GLint) callconv(.C) void;
8226 const glSamplerParameteri = fn(_sampler: GLuint, _pname: GLenum, _param: GLint) callconv(.C) void;
8227 const glBindSampler = fn(_unit: GLuint, _sampler: GLuint) callconv(.C) void;
8228 const glIsSampler = fn(_sampler: GLuint) callconv(.C) GLboolean;
8229 const glDeleteSamplers = fn(_count: GLsizei, _samplers: [*c]const GLuint) callconv(.C) void;
8230 const glGenSamplers = fn(_count: GLsizei, _samplers: [*c]GLuint) callconv(.C) void;
8231 const glGetFragDataIndex = fn(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint;
8232 const glBindFragDataLocationIndexed = fn(_program: GLuint, _colorNumber: GLuint, _index: GLuint, _name: [*c]const GLchar) callconv(.C) void;
8233 const glSampleMaski = fn(_maskNumber: GLuint, _mask: GLbitfield) callconv(.C) void;
8234 const glGetMultisamplefv = fn(_pname: GLenum, _index: GLuint, _val: [*c]GLfloat) callconv(.C) void;
8235 const glTexImage3DMultisample = fn(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void;
8236 const glTexImage2DMultisample = fn(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void;
8237 const glFramebufferTexture = fn(_target: GLenum, _attachment: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void;
8238 const glGetBufferParameteri64v = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint64) callconv(.C) void;
8239 const glBlendFuncSeparate = fn(_sfactorRGB: GLenum, _dfactorRGB: GLenum, _sfactorAlpha: GLenum, _dfactorAlpha: GLenum) callconv(.C) void;
8240 const glMultiDrawArrays = fn(_mode: GLenum, _first: [*c]const GLint, _count: [*c]const GLsizei, _drawcount: GLsizei) callconv(.C) void;
8241 const glMultiDrawElements = fn(_mode: GLenum, _count: [*c]const GLsizei, _type: GLenum, _indices: [*c]const ?*const anyopaque, _drawcount: GLsizei) callconv(.C) void;
8242 const glPointParameterf = fn(_pname: GLenum, _param: GLfloat) callconv(.C) void;
8243 const glPointParameterfv = fn(_pname: GLenum, _params: [*c]const GLfloat) callconv(.C) void;
8244 const glPointParameteri = fn(_pname: GLenum, _param: GLint) callconv(.C) void;
8245 const glPointParameteriv = fn(_pname: GLenum, _params: [*c]const GLint) callconv(.C) void;
8246 const glGetInteger64i_v = fn(_target: GLenum, _index: GLuint, _data: [*c]GLint64) callconv(.C) void;
8247 const glGetSynciv = fn(_sync: GLsync, _pname: GLenum, _count: GLsizei, _length: [*c]GLsizei, _values: [*c]GLint) callconv(.C) void;
8248 const glGetInteger64v = fn(_pname: GLenum, _data: [*c]GLint64) callconv(.C) void;
8249 const glWaitSync = fn(_sync: GLsync, _flags: GLbitfield, _timeout: GLuint64) callconv(.C) void;
8250 const glClientWaitSync = fn(_sync: GLsync, _flags: GLbitfield, _timeout: GLuint64) callconv(.C) GLenum;
8251 const glDeleteSync = fn(_sync: GLsync) callconv(.C) void;
8252 const glIsSync = fn(_sync: GLsync) callconv(.C) GLboolean;
8253 const glFenceSync = fn(_condition: GLenum, _flags: GLbitfield) callconv(.C) GLsync;
8254 const glBlendColor = fn(_red: GLfloat, _green: GLfloat, _blue: GLfloat, _alpha: GLfloat) callconv(.C) void;
8255 const glBlendEquation = fn(_mode: GLenum) callconv(.C) void;
8256 const glProvokingVertex = fn(_mode: GLenum) callconv(.C) void;
8257 const glMultiDrawElementsBaseVertex = fn(_mode: GLenum, _count: [*c]const GLsizei, _type: GLenum, _indices: [*c]const ?*const anyopaque, _drawcount: GLsizei, _basevertex: [*c]const GLint) callconv(.C) void;
8258 const glDrawElementsInstancedBaseVertex = fn(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei, _basevertex: GLint) callconv(.C) void;
8259 const glDrawRangeElementsBaseVertex = fn(_mode: GLenum, _start: GLuint, _end: GLuint, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _basevertex: GLint) callconv(.C) void;
8260 const glDrawElementsBaseVertex = fn(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _basevertex: GLint) callconv(.C) void;
8261 const glGenQueries = fn(_n: GLsizei, _ids: [*c]GLuint) callconv(.C) void;
8262 const glDeleteQueries = fn(_n: GLsizei, _ids: [*c]const GLuint) callconv(.C) void;
8263 const glIsQuery = fn(_id: GLuint) callconv(.C) GLboolean;
8264 const glBeginQuery = fn(_target: GLenum, _id: GLuint) callconv(.C) void;
8265 const glEndQuery = fn(_target: GLenum) callconv(.C) void;
8266 const glGetQueryiv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8267 const glGetQueryObjectiv = fn(_id: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8268 const glGetQueryObjectuiv = fn(_id: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void;
8269 const glBindBuffer = fn(_target: GLenum, _buffer: GLuint) callconv(.C) void;
8270 const glDeleteBuffers = fn(_n: GLsizei, _buffers: [*c]const GLuint) callconv(.C) void;
8271 const glGenBuffers = fn(_n: GLsizei, _buffers: [*c]GLuint) callconv(.C) void;
8272 const glIsBuffer = fn(_buffer: GLuint) callconv(.C) GLboolean;
8273 const glBufferData = fn(_target: GLenum, _size: GLsizeiptr, _data: ?*const anyopaque, _usage: GLenum) callconv(.C) void;
8274 const glBufferSubData = fn(_target: GLenum, _offset: GLintptr, _size: GLsizeiptr, _data: ?*const anyopaque) callconv(.C) void;
8275 const glGetBufferSubData = fn(_target: GLenum, _offset: GLintptr, _size: GLsizeiptr, _data: ?*anyopaque) callconv(.C) void;
8276 const glMapBuffer = fn(_target: GLenum, _access: GLenum) callconv(.C) ?*anyopaque;
8277 const glUnmapBuffer = fn(_target: GLenum) callconv(.C) GLboolean;
8278 const glGetBufferParameteriv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8279 const glGetBufferPointerv = fn(_target: GLenum, _pname: GLenum, _params: ?*?*anyopaque) callconv(.C) void;
8280 const glBlendEquationSeparate = fn(_modeRGB: GLenum, _modeAlpha: GLenum) callconv(.C) void;
8281 const glDrawBuffers = fn(_n: GLsizei, _bufs: [*c]const GLenum) callconv(.C) void;
8282 const glStencilOpSeparate = fn(_face: GLenum, _sfail: GLenum, _dpfail: GLenum, _dppass: GLenum) callconv(.C) void;
8283 const glStencilFuncSeparate = fn(_face: GLenum, _func: GLenum, _ref: GLint, _mask: GLuint) callconv(.C) void;
8284 const glStencilMaskSeparate = fn(_face: GLenum, _mask: GLuint) callconv(.C) void;
8285 const glAttachShader = fn(_program: GLuint, _shader: GLuint) callconv(.C) void;
8286 const glBindAttribLocation = fn(_program: GLuint, _index: GLuint, _name: [*c]const GLchar) callconv(.C) void;
8287 const glCompileShader = fn(_shader: GLuint) callconv(.C) void;
8288 const glCreateProgram = fn() callconv(.C) GLuint;
8289 const glCreateShader = fn(_type: GLenum) callconv(.C) GLuint;
8290 const glDeleteProgram = fn(_program: GLuint) callconv(.C) void;
8291 const glDeleteShader = fn(_shader: GLuint) callconv(.C) void;
8292 const glDetachShader = fn(_program: GLuint, _shader: GLuint) callconv(.C) void;
8293 const glDisableVertexAttribArray = fn(_index: GLuint) callconv(.C) void;
8294 const glEnableVertexAttribArray = fn(_index: GLuint) callconv(.C) void;
8295 const glGetActiveAttrib = fn(_program: GLuint, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _size: [*c]GLint, _type: [*c]GLenum, _name: [*c]GLchar) callconv(.C) void;
8296 const glGetActiveUniform = fn(_program: GLuint, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _size: [*c]GLint, _type: [*c]GLenum, _name: [*c]GLchar) callconv(.C) void;
8297 const glGetAttachedShaders = fn(_program: GLuint, _maxCount: GLsizei, _count: [*c]GLsizei, _shaders: [*c]GLuint) callconv(.C) void;
8298 const glGetAttribLocation = fn(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint;
8299 const glGetProgramiv = fn(_program: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8300 const glGetProgramInfoLog = fn(_program: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _infoLog: [*c]GLchar) callconv(.C) void;
8301 const glGetShaderiv = fn(_shader: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8302 const glGetShaderInfoLog = fn(_shader: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _infoLog: [*c]GLchar) callconv(.C) void;
8303 const glGetShaderSource = fn(_shader: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _source: [*c]GLchar) callconv(.C) void;
8304 const glGetUniformLocation = fn(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint;
8305 const glGetUniformfv = fn(_program: GLuint, _location: GLint, _params: [*c]GLfloat) callconv(.C) void;
8306 const glGetUniformiv = fn(_program: GLuint, _location: GLint, _params: [*c]GLint) callconv(.C) void;
8307 const glGetVertexAttribdv = fn(_index: GLuint, _pname: GLenum, _params: [*c]GLdouble) callconv(.C) void;
8308 const glGetVertexAttribfv = fn(_index: GLuint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void;
8309 const glGetVertexAttribiv = fn(_index: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8310 const glGetVertexAttribPointerv = fn(_index: GLuint, _pname: GLenum, _pointer: ?*?*anyopaque) callconv(.C) void;
8311 const glIsProgram = fn(_program: GLuint) callconv(.C) GLboolean;
8312 const glIsShader = fn(_shader: GLuint) callconv(.C) GLboolean;
8313 const glLinkProgram = fn(_program: GLuint) callconv(.C) void;
8314 const glShaderSource = fn(_shader: GLuint, _count: GLsizei, _string: [*c]const [*c]const GLchar, _length: [*c]const GLint) callconv(.C) void;
8315 const glUseProgram = fn(_program: GLuint) callconv(.C) void;
8316 const glUniform1f = fn(_location: GLint, _v0: GLfloat) callconv(.C) void;
8317 const glUniform2f = fn(_location: GLint, _v0: GLfloat, _v1: GLfloat) callconv(.C) void;
8318 const glUniform3f = fn(_location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat) callconv(.C) void;
8319 const glUniform4f = fn(_location: GLint, _v0: GLfloat, _v1: GLfloat, _v2: GLfloat, _v3: GLfloat) callconv(.C) void;
8320 const glUniform1i = fn(_location: GLint, _v0: GLint) callconv(.C) void;
8321 const glUniform2i = fn(_location: GLint, _v0: GLint, _v1: GLint) callconv(.C) void;
8322 const glUniform3i = fn(_location: GLint, _v0: GLint, _v1: GLint, _v2: GLint) callconv(.C) void;
8323 const glUniform4i = fn(_location: GLint, _v0: GLint, _v1: GLint, _v2: GLint, _v3: GLint) callconv(.C) void;
8324 const glUniform1fv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8325 const glUniform2fv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8326 const glUniform3fv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8327 const glUniform4fv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLfloat) callconv(.C) void;
8328 const glUniform1iv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8329 const glUniform2iv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8330 const glUniform3iv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8331 const glUniform4iv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLint) callconv(.C) void;
8332 const glUniformMatrix2fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8333 const glUniformMatrix3fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8334 const glUniformMatrix4fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8335 const glValidateProgram = fn(_program: GLuint) callconv(.C) void;
8336 const glVertexAttrib1d = fn(_index: GLuint, _x: GLdouble) callconv(.C) void;
8337 const glVertexAttrib1dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
8338 const glVertexAttrib1f = fn(_index: GLuint, _x: GLfloat) callconv(.C) void;
8339 const glVertexAttrib1fv = fn(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void;
8340 const glVertexAttrib1s = fn(_index: GLuint, _x: GLshort) callconv(.C) void;
8341 const glVertexAttrib1sv = fn(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void;
8342 const glVertexAttrib2d = fn(_index: GLuint, _x: GLdouble, _y: GLdouble) callconv(.C) void;
8343 const glVertexAttrib2dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
8344 const glVertexAttrib2f = fn(_index: GLuint, _x: GLfloat, _y: GLfloat) callconv(.C) void;
8345 const glVertexAttrib2fv = fn(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void;
8346 const glVertexAttrib2s = fn(_index: GLuint, _x: GLshort, _y: GLshort) callconv(.C) void;
8347 const glVertexAttrib2sv = fn(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void;
8348 const glVertexAttrib3d = fn(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble) callconv(.C) void;
8349 const glVertexAttrib3dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
8350 const glVertexAttrib3f = fn(_index: GLuint, _x: GLfloat, _y: GLfloat, _z: GLfloat) callconv(.C) void;
8351 const glVertexAttrib3fv = fn(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void;
8352 const glVertexAttrib3s = fn(_index: GLuint, _x: GLshort, _y: GLshort, _z: GLshort) callconv(.C) void;
8353 const glVertexAttrib3sv = fn(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void;
8354 const glVertexAttrib4Nbv = fn(_index: GLuint, _v: [*c]const GLbyte) callconv(.C) void;
8355 const glVertexAttrib4Niv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
8356 const glVertexAttrib4Nsv = fn(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void;
8357 const glVertexAttrib4Nub = fn(_index: GLuint, _x: GLubyte, _y: GLubyte, _z: GLubyte, _w: GLubyte) callconv(.C) void;
8358 const glVertexAttrib4Nubv = fn(_index: GLuint, _v: ?[*:0]const GLubyte) callconv(.C) void;
8359 const glVertexAttrib4Nuiv = fn(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void;
8360 const glVertexAttrib4Nusv = fn(_index: GLuint, _v: [*c]const GLushort) callconv(.C) void;
8361 const glVertexAttrib4bv = fn(_index: GLuint, _v: [*c]const GLbyte) callconv(.C) void;
8362 const glVertexAttrib4d = fn(_index: GLuint, _x: GLdouble, _y: GLdouble, _z: GLdouble, _w: GLdouble) callconv(.C) void;
8363 const glVertexAttrib4dv = fn(_index: GLuint, _v: [*c]const GLdouble) callconv(.C) void;
8364 const glVertexAttrib4f = fn(_index: GLuint, _x: GLfloat, _y: GLfloat, _z: GLfloat, _w: GLfloat) callconv(.C) void;
8365 const glVertexAttrib4fv = fn(_index: GLuint, _v: [*c]const GLfloat) callconv(.C) void;
8366 const glVertexAttrib4iv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
8367 const glVertexAttrib4s = fn(_index: GLuint, _x: GLshort, _y: GLshort, _z: GLshort, _w: GLshort) callconv(.C) void;
8368 const glVertexAttrib4sv = fn(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void;
8369 const glVertexAttrib4ubv = fn(_index: GLuint, _v: ?[*:0]const GLubyte) callconv(.C) void;
8370 const glVertexAttrib4uiv = fn(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void;
8371 const glVertexAttrib4usv = fn(_index: GLuint, _v: [*c]const GLushort) callconv(.C) void;
8372 const glVertexAttribPointer = fn(_index: GLuint, _size: GLint, _type: GLenum, _normalized: GLboolean, _stride: GLsizei, _pointer: ?*const anyopaque) callconv(.C) void;
8373 const glUniformMatrix2x3fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8374 const glUniformMatrix3x2fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8375 const glUniformMatrix2x4fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8376 const glUniformMatrix4x2fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8377 const glUniformMatrix3x4fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8378 const glUniformMatrix4x3fv = fn(_location: GLint, _count: GLsizei, _transpose: GLboolean, _value: [*c]const GLfloat) callconv(.C) void;
8379 const glColorMaski = fn(_index: GLuint, _r: GLboolean, _g: GLboolean, _b: GLboolean, _a: GLboolean) callconv(.C) void;
8380 const glGetBooleani_v = fn(_target: GLenum, _index: GLuint, _data: [*c]GLboolean) callconv(.C) void;
8381 const glGetIntegeri_v = fn(_target: GLenum, _index: GLuint, _data: [*c]GLint) callconv(.C) void;
8382 const glEnablei = fn(_target: GLenum, _index: GLuint) callconv(.C) void;
8383 const glDisablei = fn(_target: GLenum, _index: GLuint) callconv(.C) void;
8384 const glIsEnabledi = fn(_target: GLenum, _index: GLuint) callconv(.C) GLboolean;
8385 const glBeginTransformFeedback = fn(_primitiveMode: GLenum) callconv(.C) void;
8386 const glEndTransformFeedback = fn() callconv(.C) void;
8387 const glBindBufferRange = fn(_target: GLenum, _index: GLuint, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void;
8388 const glBindBufferBase = fn(_target: GLenum, _index: GLuint, _buffer: GLuint) callconv(.C) void;
8389 const glTransformFeedbackVaryings = fn(_program: GLuint, _count: GLsizei, _varyings: [*c]const [*c]const GLchar, _bufferMode: GLenum) callconv(.C) void;
8390 const glGetTransformFeedbackVarying = fn(_program: GLuint, _index: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _size: [*c]GLsizei, _type: [*c]GLenum, _name: [*c]GLchar) callconv(.C) void;
8391 const glClampColor = fn(_target: GLenum, _clamp: GLenum) callconv(.C) void;
8392 const glBeginConditionalRender = fn(_id: GLuint, _mode: GLenum) callconv(.C) void;
8393 const glEndConditionalRender = fn() callconv(.C) void;
8394 const glVertexAttribIPointer = fn(_index: GLuint, _size: GLint, _type: GLenum, _stride: GLsizei, _pointer: ?*const anyopaque) callconv(.C) void;
8395 const glGetVertexAttribIiv = fn(_index: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8396 const glGetVertexAttribIuiv = fn(_index: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void;
8397 const glVertexAttribI1i = fn(_index: GLuint, _x: GLint) callconv(.C) void;
8398 const glVertexAttribI2i = fn(_index: GLuint, _x: GLint, _y: GLint) callconv(.C) void;
8399 const glVertexAttribI3i = fn(_index: GLuint, _x: GLint, _y: GLint, _z: GLint) callconv(.C) void;
8400 const glVertexAttribI4i = fn(_index: GLuint, _x: GLint, _y: GLint, _z: GLint, _w: GLint) callconv(.C) void;
8401 const glVertexAttribI1ui = fn(_index: GLuint, _x: GLuint) callconv(.C) void;
8402 const glVertexAttribI2ui = fn(_index: GLuint, _x: GLuint, _y: GLuint) callconv(.C) void;
8403 const glVertexAttribI3ui = fn(_index: GLuint, _x: GLuint, _y: GLuint, _z: GLuint) callconv(.C) void;
8404 const glVertexAttribI4ui = fn(_index: GLuint, _x: GLuint, _y: GLuint, _z: GLuint, _w: GLuint) callconv(.C) void;
8405 const glVertexAttribI1iv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
8406 const glVertexAttribI2iv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
8407 const glVertexAttribI3iv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
8408 const glVertexAttribI4iv = fn(_index: GLuint, _v: [*c]const GLint) callconv(.C) void;
8409 const glVertexAttribI1uiv = fn(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void;
8410 const glVertexAttribI2uiv = fn(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void;
8411 const glVertexAttribI3uiv = fn(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void;
8412 const glVertexAttribI4uiv = fn(_index: GLuint, _v: [*c]const GLuint) callconv(.C) void;
8413 const glVertexAttribI4bv = fn(_index: GLuint, _v: [*c]const GLbyte) callconv(.C) void;
8414 const glVertexAttribI4sv = fn(_index: GLuint, _v: [*c]const GLshort) callconv(.C) void;
8415 const glVertexAttribI4ubv = fn(_index: GLuint, _v: ?[*:0]const GLubyte) callconv(.C) void;
8416 const glVertexAttribI4usv = fn(_index: GLuint, _v: [*c]const GLushort) callconv(.C) void;
8417 const glGetUniformuiv = fn(_program: GLuint, _location: GLint, _params: [*c]GLuint) callconv(.C) void;
8418 const glBindFragDataLocation = fn(_program: GLuint, _color: GLuint, _name: [*c]const GLchar) callconv(.C) void;
8419 const glGetFragDataLocation = fn(_program: GLuint, _name: [*c]const GLchar) callconv(.C) GLint;
8420 const glUniform1ui = fn(_location: GLint, _v0: GLuint) callconv(.C) void;
8421 const glUniform2ui = fn(_location: GLint, _v0: GLuint, _v1: GLuint) callconv(.C) void;
8422 const glUniform3ui = fn(_location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint) callconv(.C) void;
8423 const glUniform4ui = fn(_location: GLint, _v0: GLuint, _v1: GLuint, _v2: GLuint, _v3: GLuint) callconv(.C) void;
8424 const glUniform1uiv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8425 const glUniform2uiv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8426 const glUniform3uiv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8427 const glUniform4uiv = fn(_location: GLint, _count: GLsizei, _value: [*c]const GLuint) callconv(.C) void;
8428 const glTexParameterIiv = fn(_target: GLenum, _pname: GLenum, _params: [*c]const GLint) callconv(.C) void;
8429 const glTexParameterIuiv = fn(_target: GLenum, _pname: GLenum, _params: [*c]const GLuint) callconv(.C) void;
8430 const glGetTexParameterIiv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8431 const glGetTexParameterIuiv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void;
8432 const glClearBufferiv = fn(_buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLint) callconv(.C) void;
8433 const glClearBufferuiv = fn(_buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLuint) callconv(.C) void;
8434 const glClearBufferfv = fn(_buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLfloat) callconv(.C) void;
8435 const glClearBufferfi = fn(_buffer: GLenum, _drawbuffer: GLint, _depth: GLfloat, _stencil: GLint) callconv(.C) void;
8436 const glGetStringi = fn(_name: GLenum, _index: GLuint) callconv(.C) ?[*:0]const GLubyte;
8437 const glIsRenderbuffer = fn(_renderbuffer: GLuint) callconv(.C) GLboolean;
8438 const glBindRenderbuffer = fn(_target: GLenum, _renderbuffer: GLuint) callconv(.C) void;
8439 const glDeleteRenderbuffers = fn(_n: GLsizei, _renderbuffers: [*c]const GLuint) callconv(.C) void;
8440 const glGenRenderbuffers = fn(_n: GLsizei, _renderbuffers: [*c]GLuint) callconv(.C) void;
8441 const glRenderbufferStorage = fn(_target: GLenum, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8442 const glGetRenderbufferParameteriv = fn(_target: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8443 const glIsFramebuffer = fn(_framebuffer: GLuint) callconv(.C) GLboolean;
8444 const glBindFramebuffer = fn(_target: GLenum, _framebuffer: GLuint) callconv(.C) void;
8445 const glDeleteFramebuffers = fn(_n: GLsizei, _framebuffers: [*c]const GLuint) callconv(.C) void;
8446 const glGenFramebuffers = fn(_n: GLsizei, _framebuffers: [*c]GLuint) callconv(.C) void;
8447 const glCheckFramebufferStatus = fn(_target: GLenum) callconv(.C) GLenum;
8448 const glFramebufferTexture1D = fn(_target: GLenum, _attachment: GLenum, _textarget: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void;
8449 const glFramebufferTexture2D = fn(_target: GLenum, _attachment: GLenum, _textarget: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void;
8450 const glFramebufferTexture3D = fn(_target: GLenum, _attachment: GLenum, _textarget: GLenum, _texture: GLuint, _level: GLint, _zoffset: GLint) callconv(.C) void;
8451 const glFramebufferRenderbuffer = fn(_target: GLenum, _attachment: GLenum, _renderbuffertarget: GLenum, _renderbuffer: GLuint) callconv(.C) void;
8452 const glGetFramebufferAttachmentParameteriv = fn(_target: GLenum, _attachment: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8453 const glGenerateMipmap = fn(_target: GLenum) callconv(.C) void;
8454 const glBlitFramebuffer = fn(_srcX0: GLint, _srcY0: GLint, _srcX1: GLint, _srcY1: GLint, _dstX0: GLint, _dstY0: GLint, _dstX1: GLint, _dstY1: GLint, _mask: GLbitfield, _filter: GLenum) callconv(.C) void;
8455 const glRenderbufferStorageMultisample = fn(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8456 const glFramebufferTextureLayer = fn(_target: GLenum, _attachment: GLenum, _texture: GLuint, _level: GLint, _layer: GLint) callconv(.C) void;
8457 const glMapBufferRange = fn(_target: GLenum, _offset: GLintptr, _length: GLsizeiptr, _access: GLbitfield) callconv(.C) ?*anyopaque;
8458 const glFlushMappedBufferRange = fn(_target: GLenum, _offset: GLintptr, _length: GLsizeiptr) callconv(.C) void;
8459 const glBindVertexArray = fn(_array: GLuint) callconv(.C) void;
8460 const glDeleteVertexArrays = fn(_n: GLsizei, _arrays: [*c]const GLuint) callconv(.C) void;
8461 const glGenVertexArrays = fn(_n: GLsizei, _arrays: [*c]GLuint) callconv(.C) void;
8462 const glIsVertexArray = fn(_array: GLuint) callconv(.C) GLboolean;
8463 const glDrawArraysInstanced = fn(_mode: GLenum, _first: GLint, _count: GLsizei, _instancecount: GLsizei) callconv(.C) void;
8464 const glDrawElementsInstanced = fn(_mode: GLenum, _count: GLsizei, _type: GLenum, _indices: ?*const anyopaque, _instancecount: GLsizei) callconv(.C) void;
8465 const glTexBuffer = fn(_target: GLenum, _internalformat: GLenum, _buffer: GLuint) callconv(.C) void;
8466 const glPrimitiveRestartIndex = fn(_index: GLuint) callconv(.C) void;
8467 const glCopyBufferSubData = fn(_readTarget: GLenum, _writeTarget: GLenum, _readOffset: GLintptr, _writeOffset: GLintptr, _size: GLsizeiptr) callconv(.C) void;
8468 const glGetUniformIndices = fn(_program: GLuint, _uniformCount: GLsizei, _uniformNames: [*c]const [*c]const GLchar, _uniformIndices: [*c]GLuint) callconv(.C) void;
8469 const glGetActiveUniformsiv = fn(_program: GLuint, _uniformCount: GLsizei, _uniformIndices: [*c]const GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8470 const glGetActiveUniformName = fn(_program: GLuint, _uniformIndex: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _uniformName: [*c]GLchar) callconv(.C) void;
8471 const glGetUniformBlockIndex = fn(_program: GLuint, _uniformBlockName: [*c]const GLchar) callconv(.C) GLuint;
8472 const glGetActiveUniformBlockiv = fn(_program: GLuint, _uniformBlockIndex: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8473 const glGetActiveUniformBlockName = fn(_program: GLuint, _uniformBlockIndex: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _uniformBlockName: [*c]GLchar) callconv(.C) void;
8474 const glUniformBlockBinding = fn(_program: GLuint, _uniformBlockIndex: GLuint, _uniformBlockBinding: GLuint) callconv(.C) void;
8475 const glTexStorage3DMultisample = fn(_target: GLenum, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void;
8476 const glTextureView = fn(_texture: GLuint, _target: GLenum, _origtexture: GLuint, _internalformat: GLenum, _minlevel: GLuint, _numlevels: GLuint, _minlayer: GLuint, _numlayers: GLuint) callconv(.C) void;
8477 const glBindVertexBuffer = fn(_bindingindex: GLuint, _buffer: GLuint, _offset: GLintptr, _stride: GLsizei) callconv(.C) void;
8478 const glVertexAttribFormat = fn(_attribindex: GLuint, _size: GLint, _type: GLenum, _normalized: GLboolean, _relativeoffset: GLuint) callconv(.C) void;
8479 const glVertexAttribIFormat = fn(_attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void;
8480 const glVertexAttribLFormat = fn(_attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void;
8481 const glVertexAttribBinding = fn(_attribindex: GLuint, _bindingindex: GLuint) callconv(.C) void;
8482 const glVertexBindingDivisor = fn(_bindingindex: GLuint, _divisor: GLuint) callconv(.C) void;
8483 const glDebugMessageControl = fn(_source: GLenum, _type: GLenum, _severity: GLenum, _count: GLsizei, _ids: [*c]const GLuint, _enabled: GLboolean) callconv(.C) void;
8484 const glDebugMessageInsert = fn(_source: GLenum, _type: GLenum, _id: GLuint, _severity: GLenum, _length: GLsizei, _buf: [*c]const GLchar) callconv(.C) void;
8485 const glDebugMessageCallback = fn(_callback: GLDEBUGPROC, _userParam: ?*const anyopaque) callconv(.C) void;
8486 const glGetDebugMessageLog = fn(_count: GLuint, _bufSize: GLsizei, _sources: [*c]GLenum, _types: [*c]GLenum, _ids: [*c]GLuint, _severities: [*c]GLenum, _lengths: [*c]GLsizei, _messageLog: [*c]GLchar) callconv(.C) GLuint;
8487 const glPushDebugGroup = fn(_source: GLenum, _id: GLuint, _length: GLsizei, _message: [*c]const GLchar) callconv(.C) void;
8488 const glPopDebugGroup = fn() callconv(.C) void;
8489 const glObjectLabel = fn(_identifier: GLenum, _name: GLuint, _length: GLsizei, _label: [*c]const GLchar) callconv(.C) void;
8490 const glGetObjectLabel = fn(_identifier: GLenum, _name: GLuint, _bufSize: GLsizei, _length: [*c]GLsizei, _label: [*c]GLchar) callconv(.C) void;
8491 const glObjectPtrLabel = fn(_ptr: ?*const anyopaque, _length: GLsizei, _label: [*c]const GLchar) callconv(.C) void;
8492 const glGetObjectPtrLabel = fn(_ptr: ?*const anyopaque, _bufSize: GLsizei, _length: [*c]GLsizei, _label: [*c]GLchar) callconv(.C) void;
8493 const glGetPointerv = fn(_pname: GLenum, _params: ?*?*anyopaque) callconv(.C) void;
8494 const glBufferStorage = fn(_target: GLenum, _size: GLsizeiptr, _data: ?*const anyopaque, _flags: GLbitfield) callconv(.C) void;
8495 const glClearTexImage = fn(_texture: GLuint, _level: GLint, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void;
8496 const glClearTexSubImage = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void;
8497 const glBindBuffersBase = fn(_target: GLenum, _first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint) callconv(.C) void;
8498 const glBindBuffersRange = fn(_target: GLenum, _first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint, _offsets: [*c]const GLintptr, _sizes: [*c]const GLsizeiptr) callconv(.C) void;
8499 const glBindTextures = fn(_first: GLuint, _count: GLsizei, _textures: [*c]const GLuint) callconv(.C) void;
8500 const glBindSamplers = fn(_first: GLuint, _count: GLsizei, _samplers: [*c]const GLuint) callconv(.C) void;
8501 const glBindImageTextures = fn(_first: GLuint, _count: GLsizei, _textures: [*c]const GLuint) callconv(.C) void;
8502 const glBindVertexBuffers = fn(_first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint, _offsets: [*c]const GLintptr, _strides: [*c]const GLsizei) callconv(.C) void;
8503 const glClipControl = fn(_origin: GLenum, _depth: GLenum) callconv(.C) void;
8504 const glCreateTransformFeedbacks = fn(_n: GLsizei, _ids: [*c]GLuint) callconv(.C) void;
8505 const glTransformFeedbackBufferBase = fn(_xfb: GLuint, _index: GLuint, _buffer: GLuint) callconv(.C) void;
8506 const glTransformFeedbackBufferRange = fn(_xfb: GLuint, _index: GLuint, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void;
8507 const glGetTransformFeedbackiv = fn(_xfb: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void;
8508 const glGetTransformFeedbacki_v = fn(_xfb: GLuint, _pname: GLenum, _index: GLuint, _param: [*c]GLint) callconv(.C) void;
8509 const glGetTransformFeedbacki64_v = fn(_xfb: GLuint, _pname: GLenum, _index: GLuint, _param: [*c]GLint64) callconv(.C) void;
8510 const glCreateBuffers = fn(_n: GLsizei, _buffers: [*c]GLuint) callconv(.C) void;
8511 const glNamedBufferStorage = fn(_buffer: GLuint, _size: GLsizeiptr, _data: ?*const anyopaque, _flags: GLbitfield) callconv(.C) void;
8512 const glNamedBufferData = fn(_buffer: GLuint, _size: GLsizeiptr, _data: ?*const anyopaque, _usage: GLenum) callconv(.C) void;
8513 const glNamedBufferSubData = fn(_buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr, _data: ?*const anyopaque) callconv(.C) void;
8514 const glCopyNamedBufferSubData = fn(_readBuffer: GLuint, _writeBuffer: GLuint, _readOffset: GLintptr, _writeOffset: GLintptr, _size: GLsizeiptr) callconv(.C) void;
8515 const glClearNamedBufferData = fn(_buffer: GLuint, _internalformat: GLenum, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void;
8516 const glClearNamedBufferSubData = fn(_buffer: GLuint, _internalformat: GLenum, _offset: GLintptr, _size: GLsizeiptr, _format: GLenum, _type: GLenum, _data: ?*const anyopaque) callconv(.C) void;
8517 const glMapNamedBuffer = fn(_buffer: GLuint, _access: GLenum) callconv(.C) ?*anyopaque;
8518 const glMapNamedBufferRange = fn(_buffer: GLuint, _offset: GLintptr, _length: GLsizeiptr, _access: GLbitfield) callconv(.C) ?*anyopaque;
8519 const glUnmapNamedBuffer = fn(_buffer: GLuint) callconv(.C) GLboolean;
8520 const glFlushMappedNamedBufferRange = fn(_buffer: GLuint, _offset: GLintptr, _length: GLsizeiptr) callconv(.C) void;
8521 const glGetNamedBufferParameteriv = fn(_buffer: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8522 const glGetNamedBufferParameteri64v = fn(_buffer: GLuint, _pname: GLenum, _params: [*c]GLint64) callconv(.C) void;
8523 const glGetNamedBufferPointerv = fn(_buffer: GLuint, _pname: GLenum, _params: ?*?*anyopaque) callconv(.C) void;
8524 const glGetNamedBufferSubData = fn(_buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr, _data: ?*anyopaque) callconv(.C) void;
8525 const glCreateFramebuffers = fn(_n: GLsizei, _framebuffers: [*c]GLuint) callconv(.C) void;
8526 const glNamedFramebufferRenderbuffer = fn(_framebuffer: GLuint, _attachment: GLenum, _renderbuffertarget: GLenum, _renderbuffer: GLuint) callconv(.C) void;
8527 const glNamedFramebufferParameteri = fn(_framebuffer: GLuint, _pname: GLenum, _param: GLint) callconv(.C) void;
8528 const glNamedFramebufferTexture = fn(_framebuffer: GLuint, _attachment: GLenum, _texture: GLuint, _level: GLint) callconv(.C) void;
8529 const glNamedFramebufferTextureLayer = fn(_framebuffer: GLuint, _attachment: GLenum, _texture: GLuint, _level: GLint, _layer: GLint) callconv(.C) void;
8530 const glNamedFramebufferDrawBuffer = fn(_framebuffer: GLuint, _buf: GLenum) callconv(.C) void;
8531 const glNamedFramebufferDrawBuffers = fn(_framebuffer: GLuint, _n: GLsizei, _bufs: [*c]const GLenum) callconv(.C) void;
8532 const glNamedFramebufferReadBuffer = fn(_framebuffer: GLuint, _src: GLenum) callconv(.C) void;
8533 const glInvalidateNamedFramebufferData = fn(_framebuffer: GLuint, _numAttachments: GLsizei, _attachments: [*c]const GLenum) callconv(.C) void;
8534 const glInvalidateNamedFramebufferSubData = fn(_framebuffer: GLuint, _numAttachments: GLsizei, _attachments: [*c]const GLenum, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8535 const glClearNamedFramebufferiv = fn(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLint) callconv(.C) void;
8536 const glClearNamedFramebufferuiv = fn(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLuint) callconv(.C) void;
8537 const glClearNamedFramebufferfv = fn(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _value: [*c]const GLfloat) callconv(.C) void;
8538 const glClearNamedFramebufferfi = fn(_framebuffer: GLuint, _buffer: GLenum, _drawbuffer: GLint, _depth: GLfloat, _stencil: GLint) callconv(.C) void;
8539 const glBlitNamedFramebuffer = fn(_readFramebuffer: GLuint, _drawFramebuffer: GLuint, _srcX0: GLint, _srcY0: GLint, _srcX1: GLint, _srcY1: GLint, _dstX0: GLint, _dstY0: GLint, _dstX1: GLint, _dstY1: GLint, _mask: GLbitfield, _filter: GLenum) callconv(.C) void;
8540 const glCheckNamedFramebufferStatus = fn(_framebuffer: GLuint, _target: GLenum) callconv(.C) GLenum;
8541 const glGetNamedFramebufferParameteriv = fn(_framebuffer: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void;
8542 const glGetNamedFramebufferAttachmentParameteriv = fn(_framebuffer: GLuint, _attachment: GLenum, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8543 const glCreateRenderbuffers = fn(_n: GLsizei, _renderbuffers: [*c]GLuint) callconv(.C) void;
8544 const glNamedRenderbufferStorage = fn(_renderbuffer: GLuint, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8545 const glNamedRenderbufferStorageMultisample = fn(_renderbuffer: GLuint, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8546 const glGetNamedRenderbufferParameteriv = fn(_renderbuffer: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8547 const glCreateTextures = fn(_target: GLenum, _n: GLsizei, _textures: [*c]GLuint) callconv(.C) void;
8548 const glTextureBuffer = fn(_texture: GLuint, _internalformat: GLenum, _buffer: GLuint) callconv(.C) void;
8549 const glTextureBufferRange = fn(_texture: GLuint, _internalformat: GLenum, _buffer: GLuint, _offset: GLintptr, _size: GLsizeiptr) callconv(.C) void;
8550 const glTextureStorage1D = fn(_texture: GLuint, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei) callconv(.C) void;
8551 const glTextureStorage2D = fn(_texture: GLuint, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8552 const glTextureStorage3D = fn(_texture: GLuint, _levels: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei) callconv(.C) void;
8553 const glTextureStorage2DMultisample = fn(_texture: GLuint, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void;
8554 const glTextureStorage3DMultisample = fn(_texture: GLuint, _samples: GLsizei, _internalformat: GLenum, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _fixedsamplelocations: GLboolean) callconv(.C) void;
8555 const glTextureSubImage1D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8556 const glTextureSubImage2D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8557 const glTextureSubImage3D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _pixels: ?*const anyopaque) callconv(.C) void;
8558 const glCompressedTextureSubImage1D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _width: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8559 const glCompressedTextureSubImage2D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8560 const glCompressedTextureSubImage3D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _imageSize: GLsizei, _data: ?*const anyopaque) callconv(.C) void;
8561 const glCopyTextureSubImage1D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei) callconv(.C) void;
8562 const glCopyTextureSubImage2D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8563 const glCopyTextureSubImage3D = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei) callconv(.C) void;
8564 const glTextureParameterf = fn(_texture: GLuint, _pname: GLenum, _param: GLfloat) callconv(.C) void;
8565 const glTextureParameterfv = fn(_texture: GLuint, _pname: GLenum, _param: [*c]const GLfloat) callconv(.C) void;
8566 const glTextureParameteri = fn(_texture: GLuint, _pname: GLenum, _param: GLint) callconv(.C) void;
8567 const glTextureParameterIiv = fn(_texture: GLuint, _pname: GLenum, _params: [*c]const GLint) callconv(.C) void;
8568 const glTextureParameterIuiv = fn(_texture: GLuint, _pname: GLenum, _params: [*c]const GLuint) callconv(.C) void;
8569 const glTextureParameteriv = fn(_texture: GLuint, _pname: GLenum, _param: [*c]const GLint) callconv(.C) void;
8570 const glGenerateTextureMipmap = fn(_texture: GLuint) callconv(.C) void;
8571 const glBindTextureUnit = fn(_unit: GLuint, _texture: GLuint) callconv(.C) void;
8572 const glGetTextureImage = fn(_texture: GLuint, _level: GLint, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void;
8573 const glGetCompressedTextureImage = fn(_texture: GLuint, _level: GLint, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void;
8574 const glGetTextureLevelParameterfv = fn(_texture: GLuint, _level: GLint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void;
8575 const glGetTextureLevelParameteriv = fn(_texture: GLuint, _level: GLint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8576 const glGetTextureParameterfv = fn(_texture: GLuint, _pname: GLenum, _params: [*c]GLfloat) callconv(.C) void;
8577 const glGetTextureParameterIiv = fn(_texture: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8578 const glGetTextureParameterIuiv = fn(_texture: GLuint, _pname: GLenum, _params: [*c]GLuint) callconv(.C) void;
8579 const glGetTextureParameteriv = fn(_texture: GLuint, _pname: GLenum, _params: [*c]GLint) callconv(.C) void;
8580 const glCreateVertexArrays = fn(_n: GLsizei, _arrays: [*c]GLuint) callconv(.C) void;
8581 const glDisableVertexArrayAttrib = fn(_vaobj: GLuint, _index: GLuint) callconv(.C) void;
8582 const glEnableVertexArrayAttrib = fn(_vaobj: GLuint, _index: GLuint) callconv(.C) void;
8583 const glVertexArrayElementBuffer = fn(_vaobj: GLuint, _buffer: GLuint) callconv(.C) void;
8584 const glVertexArrayVertexBuffer = fn(_vaobj: GLuint, _bindingindex: GLuint, _buffer: GLuint, _offset: GLintptr, _stride: GLsizei) callconv(.C) void;
8585 const glVertexArrayVertexBuffers = fn(_vaobj: GLuint, _first: GLuint, _count: GLsizei, _buffers: [*c]const GLuint, _offsets: [*c]const GLintptr, _strides: [*c]const GLsizei) callconv(.C) void;
8586 const glVertexArrayAttribBinding = fn(_vaobj: GLuint, _attribindex: GLuint, _bindingindex: GLuint) callconv(.C) void;
8587 const glVertexArrayAttribFormat = fn(_vaobj: GLuint, _attribindex: GLuint, _size: GLint, _type: GLenum, _normalized: GLboolean, _relativeoffset: GLuint) callconv(.C) void;
8588 const glVertexArrayAttribIFormat = fn(_vaobj: GLuint, _attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void;
8589 const glVertexArrayAttribLFormat = fn(_vaobj: GLuint, _attribindex: GLuint, _size: GLint, _type: GLenum, _relativeoffset: GLuint) callconv(.C) void;
8590 const glVertexArrayBindingDivisor = fn(_vaobj: GLuint, _bindingindex: GLuint, _divisor: GLuint) callconv(.C) void;
8591 const glGetVertexArrayiv = fn(_vaobj: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void;
8592 const glGetVertexArrayIndexediv = fn(_vaobj: GLuint, _index: GLuint, _pname: GLenum, _param: [*c]GLint) callconv(.C) void;
8593 const glGetVertexArrayIndexed64iv = fn(_vaobj: GLuint, _index: GLuint, _pname: GLenum, _param: [*c]GLint64) callconv(.C) void;
8594 const glCreateSamplers = fn(_n: GLsizei, _samplers: [*c]GLuint) callconv(.C) void;
8595 const glCreateProgramPipelines = fn(_n: GLsizei, _pipelines: [*c]GLuint) callconv(.C) void;
8596 const glCreateQueries = fn(_target: GLenum, _n: GLsizei, _ids: [*c]GLuint) callconv(.C) void;
8597 const glGetQueryBufferObjecti64v = fn(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void;
8598 const glGetQueryBufferObjectiv = fn(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void;
8599 const glGetQueryBufferObjectui64v = fn(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void;
8600 const glGetQueryBufferObjectuiv = fn(_id: GLuint, _buffer: GLuint, _pname: GLenum, _offset: GLintptr) callconv(.C) void;
8601 const glMemoryBarrierByRegion = fn(_barriers: GLbitfield) callconv(.C) void;
8602 const glGetTextureSubImage = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void;
8603 const glGetCompressedTextureSubImage = fn(_texture: GLuint, _level: GLint, _xoffset: GLint, _yoffset: GLint, _zoffset: GLint, _width: GLsizei, _height: GLsizei, _depth: GLsizei, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void;
8604 const glGetGraphicsResetStatus = fn() callconv(.C) GLenum;
8605 const glGetnCompressedTexImage = fn(_target: GLenum, _lod: GLint, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void;
8606 const glGetnTexImage = fn(_target: GLenum, _level: GLint, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _pixels: ?*anyopaque) callconv(.C) void;
8607 const glGetnUniformdv = fn(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLdouble) callconv(.C) void;
8608 const glGetnUniformfv = fn(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLfloat) callconv(.C) void;
8609 const glGetnUniformiv = fn(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLint) callconv(.C) void;
8610 const glGetnUniformuiv = fn(_program: GLuint, _location: GLint, _bufSize: GLsizei, _params: [*c]GLuint) callconv(.C) void;
8611 const glReadnPixels = fn(_x: GLint, _y: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _bufSize: GLsizei, _data: ?*anyopaque) callconv(.C) void;
8612 const glTextureBarrier = fn() callconv(.C) void;
8613};
8614
8615const function_pointers = struct {
8616 var glTexStorage2D: *const function_signatures.glTexStorage2D = undefined;
8617 var glTexStorage1D: *const function_signatures.glTexStorage1D = undefined;
8618 var glDrawTransformFeedbackStreamInstanced: *const function_signatures.glDrawTransformFeedbackStreamInstanced = undefined;
8619 var glDrawTransformFeedbackInstanced: *const function_signatures.glDrawTransformFeedbackInstanced = undefined;
8620 var glTexStorage3D: *const function_signatures.glTexStorage3D = undefined;
8621 var glMemoryBarrier: *const function_signatures.glMemoryBarrier = undefined;
8622 var glBindImageTexture: *const function_signatures.glBindImageTexture = undefined;
8623 var glGetActiveAtomicCounterBufferiv: *const function_signatures.glGetActiveAtomicCounterBufferiv = undefined;
8624 var glGetInternalformativ: *const function_signatures.glGetInternalformativ = undefined;
8625 var glDrawElementsInstancedBaseVertexBaseInstance: *const function_signatures.glDrawElementsInstancedBaseVertexBaseInstance = undefined;
8626 var glDrawElementsInstancedBaseInstance: *const function_signatures.glDrawElementsInstancedBaseInstance = undefined;
8627 var glDrawArraysInstancedBaseInstance: *const function_signatures.glDrawArraysInstancedBaseInstance = undefined;
8628 var glGetDoublei_v: *const function_signatures.glGetDoublei_v = undefined;
8629 var glGetFloati_v: *const function_signatures.glGetFloati_v = undefined;
8630 var glDepthRangeIndexed: *const function_signatures.glDepthRangeIndexed = undefined;
8631 var glDepthRangeArrayv: *const function_signatures.glDepthRangeArrayv = undefined;
8632 var glScissorIndexedv: *const function_signatures.glScissorIndexedv = undefined;
8633 var glScissorIndexed: *const function_signatures.glScissorIndexed = undefined;
8634 var glScissorArrayv: *const function_signatures.glScissorArrayv = undefined;
8635 var glViewportIndexedfv: *const function_signatures.glViewportIndexedfv = undefined;
8636 var glViewportIndexedf: *const function_signatures.glViewportIndexedf = undefined;
8637 var glViewportArrayv: *const function_signatures.glViewportArrayv = undefined;
8638 var glGetVertexAttribLdv: *const function_signatures.glGetVertexAttribLdv = undefined;
8639 var glVertexAttribLPointer: *const function_signatures.glVertexAttribLPointer = undefined;
8640 var glVertexAttribL4dv: *const function_signatures.glVertexAttribL4dv = undefined;
8641 var glVertexAttribL3dv: *const function_signatures.glVertexAttribL3dv = undefined;
8642 var glVertexAttribL2dv: *const function_signatures.glVertexAttribL2dv = undefined;
8643 var glVertexAttribL1dv: *const function_signatures.glVertexAttribL1dv = undefined;
8644 var glVertexAttribL4d: *const function_signatures.glVertexAttribL4d = undefined;
8645 var glVertexAttribL3d: *const function_signatures.glVertexAttribL3d = undefined;
8646 var glVertexAttribL2d: *const function_signatures.glVertexAttribL2d = undefined;
8647 var glVertexAttribL1d: *const function_signatures.glVertexAttribL1d = undefined;
8648 var glValidateProgramPipeline: *const function_signatures.glValidateProgramPipeline = undefined;
8649 var glProgramUniformMatrix4x3dv: *const function_signatures.glProgramUniformMatrix4x3dv = undefined;
8650 var glProgramUniformMatrix3x4dv: *const function_signatures.glProgramUniformMatrix3x4dv = undefined;
8651 var glProgramUniformMatrix4x2dv: *const function_signatures.glProgramUniformMatrix4x2dv = undefined;
8652 var glProgramUniformMatrix2x4dv: *const function_signatures.glProgramUniformMatrix2x4dv = undefined;
8653 var glProgramUniformMatrix3x2dv: *const function_signatures.glProgramUniformMatrix3x2dv = undefined;
8654 var glProgramUniformMatrix2x3dv: *const function_signatures.glProgramUniformMatrix2x3dv = undefined;
8655 var glProgramUniformMatrix4x3fv: *const function_signatures.glProgramUniformMatrix4x3fv = undefined;
8656 var glProgramUniformMatrix3x4fv: *const function_signatures.glProgramUniformMatrix3x4fv = undefined;
8657 var glProgramUniformMatrix4x2fv: *const function_signatures.glProgramUniformMatrix4x2fv = undefined;
8658 var glProgramUniformMatrix2x4fv: *const function_signatures.glProgramUniformMatrix2x4fv = undefined;
8659 var glProgramUniformMatrix3x2fv: *const function_signatures.glProgramUniformMatrix3x2fv = undefined;
8660 var glProgramUniformMatrix2x3fv: *const function_signatures.glProgramUniformMatrix2x3fv = undefined;
8661 var glProgramUniformMatrix4dv: *const function_signatures.glProgramUniformMatrix4dv = undefined;
8662 var glProgramUniformMatrix3dv: *const function_signatures.glProgramUniformMatrix3dv = undefined;
8663 var glProgramUniformMatrix2dv: *const function_signatures.glProgramUniformMatrix2dv = undefined;
8664 var glProgramUniformMatrix4fv: *const function_signatures.glProgramUniformMatrix4fv = undefined;
8665 var glProgramUniformMatrix3fv: *const function_signatures.glProgramUniformMatrix3fv = undefined;
8666 var glProgramUniformMatrix2fv: *const function_signatures.glProgramUniformMatrix2fv = undefined;
8667 var glProgramUniform4uiv: *const function_signatures.glProgramUniform4uiv = undefined;
8668 var glProgramUniform4ui: *const function_signatures.glProgramUniform4ui = undefined;
8669 var glProgramUniform4dv: *const function_signatures.glProgramUniform4dv = undefined;
8670 var glProgramUniform4d: *const function_signatures.glProgramUniform4d = undefined;
8671 var glProgramUniform4fv: *const function_signatures.glProgramUniform4fv = undefined;
8672 var glProgramUniform4f: *const function_signatures.glProgramUniform4f = undefined;
8673 var glProgramUniform4iv: *const function_signatures.glProgramUniform4iv = undefined;
8674 var glProgramUniform4i: *const function_signatures.glProgramUniform4i = undefined;
8675 var glProgramUniform3uiv: *const function_signatures.glProgramUniform3uiv = undefined;
8676 var glProgramUniform3ui: *const function_signatures.glProgramUniform3ui = undefined;
8677 var glProgramUniform3dv: *const function_signatures.glProgramUniform3dv = undefined;
8678 var glProgramUniform3d: *const function_signatures.glProgramUniform3d = undefined;
8679 var glProgramUniform3fv: *const function_signatures.glProgramUniform3fv = undefined;
8680 var glProgramUniform3f: *const function_signatures.glProgramUniform3f = undefined;
8681 var glProgramUniform3iv: *const function_signatures.glProgramUniform3iv = undefined;
8682 var glProgramUniform3i: *const function_signatures.glProgramUniform3i = undefined;
8683 var glUseProgramStages: *const function_signatures.glUseProgramStages = undefined;
8684 var glProgramParameteri: *const function_signatures.glProgramParameteri = undefined;
8685 var glGetShaderPrecisionFormat: *const function_signatures.glGetShaderPrecisionFormat = undefined;
8686 var glShaderBinary: *const function_signatures.glShaderBinary = undefined;
8687 var glReleaseShaderCompiler: *const function_signatures.glReleaseShaderCompiler = undefined;
8688 var glGetQueryIndexediv: *const function_signatures.glGetQueryIndexediv = undefined;
8689 var glEndQueryIndexed: *const function_signatures.glEndQueryIndexed = undefined;
8690 var glBeginQueryIndexed: *const function_signatures.glBeginQueryIndexed = undefined;
8691 var glDrawTransformFeedbackStream: *const function_signatures.glDrawTransformFeedbackStream = undefined;
8692 var glDrawTransformFeedback: *const function_signatures.glDrawTransformFeedback = undefined;
8693 var glResumeTransformFeedback: *const function_signatures.glResumeTransformFeedback = undefined;
8694 var glPauseTransformFeedback: *const function_signatures.glPauseTransformFeedback = undefined;
8695 var glGetProgramStageiv: *const function_signatures.glGetProgramStageiv = undefined;
8696 var glGetUniformSubroutineuiv: *const function_signatures.glGetUniformSubroutineuiv = undefined;
8697 var glUniformSubroutinesuiv: *const function_signatures.glUniformSubroutinesuiv = undefined;
8698 var glGetActiveSubroutineName: *const function_signatures.glGetActiveSubroutineName = undefined;
8699 var glCullFace: *const function_signatures.glCullFace = undefined;
8700 var glFrontFace: *const function_signatures.glFrontFace = undefined;
8701 var glHint: *const function_signatures.glHint = undefined;
8702 var glLineWidth: *const function_signatures.glLineWidth = undefined;
8703 var glPointSize: *const function_signatures.glPointSize = undefined;
8704 var glPolygonMode: *const function_signatures.glPolygonMode = undefined;
8705 var glScissor: *const function_signatures.glScissor = undefined;
8706 var glTexParameterf: *const function_signatures.glTexParameterf = undefined;
8707 var glTexParameterfv: *const function_signatures.glTexParameterfv = undefined;
8708 var glTexParameteri: *const function_signatures.glTexParameteri = undefined;
8709 var glTexParameteriv: *const function_signatures.glTexParameteriv = undefined;
8710 var glTexImage1D: *const function_signatures.glTexImage1D = undefined;
8711 var glTexImage2D: *const function_signatures.glTexImage2D = undefined;
8712 var glDrawBuffer: *const function_signatures.glDrawBuffer = undefined;
8713 var glClear: *const function_signatures.glClear = undefined;
8714 var glClearColor: *const function_signatures.glClearColor = undefined;
8715 var glClearStencil: *const function_signatures.glClearStencil = undefined;
8716 var glClearDepth: *const function_signatures.glClearDepth = undefined;
8717 var glStencilMask: *const function_signatures.glStencilMask = undefined;
8718 var glColorMask: *const function_signatures.glColorMask = undefined;
8719 var glDepthMask: *const function_signatures.glDepthMask = undefined;
8720 var glDisable: *const function_signatures.glDisable = undefined;
8721 var glEnable: *const function_signatures.glEnable = undefined;
8722 var glFinish: *const function_signatures.glFinish = undefined;
8723 var glFlush: *const function_signatures.glFlush = undefined;
8724 var glBlendFunc: *const function_signatures.glBlendFunc = undefined;
8725 var glLogicOp: *const function_signatures.glLogicOp = undefined;
8726 var glStencilFunc: *const function_signatures.glStencilFunc = undefined;
8727 var glStencilOp: *const function_signatures.glStencilOp = undefined;
8728 var glDepthFunc: *const function_signatures.glDepthFunc = undefined;
8729 var glPixelStoref: *const function_signatures.glPixelStoref = undefined;
8730 var glPixelStorei: *const function_signatures.glPixelStorei = undefined;
8731 var glReadBuffer: *const function_signatures.glReadBuffer = undefined;
8732 var glReadPixels: *const function_signatures.glReadPixels = undefined;
8733 var glGetBooleanv: *const function_signatures.glGetBooleanv = undefined;
8734 var glGetDoublev: *const function_signatures.glGetDoublev = undefined;
8735 var glGetError: *const function_signatures.glGetError = undefined;
8736 var glGetFloatv: *const function_signatures.glGetFloatv = undefined;
8737 var glGetIntegerv: *const function_signatures.glGetIntegerv = undefined;
8738 var glGetString: *const function_signatures.glGetString = undefined;
8739 var glGetTexImage: *const function_signatures.glGetTexImage = undefined;
8740 var glGetTexParameterfv: *const function_signatures.glGetTexParameterfv = undefined;
8741 var glGetTexParameteriv: *const function_signatures.glGetTexParameteriv = undefined;
8742 var glGetTexLevelParameterfv: *const function_signatures.glGetTexLevelParameterfv = undefined;
8743 var glGetTexLevelParameteriv: *const function_signatures.glGetTexLevelParameteriv = undefined;
8744 var glIsEnabled: *const function_signatures.glIsEnabled = undefined;
8745 var glDepthRange: *const function_signatures.glDepthRange = undefined;
8746 var glViewport: *const function_signatures.glViewport = undefined;
8747 var glTexStorage2DMultisample: *const function_signatures.glTexStorage2DMultisample = undefined;
8748 var glTexBufferRange: *const function_signatures.glTexBufferRange = undefined;
8749 var glShaderStorageBlockBinding: *const function_signatures.glShaderStorageBlockBinding = undefined;
8750 var glGetProgramResourceLocationIndex: *const function_signatures.glGetProgramResourceLocationIndex = undefined;
8751 var glGetProgramResourceLocation: *const function_signatures.glGetProgramResourceLocation = undefined;
8752 var glGetProgramResourceiv: *const function_signatures.glGetProgramResourceiv = undefined;
8753 var glGetProgramResourceName: *const function_signatures.glGetProgramResourceName = undefined;
8754 var glGetProgramResourceIndex: *const function_signatures.glGetProgramResourceIndex = undefined;
8755 var glGetProgramInterfaceiv: *const function_signatures.glGetProgramInterfaceiv = undefined;
8756 var glMultiDrawElementsIndirect: *const function_signatures.glMultiDrawElementsIndirect = undefined;
8757 var glMultiDrawArraysIndirect: *const function_signatures.glMultiDrawArraysIndirect = undefined;
8758 var glInvalidateSubFramebuffer: *const function_signatures.glInvalidateSubFramebuffer = undefined;
8759 var glInvalidateFramebuffer: *const function_signatures.glInvalidateFramebuffer = undefined;
8760 var glInvalidateBufferData: *const function_signatures.glInvalidateBufferData = undefined;
8761 var glInvalidateBufferSubData: *const function_signatures.glInvalidateBufferSubData = undefined;
8762 var glInvalidateTexImage: *const function_signatures.glInvalidateTexImage = undefined;
8763 var glInvalidateTexSubImage: *const function_signatures.glInvalidateTexSubImage = undefined;
8764 var glGetInternalformati64v: *const function_signatures.glGetInternalformati64v = undefined;
8765 var glGetFramebufferParameteriv: *const function_signatures.glGetFramebufferParameteriv = undefined;
8766 var glFramebufferParameteri: *const function_signatures.glFramebufferParameteri = undefined;
8767 var glCopyImageSubData: *const function_signatures.glCopyImageSubData = undefined;
8768 var glDispatchComputeIndirect: *const function_signatures.glDispatchComputeIndirect = undefined;
8769 var glDispatchCompute: *const function_signatures.glDispatchCompute = undefined;
8770 var glClearBufferSubData: *const function_signatures.glClearBufferSubData = undefined;
8771 var glClearBufferData: *const function_signatures.glClearBufferData = undefined;
8772 var glGetProgramPipelineInfoLog: *const function_signatures.glGetProgramPipelineInfoLog = undefined;
8773 var glProgramUniform2uiv: *const function_signatures.glProgramUniform2uiv = undefined;
8774 var glProgramUniform2ui: *const function_signatures.glProgramUniform2ui = undefined;
8775 var glProgramUniform2dv: *const function_signatures.glProgramUniform2dv = undefined;
8776 var glProgramUniform2d: *const function_signatures.glProgramUniform2d = undefined;
8777 var glProgramUniform2fv: *const function_signatures.glProgramUniform2fv = undefined;
8778 var glProgramUniform2f: *const function_signatures.glProgramUniform2f = undefined;
8779 var glProgramUniform2iv: *const function_signatures.glProgramUniform2iv = undefined;
8780 var glProgramUniform2i: *const function_signatures.glProgramUniform2i = undefined;
8781 var glProgramUniform1uiv: *const function_signatures.glProgramUniform1uiv = undefined;
8782 var glProgramUniform1ui: *const function_signatures.glProgramUniform1ui = undefined;
8783 var glProgramUniform1dv: *const function_signatures.glProgramUniform1dv = undefined;
8784 var glProgramUniform1d: *const function_signatures.glProgramUniform1d = undefined;
8785 var glProgramUniform1fv: *const function_signatures.glProgramUniform1fv = undefined;
8786 var glProgramUniform1f: *const function_signatures.glProgramUniform1f = undefined;
8787 var glProgramUniform1iv: *const function_signatures.glProgramUniform1iv = undefined;
8788 var glProgramUniform1i: *const function_signatures.glProgramUniform1i = undefined;
8789 var glGetProgramPipelineiv: *const function_signatures.glGetProgramPipelineiv = undefined;
8790 var glIsProgramPipeline: *const function_signatures.glIsProgramPipeline = undefined;
8791 var glGenProgramPipelines: *const function_signatures.glGenProgramPipelines = undefined;
8792 var glDeleteProgramPipelines: *const function_signatures.glDeleteProgramPipelines = undefined;
8793 var glBindProgramPipeline: *const function_signatures.glBindProgramPipeline = undefined;
8794 var glCreateShaderProgramv: *const function_signatures.glCreateShaderProgramv = undefined;
8795 var glActiveShaderProgram: *const function_signatures.glActiveShaderProgram = undefined;
8796 var glProgramBinary: *const function_signatures.glProgramBinary = undefined;
8797 var glGetProgramBinary: *const function_signatures.glGetProgramBinary = undefined;
8798 var glClearDepthf: *const function_signatures.glClearDepthf = undefined;
8799 var glDepthRangef: *const function_signatures.glDepthRangef = undefined;
8800 var glIsTransformFeedback: *const function_signatures.glIsTransformFeedback = undefined;
8801 var glGenTransformFeedbacks: *const function_signatures.glGenTransformFeedbacks = undefined;
8802 var glDeleteTransformFeedbacks: *const function_signatures.glDeleteTransformFeedbacks = undefined;
8803 var glBindTransformFeedback: *const function_signatures.glBindTransformFeedback = undefined;
8804 var glPatchParameterfv: *const function_signatures.glPatchParameterfv = undefined;
8805 var glPatchParameteri: *const function_signatures.glPatchParameteri = undefined;
8806 var glDrawArrays: *const function_signatures.glDrawArrays = undefined;
8807 var glDrawElements: *const function_signatures.glDrawElements = undefined;
8808 var glPolygonOffset: *const function_signatures.glPolygonOffset = undefined;
8809 var glCopyTexImage1D: *const function_signatures.glCopyTexImage1D = undefined;
8810 var glCopyTexImage2D: *const function_signatures.glCopyTexImage2D = undefined;
8811 var glCopyTexSubImage1D: *const function_signatures.glCopyTexSubImage1D = undefined;
8812 var glCopyTexSubImage2D: *const function_signatures.glCopyTexSubImage2D = undefined;
8813 var glTexSubImage1D: *const function_signatures.glTexSubImage1D = undefined;
8814 var glTexSubImage2D: *const function_signatures.glTexSubImage2D = undefined;
8815 var glBindTexture: *const function_signatures.glBindTexture = undefined;
8816 var glDeleteTextures: *const function_signatures.glDeleteTextures = undefined;
8817 var glGenTextures: *const function_signatures.glGenTextures = undefined;
8818 var glIsTexture: *const function_signatures.glIsTexture = undefined;
8819 var glGetActiveSubroutineUniformName: *const function_signatures.glGetActiveSubroutineUniformName = undefined;
8820 var glGetActiveSubroutineUniformiv: *const function_signatures.glGetActiveSubroutineUniformiv = undefined;
8821 var glGetSubroutineIndex: *const function_signatures.glGetSubroutineIndex = undefined;
8822 var glGetSubroutineUniformLocation: *const function_signatures.glGetSubroutineUniformLocation = undefined;
8823 var glGetUniformdv: *const function_signatures.glGetUniformdv = undefined;
8824 var glUniformMatrix4x3dv: *const function_signatures.glUniformMatrix4x3dv = undefined;
8825 var glUniformMatrix4x2dv: *const function_signatures.glUniformMatrix4x2dv = undefined;
8826 var glUniformMatrix3x4dv: *const function_signatures.glUniformMatrix3x4dv = undefined;
8827 var glUniformMatrix3x2dv: *const function_signatures.glUniformMatrix3x2dv = undefined;
8828 var glUniformMatrix2x4dv: *const function_signatures.glUniformMatrix2x4dv = undefined;
8829 var glUniformMatrix2x3dv: *const function_signatures.glUniformMatrix2x3dv = undefined;
8830 var glUniformMatrix4dv: *const function_signatures.glUniformMatrix4dv = undefined;
8831 var glUniformMatrix3dv: *const function_signatures.glUniformMatrix3dv = undefined;
8832 var glDrawRangeElements: *const function_signatures.glDrawRangeElements = undefined;
8833 var glTexImage3D: *const function_signatures.glTexImage3D = undefined;
8834 var glTexSubImage3D: *const function_signatures.glTexSubImage3D = undefined;
8835 var glCopyTexSubImage3D: *const function_signatures.glCopyTexSubImage3D = undefined;
8836 var glUniformMatrix2dv: *const function_signatures.glUniformMatrix2dv = undefined;
8837 var glUniform4dv: *const function_signatures.glUniform4dv = undefined;
8838 var glUniform3dv: *const function_signatures.glUniform3dv = undefined;
8839 var glUniform2dv: *const function_signatures.glUniform2dv = undefined;
8840 var glUniform1dv: *const function_signatures.glUniform1dv = undefined;
8841 var glUniform4d: *const function_signatures.glUniform4d = undefined;
8842 var glUniform3d: *const function_signatures.glUniform3d = undefined;
8843 var glUniform2d: *const function_signatures.glUniform2d = undefined;
8844 var glUniform1d: *const function_signatures.glUniform1d = undefined;
8845 var glDrawElementsIndirect: *const function_signatures.glDrawElementsIndirect = undefined;
8846 var glDrawArraysIndirect: *const function_signatures.glDrawArraysIndirect = undefined;
8847 var glBlendFuncSeparatei: *const function_signatures.glBlendFuncSeparatei = undefined;
8848 var glBlendFunci: *const function_signatures.glBlendFunci = undefined;
8849 var glBlendEquationSeparatei: *const function_signatures.glBlendEquationSeparatei = undefined;
8850 var glBlendEquationi: *const function_signatures.glBlendEquationi = undefined;
8851 var glMinSampleShading: *const function_signatures.glMinSampleShading = undefined;
8852 var glActiveTexture: *const function_signatures.glActiveTexture = undefined;
8853 var glSampleCoverage: *const function_signatures.glSampleCoverage = undefined;
8854 var glCompressedTexImage3D: *const function_signatures.glCompressedTexImage3D = undefined;
8855 var glCompressedTexImage2D: *const function_signatures.glCompressedTexImage2D = undefined;
8856 var glCompressedTexImage1D: *const function_signatures.glCompressedTexImage1D = undefined;
8857 var glCompressedTexSubImage3D: *const function_signatures.glCompressedTexSubImage3D = undefined;
8858 var glCompressedTexSubImage2D: *const function_signatures.glCompressedTexSubImage2D = undefined;
8859 var glCompressedTexSubImage1D: *const function_signatures.glCompressedTexSubImage1D = undefined;
8860 var glGetCompressedTexImage: *const function_signatures.glGetCompressedTexImage = undefined;
8861 var glVertexAttribP4uiv: *const function_signatures.glVertexAttribP4uiv = undefined;
8862 var glVertexAttribP4ui: *const function_signatures.glVertexAttribP4ui = undefined;
8863 var glVertexAttribP3uiv: *const function_signatures.glVertexAttribP3uiv = undefined;
8864 var glVertexAttribP3ui: *const function_signatures.glVertexAttribP3ui = undefined;
8865 var glVertexAttribP2uiv: *const function_signatures.glVertexAttribP2uiv = undefined;
8866 var glVertexAttribP2ui: *const function_signatures.glVertexAttribP2ui = undefined;
8867 var glVertexAttribP1uiv: *const function_signatures.glVertexAttribP1uiv = undefined;
8868 var glVertexAttribP1ui: *const function_signatures.glVertexAttribP1ui = undefined;
8869 var glVertexAttribDivisor: *const function_signatures.glVertexAttribDivisor = undefined;
8870 var glGetQueryObjectui64v: *const function_signatures.glGetQueryObjectui64v = undefined;
8871 var glGetQueryObjecti64v: *const function_signatures.glGetQueryObjecti64v = undefined;
8872 var glQueryCounter: *const function_signatures.glQueryCounter = undefined;
8873 var glGetSamplerParameterIuiv: *const function_signatures.glGetSamplerParameterIuiv = undefined;
8874 var glGetSamplerParameterfv: *const function_signatures.glGetSamplerParameterfv = undefined;
8875 var glGetSamplerParameterIiv: *const function_signatures.glGetSamplerParameterIiv = undefined;
8876 var glGetSamplerParameteriv: *const function_signatures.glGetSamplerParameteriv = undefined;
8877 var glSamplerParameterIuiv: *const function_signatures.glSamplerParameterIuiv = undefined;
8878 var glSamplerParameterIiv: *const function_signatures.glSamplerParameterIiv = undefined;
8879 var glSamplerParameterfv: *const function_signatures.glSamplerParameterfv = undefined;
8880 var glSamplerParameterf: *const function_signatures.glSamplerParameterf = undefined;
8881 var glSamplerParameteriv: *const function_signatures.glSamplerParameteriv = undefined;
8882 var glSamplerParameteri: *const function_signatures.glSamplerParameteri = undefined;
8883 var glBindSampler: *const function_signatures.glBindSampler = undefined;
8884 var glIsSampler: *const function_signatures.glIsSampler = undefined;
8885 var glDeleteSamplers: *const function_signatures.glDeleteSamplers = undefined;
8886 var glGenSamplers: *const function_signatures.glGenSamplers = undefined;
8887 var glGetFragDataIndex: *const function_signatures.glGetFragDataIndex = undefined;
8888 var glBindFragDataLocationIndexed: *const function_signatures.glBindFragDataLocationIndexed = undefined;
8889 var glSampleMaski: *const function_signatures.glSampleMaski = undefined;
8890 var glGetMultisamplefv: *const function_signatures.glGetMultisamplefv = undefined;
8891 var glTexImage3DMultisample: *const function_signatures.glTexImage3DMultisample = undefined;
8892 var glTexImage2DMultisample: *const function_signatures.glTexImage2DMultisample = undefined;
8893 var glFramebufferTexture: *const function_signatures.glFramebufferTexture = undefined;
8894 var glGetBufferParameteri64v: *const function_signatures.glGetBufferParameteri64v = undefined;
8895 var glBlendFuncSeparate: *const function_signatures.glBlendFuncSeparate = undefined;
8896 var glMultiDrawArrays: *const function_signatures.glMultiDrawArrays = undefined;
8897 var glMultiDrawElements: *const function_signatures.glMultiDrawElements = undefined;
8898 var glPointParameterf: *const function_signatures.glPointParameterf = undefined;
8899 var glPointParameterfv: *const function_signatures.glPointParameterfv = undefined;
8900 var glPointParameteri: *const function_signatures.glPointParameteri = undefined;
8901 var glPointParameteriv: *const function_signatures.glPointParameteriv = undefined;
8902 var glGetInteger64i_v: *const function_signatures.glGetInteger64i_v = undefined;
8903 var glGetSynciv: *const function_signatures.glGetSynciv = undefined;
8904 var glGetInteger64v: *const function_signatures.glGetInteger64v = undefined;
8905 var glWaitSync: *const function_signatures.glWaitSync = undefined;
8906 var glClientWaitSync: *const function_signatures.glClientWaitSync = undefined;
8907 var glDeleteSync: *const function_signatures.glDeleteSync = undefined;
8908 var glIsSync: *const function_signatures.glIsSync = undefined;
8909 var glFenceSync: *const function_signatures.glFenceSync = undefined;
8910 var glBlendColor: *const function_signatures.glBlendColor = undefined;
8911 var glBlendEquation: *const function_signatures.glBlendEquation = undefined;
8912 var glProvokingVertex: *const function_signatures.glProvokingVertex = undefined;
8913 var glMultiDrawElementsBaseVertex: *const function_signatures.glMultiDrawElementsBaseVertex = undefined;
8914 var glDrawElementsInstancedBaseVertex: *const function_signatures.glDrawElementsInstancedBaseVertex = undefined;
8915 var glDrawRangeElementsBaseVertex: *const function_signatures.glDrawRangeElementsBaseVertex = undefined;
8916 var glDrawElementsBaseVertex: *const function_signatures.glDrawElementsBaseVertex = undefined;
8917 var glGenQueries: *const function_signatures.glGenQueries = undefined;
8918 var glDeleteQueries: *const function_signatures.glDeleteQueries = undefined;
8919 var glIsQuery: *const function_signatures.glIsQuery = undefined;
8920 var glBeginQuery: *const function_signatures.glBeginQuery = undefined;
8921 var glEndQuery: *const function_signatures.glEndQuery = undefined;
8922 var glGetQueryiv: *const function_signatures.glGetQueryiv = undefined;
8923 var glGetQueryObjectiv: *const function_signatures.glGetQueryObjectiv = undefined;
8924 var glGetQueryObjectuiv: *const function_signatures.glGetQueryObjectuiv = undefined;
8925 var glBindBuffer: *const function_signatures.glBindBuffer = undefined;
8926 var glDeleteBuffers: *const function_signatures.glDeleteBuffers = undefined;
8927 var glGenBuffers: *const function_signatures.glGenBuffers = undefined;
8928 var glIsBuffer: *const function_signatures.glIsBuffer = undefined;
8929 var glBufferData: *const function_signatures.glBufferData = undefined;
8930 var glBufferSubData: *const function_signatures.glBufferSubData = undefined;
8931 var glGetBufferSubData: *const function_signatures.glGetBufferSubData = undefined;
8932 var glMapBuffer: *const function_signatures.glMapBuffer = undefined;
8933 var glUnmapBuffer: *const function_signatures.glUnmapBuffer = undefined;
8934 var glGetBufferParameteriv: *const function_signatures.glGetBufferParameteriv = undefined;
8935 var glGetBufferPointerv: *const function_signatures.glGetBufferPointerv = undefined;
8936 var glBlendEquationSeparate: *const function_signatures.glBlendEquationSeparate = undefined;
8937 var glDrawBuffers: *const function_signatures.glDrawBuffers = undefined;
8938 var glStencilOpSeparate: *const function_signatures.glStencilOpSeparate = undefined;
8939 var glStencilFuncSeparate: *const function_signatures.glStencilFuncSeparate = undefined;
8940 var glStencilMaskSeparate: *const function_signatures.glStencilMaskSeparate = undefined;
8941 var glAttachShader: *const function_signatures.glAttachShader = undefined;
8942 var glBindAttribLocation: *const function_signatures.glBindAttribLocation = undefined;
8943 var glCompileShader: *const function_signatures.glCompileShader = undefined;
8944 var glCreateProgram: *const function_signatures.glCreateProgram = undefined;
8945 var glCreateShader: *const function_signatures.glCreateShader = undefined;
8946 var glDeleteProgram: *const function_signatures.glDeleteProgram = undefined;
8947 var glDeleteShader: *const function_signatures.glDeleteShader = undefined;
8948 var glDetachShader: *const function_signatures.glDetachShader = undefined;
8949 var glDisableVertexAttribArray: *const function_signatures.glDisableVertexAttribArray = undefined;
8950 var glEnableVertexAttribArray: *const function_signatures.glEnableVertexAttribArray = undefined;
8951 var glGetActiveAttrib: *const function_signatures.glGetActiveAttrib = undefined;
8952 var glGetActiveUniform: *const function_signatures.glGetActiveUniform = undefined;
8953 var glGetAttachedShaders: *const function_signatures.glGetAttachedShaders = undefined;
8954 var glGetAttribLocation: *const function_signatures.glGetAttribLocation = undefined;
8955 var glGetProgramiv: *const function_signatures.glGetProgramiv = undefined;
8956 var glGetProgramInfoLog: *const function_signatures.glGetProgramInfoLog = undefined;
8957 var glGetShaderiv: *const function_signatures.glGetShaderiv = undefined;
8958 var glGetShaderInfoLog: *const function_signatures.glGetShaderInfoLog = undefined;
8959 var glGetShaderSource: *const function_signatures.glGetShaderSource = undefined;
8960 var glGetUniformLocation: *const function_signatures.glGetUniformLocation = undefined;
8961 var glGetUniformfv: *const function_signatures.glGetUniformfv = undefined;
8962 var glGetUniformiv: *const function_signatures.glGetUniformiv = undefined;
8963 var glGetVertexAttribdv: *const function_signatures.glGetVertexAttribdv = undefined;
8964 var glGetVertexAttribfv: *const function_signatures.glGetVertexAttribfv = undefined;
8965 var glGetVertexAttribiv: *const function_signatures.glGetVertexAttribiv = undefined;
8966 var glGetVertexAttribPointerv: *const function_signatures.glGetVertexAttribPointerv = undefined;
8967 var glIsProgram: *const function_signatures.glIsProgram = undefined;
8968 var glIsShader: *const function_signatures.glIsShader = undefined;
8969 var glLinkProgram: *const function_signatures.glLinkProgram = undefined;
8970 var glShaderSource: *const function_signatures.glShaderSource = undefined;
8971 var glUseProgram: *const function_signatures.glUseProgram = undefined;
8972 var glUniform1f: *const function_signatures.glUniform1f = undefined;
8973 var glUniform2f: *const function_signatures.glUniform2f = undefined;
8974 var glUniform3f: *const function_signatures.glUniform3f = undefined;
8975 var glUniform4f: *const function_signatures.glUniform4f = undefined;
8976 var glUniform1i: *const function_signatures.glUniform1i = undefined;
8977 var glUniform2i: *const function_signatures.glUniform2i = undefined;
8978 var glUniform3i: *const function_signatures.glUniform3i = undefined;
8979 var glUniform4i: *const function_signatures.glUniform4i = undefined;
8980 var glUniform1fv: *const function_signatures.glUniform1fv = undefined;
8981 var glUniform2fv: *const function_signatures.glUniform2fv = undefined;
8982 var glUniform3fv: *const function_signatures.glUniform3fv = undefined;
8983 var glUniform4fv: *const function_signatures.glUniform4fv = undefined;
8984 var glUniform1iv: *const function_signatures.glUniform1iv = undefined;
8985 var glUniform2iv: *const function_signatures.glUniform2iv = undefined;
8986 var glUniform3iv: *const function_signatures.glUniform3iv = undefined;
8987 var glUniform4iv: *const function_signatures.glUniform4iv = undefined;
8988 var glUniformMatrix2fv: *const function_signatures.glUniformMatrix2fv = undefined;
8989 var glUniformMatrix3fv: *const function_signatures.glUniformMatrix3fv = undefined;
8990 var glUniformMatrix4fv: *const function_signatures.glUniformMatrix4fv = undefined;
8991 var glValidateProgram: *const function_signatures.glValidateProgram = undefined;
8992 var glVertexAttrib1d: *const function_signatures.glVertexAttrib1d = undefined;
8993 var glVertexAttrib1dv: *const function_signatures.glVertexAttrib1dv = undefined;
8994 var glVertexAttrib1f: *const function_signatures.glVertexAttrib1f = undefined;
8995 var glVertexAttrib1fv: *const function_signatures.glVertexAttrib1fv = undefined;
8996 var glVertexAttrib1s: *const function_signatures.glVertexAttrib1s = undefined;
8997 var glVertexAttrib1sv: *const function_signatures.glVertexAttrib1sv = undefined;
8998 var glVertexAttrib2d: *const function_signatures.glVertexAttrib2d = undefined;
8999 var glVertexAttrib2dv: *const function_signatures.glVertexAttrib2dv = undefined;
9000 var glVertexAttrib2f: *const function_signatures.glVertexAttrib2f = undefined;
9001 var glVertexAttrib2fv: *const function_signatures.glVertexAttrib2fv = undefined;
9002 var glVertexAttrib2s: *const function_signatures.glVertexAttrib2s = undefined;
9003 var glVertexAttrib2sv: *const function_signatures.glVertexAttrib2sv = undefined;
9004 var glVertexAttrib3d: *const function_signatures.glVertexAttrib3d = undefined;
9005 var glVertexAttrib3dv: *const function_signatures.glVertexAttrib3dv = undefined;
9006 var glVertexAttrib3f: *const function_signatures.glVertexAttrib3f = undefined;
9007 var glVertexAttrib3fv: *const function_signatures.glVertexAttrib3fv = undefined;
9008 var glVertexAttrib3s: *const function_signatures.glVertexAttrib3s = undefined;
9009 var glVertexAttrib3sv: *const function_signatures.glVertexAttrib3sv = undefined;
9010 var glVertexAttrib4Nbv: *const function_signatures.glVertexAttrib4Nbv = undefined;
9011 var glVertexAttrib4Niv: *const function_signatures.glVertexAttrib4Niv = undefined;
9012 var glVertexAttrib4Nsv: *const function_signatures.glVertexAttrib4Nsv = undefined;
9013 var glVertexAttrib4Nub: *const function_signatures.glVertexAttrib4Nub = undefined;
9014 var glVertexAttrib4Nubv: *const function_signatures.glVertexAttrib4Nubv = undefined;
9015 var glVertexAttrib4Nuiv: *const function_signatures.glVertexAttrib4Nuiv = undefined;
9016 var glVertexAttrib4Nusv: *const function_signatures.glVertexAttrib4Nusv = undefined;
9017 var glVertexAttrib4bv: *const function_signatures.glVertexAttrib4bv = undefined;
9018 var glVertexAttrib4d: *const function_signatures.glVertexAttrib4d = undefined;
9019 var glVertexAttrib4dv: *const function_signatures.glVertexAttrib4dv = undefined;
9020 var glVertexAttrib4f: *const function_signatures.glVertexAttrib4f = undefined;
9021 var glVertexAttrib4fv: *const function_signatures.glVertexAttrib4fv = undefined;
9022 var glVertexAttrib4iv: *const function_signatures.glVertexAttrib4iv = undefined;
9023 var glVertexAttrib4s: *const function_signatures.glVertexAttrib4s = undefined;
9024 var glVertexAttrib4sv: *const function_signatures.glVertexAttrib4sv = undefined;
9025 var glVertexAttrib4ubv: *const function_signatures.glVertexAttrib4ubv = undefined;
9026 var glVertexAttrib4uiv: *const function_signatures.glVertexAttrib4uiv = undefined;
9027 var glVertexAttrib4usv: *const function_signatures.glVertexAttrib4usv = undefined;
9028 var glVertexAttribPointer: *const function_signatures.glVertexAttribPointer = undefined;
9029 var glUniformMatrix2x3fv: *const function_signatures.glUniformMatrix2x3fv = undefined;
9030 var glUniformMatrix3x2fv: *const function_signatures.glUniformMatrix3x2fv = undefined;
9031 var glUniformMatrix2x4fv: *const function_signatures.glUniformMatrix2x4fv = undefined;
9032 var glUniformMatrix4x2fv: *const function_signatures.glUniformMatrix4x2fv = undefined;
9033 var glUniformMatrix3x4fv: *const function_signatures.glUniformMatrix3x4fv = undefined;
9034 var glUniformMatrix4x3fv: *const function_signatures.glUniformMatrix4x3fv = undefined;
9035 var glColorMaski: *const function_signatures.glColorMaski = undefined;
9036 var glGetBooleani_v: *const function_signatures.glGetBooleani_v = undefined;
9037 var glGetIntegeri_v: *const function_signatures.glGetIntegeri_v = undefined;
9038 var glEnablei: *const function_signatures.glEnablei = undefined;
9039 var glDisablei: *const function_signatures.glDisablei = undefined;
9040 var glIsEnabledi: *const function_signatures.glIsEnabledi = undefined;
9041 var glBeginTransformFeedback: *const function_signatures.glBeginTransformFeedback = undefined;
9042 var glEndTransformFeedback: *const function_signatures.glEndTransformFeedback = undefined;
9043 var glBindBufferRange: *const function_signatures.glBindBufferRange = undefined;
9044 var glBindBufferBase: *const function_signatures.glBindBufferBase = undefined;
9045 var glTransformFeedbackVaryings: *const function_signatures.glTransformFeedbackVaryings = undefined;
9046 var glGetTransformFeedbackVarying: *const function_signatures.glGetTransformFeedbackVarying = undefined;
9047 var glClampColor: *const function_signatures.glClampColor = undefined;
9048 var glBeginConditionalRender: *const function_signatures.glBeginConditionalRender = undefined;
9049 var glEndConditionalRender: *const function_signatures.glEndConditionalRender = undefined;
9050 var glVertexAttribIPointer: *const function_signatures.glVertexAttribIPointer = undefined;
9051 var glGetVertexAttribIiv: *const function_signatures.glGetVertexAttribIiv = undefined;
9052 var glGetVertexAttribIuiv: *const function_signatures.glGetVertexAttribIuiv = undefined;
9053 var glVertexAttribI1i: *const function_signatures.glVertexAttribI1i = undefined;
9054 var glVertexAttribI2i: *const function_signatures.glVertexAttribI2i = undefined;
9055 var glVertexAttribI3i: *const function_signatures.glVertexAttribI3i = undefined;
9056 var glVertexAttribI4i: *const function_signatures.glVertexAttribI4i = undefined;
9057 var glVertexAttribI1ui: *const function_signatures.glVertexAttribI1ui = undefined;
9058 var glVertexAttribI2ui: *const function_signatures.glVertexAttribI2ui = undefined;
9059 var glVertexAttribI3ui: *const function_signatures.glVertexAttribI3ui = undefined;
9060 var glVertexAttribI4ui: *const function_signatures.glVertexAttribI4ui = undefined;
9061 var glVertexAttribI1iv: *const function_signatures.glVertexAttribI1iv = undefined;
9062 var glVertexAttribI2iv: *const function_signatures.glVertexAttribI2iv = undefined;
9063 var glVertexAttribI3iv: *const function_signatures.glVertexAttribI3iv = undefined;
9064 var glVertexAttribI4iv: *const function_signatures.glVertexAttribI4iv = undefined;
9065 var glVertexAttribI1uiv: *const function_signatures.glVertexAttribI1uiv = undefined;
9066 var glVertexAttribI2uiv: *const function_signatures.glVertexAttribI2uiv = undefined;
9067 var glVertexAttribI3uiv: *const function_signatures.glVertexAttribI3uiv = undefined;
9068 var glVertexAttribI4uiv: *const function_signatures.glVertexAttribI4uiv = undefined;
9069 var glVertexAttribI4bv: *const function_signatures.glVertexAttribI4bv = undefined;
9070 var glVertexAttribI4sv: *const function_signatures.glVertexAttribI4sv = undefined;
9071 var glVertexAttribI4ubv: *const function_signatures.glVertexAttribI4ubv = undefined;
9072 var glVertexAttribI4usv: *const function_signatures.glVertexAttribI4usv = undefined;
9073 var glGetUniformuiv: *const function_signatures.glGetUniformuiv = undefined;
9074 var glBindFragDataLocation: *const function_signatures.glBindFragDataLocation = undefined;
9075 var glGetFragDataLocation: *const function_signatures.glGetFragDataLocation = undefined;
9076 var glUniform1ui: *const function_signatures.glUniform1ui = undefined;
9077 var glUniform2ui: *const function_signatures.glUniform2ui = undefined;
9078 var glUniform3ui: *const function_signatures.glUniform3ui = undefined;
9079 var glUniform4ui: *const function_signatures.glUniform4ui = undefined;
9080 var glUniform1uiv: *const function_signatures.glUniform1uiv = undefined;
9081 var glUniform2uiv: *const function_signatures.glUniform2uiv = undefined;
9082 var glUniform3uiv: *const function_signatures.glUniform3uiv = undefined;
9083 var glUniform4uiv: *const function_signatures.glUniform4uiv = undefined;
9084 var glTexParameterIiv: *const function_signatures.glTexParameterIiv = undefined;
9085 var glTexParameterIuiv: *const function_signatures.glTexParameterIuiv = undefined;
9086 var glGetTexParameterIiv: *const function_signatures.glGetTexParameterIiv = undefined;
9087 var glGetTexParameterIuiv: *const function_signatures.glGetTexParameterIuiv = undefined;
9088 var glClearBufferiv: *const function_signatures.glClearBufferiv = undefined;
9089 var glClearBufferuiv: *const function_signatures.glClearBufferuiv = undefined;
9090 var glClearBufferfv: *const function_signatures.glClearBufferfv = undefined;
9091 var glClearBufferfi: *const function_signatures.glClearBufferfi = undefined;
9092 var glGetStringi: *const function_signatures.glGetStringi = undefined;
9093 var glIsRenderbuffer: *const function_signatures.glIsRenderbuffer = undefined;
9094 var glBindRenderbuffer: *const function_signatures.glBindRenderbuffer = undefined;
9095 var glDeleteRenderbuffers: *const function_signatures.glDeleteRenderbuffers = undefined;
9096 var glGenRenderbuffers: *const function_signatures.glGenRenderbuffers = undefined;
9097 var glRenderbufferStorage: *const function_signatures.glRenderbufferStorage = undefined;
9098 var glGetRenderbufferParameteriv: *const function_signatures.glGetRenderbufferParameteriv = undefined;
9099 var glIsFramebuffer: *const function_signatures.glIsFramebuffer = undefined;
9100 var glBindFramebuffer: *const function_signatures.glBindFramebuffer = undefined;
9101 var glDeleteFramebuffers: *const function_signatures.glDeleteFramebuffers = undefined;
9102 var glGenFramebuffers: *const function_signatures.glGenFramebuffers = undefined;
9103 var glCheckFramebufferStatus: *const function_signatures.glCheckFramebufferStatus = undefined;
9104 var glFramebufferTexture1D: *const function_signatures.glFramebufferTexture1D = undefined;
9105 var glFramebufferTexture2D: *const function_signatures.glFramebufferTexture2D = undefined;
9106 var glFramebufferTexture3D: *const function_signatures.glFramebufferTexture3D = undefined;
9107 var glFramebufferRenderbuffer: *const function_signatures.glFramebufferRenderbuffer = undefined;
9108 var glGetFramebufferAttachmentParameteriv: *const function_signatures.glGetFramebufferAttachmentParameteriv = undefined;
9109 var glGenerateMipmap: *const function_signatures.glGenerateMipmap = undefined;
9110 var glBlitFramebuffer: *const function_signatures.glBlitFramebuffer = undefined;
9111 var glRenderbufferStorageMultisample: *const function_signatures.glRenderbufferStorageMultisample = undefined;
9112 var glFramebufferTextureLayer: *const function_signatures.glFramebufferTextureLayer = undefined;
9113 var glMapBufferRange: *const function_signatures.glMapBufferRange = undefined;
9114 var glFlushMappedBufferRange: *const function_signatures.glFlushMappedBufferRange = undefined;
9115 var glBindVertexArray: *const function_signatures.glBindVertexArray = undefined;
9116 var glDeleteVertexArrays: *const function_signatures.glDeleteVertexArrays = undefined;
9117 var glGenVertexArrays: *const function_signatures.glGenVertexArrays = undefined;
9118 var glIsVertexArray: *const function_signatures.glIsVertexArray = undefined;
9119 var glDrawArraysInstanced: *const function_signatures.glDrawArraysInstanced = undefined;
9120 var glDrawElementsInstanced: *const function_signatures.glDrawElementsInstanced = undefined;
9121 var glTexBuffer: *const function_signatures.glTexBuffer = undefined;
9122 var glPrimitiveRestartIndex: *const function_signatures.glPrimitiveRestartIndex = undefined;
9123 var glCopyBufferSubData: *const function_signatures.glCopyBufferSubData = undefined;
9124 var glGetUniformIndices: *const function_signatures.glGetUniformIndices = undefined;
9125 var glGetActiveUniformsiv: *const function_signatures.glGetActiveUniformsiv = undefined;
9126 var glGetActiveUniformName: *const function_signatures.glGetActiveUniformName = undefined;
9127 var glGetUniformBlockIndex: *const function_signatures.glGetUniformBlockIndex = undefined;
9128 var glGetActiveUniformBlockiv: *const function_signatures.glGetActiveUniformBlockiv = undefined;
9129 var glGetActiveUniformBlockName: *const function_signatures.glGetActiveUniformBlockName = undefined;
9130 var glUniformBlockBinding: *const function_signatures.glUniformBlockBinding = undefined;
9131 var glTexStorage3DMultisample: *const function_signatures.glTexStorage3DMultisample = undefined;
9132 var glTextureView: *const function_signatures.glTextureView = undefined;
9133 var glBindVertexBuffer: *const function_signatures.glBindVertexBuffer = undefined;
9134 var glVertexAttribFormat: *const function_signatures.glVertexAttribFormat = undefined;
9135 var glVertexAttribIFormat: *const function_signatures.glVertexAttribIFormat = undefined;
9136 var glVertexAttribLFormat: *const function_signatures.glVertexAttribLFormat = undefined;
9137 var glVertexAttribBinding: *const function_signatures.glVertexAttribBinding = undefined;
9138 var glVertexBindingDivisor: *const function_signatures.glVertexBindingDivisor = undefined;
9139 var glDebugMessageControl: *const function_signatures.glDebugMessageControl = undefined;
9140 var glDebugMessageInsert: *const function_signatures.glDebugMessageInsert = undefined;
9141 var glDebugMessageCallback: *const function_signatures.glDebugMessageCallback = undefined;
9142 var glGetDebugMessageLog: *const function_signatures.glGetDebugMessageLog = undefined;
9143 var glPushDebugGroup: *const function_signatures.glPushDebugGroup = undefined;
9144 var glPopDebugGroup: *const function_signatures.glPopDebugGroup = undefined;
9145 var glObjectLabel: *const function_signatures.glObjectLabel = undefined;
9146 var glGetObjectLabel: *const function_signatures.glGetObjectLabel = undefined;
9147 var glObjectPtrLabel: *const function_signatures.glObjectPtrLabel = undefined;
9148 var glGetObjectPtrLabel: *const function_signatures.glGetObjectPtrLabel = undefined;
9149 var glGetPointerv: *const function_signatures.glGetPointerv = undefined;
9150 var glBufferStorage: *const function_signatures.glBufferStorage = undefined;
9151 var glClearTexImage: *const function_signatures.glClearTexImage = undefined;
9152 var glClearTexSubImage: *const function_signatures.glClearTexSubImage = undefined;
9153 var glBindBuffersBase: *const function_signatures.glBindBuffersBase = undefined;
9154 var glBindBuffersRange: *const function_signatures.glBindBuffersRange = undefined;
9155 var glBindTextures: *const function_signatures.glBindTextures = undefined;
9156 var glBindSamplers: *const function_signatures.glBindSamplers = undefined;
9157 var glBindImageTextures: *const function_signatures.glBindImageTextures = undefined;
9158 var glBindVertexBuffers: *const function_signatures.glBindVertexBuffers = undefined;
9159 var glClipControl: *const function_signatures.glClipControl = undefined;
9160 var glCreateTransformFeedbacks: *const function_signatures.glCreateTransformFeedbacks = undefined;
9161 var glTransformFeedbackBufferBase: *const function_signatures.glTransformFeedbackBufferBase = undefined;
9162 var glTransformFeedbackBufferRange: *const function_signatures.glTransformFeedbackBufferRange = undefined;
9163 var glGetTransformFeedbackiv: *const function_signatures.glGetTransformFeedbackiv = undefined;
9164 var glGetTransformFeedbacki_v: *const function_signatures.glGetTransformFeedbacki_v = undefined;
9165 var glGetTransformFeedbacki64_v: *const function_signatures.glGetTransformFeedbacki64_v = undefined;
9166 var glCreateBuffers: *const function_signatures.glCreateBuffers = undefined;
9167 var glNamedBufferStorage: *const function_signatures.glNamedBufferStorage = undefined;
9168 var glNamedBufferData: *const function_signatures.glNamedBufferData = undefined;
9169 var glNamedBufferSubData: *const function_signatures.glNamedBufferSubData = undefined;
9170 var glCopyNamedBufferSubData: *const function_signatures.glCopyNamedBufferSubData = undefined;
9171 var glClearNamedBufferData: *const function_signatures.glClearNamedBufferData = undefined;
9172 var glClearNamedBufferSubData: *const function_signatures.glClearNamedBufferSubData = undefined;
9173 var glMapNamedBuffer: *const function_signatures.glMapNamedBuffer = undefined;
9174 var glMapNamedBufferRange: *const function_signatures.glMapNamedBufferRange = undefined;
9175 var glUnmapNamedBuffer: *const function_signatures.glUnmapNamedBuffer = undefined;
9176 var glFlushMappedNamedBufferRange: *const function_signatures.glFlushMappedNamedBufferRange = undefined;
9177 var glGetNamedBufferParameteriv: *const function_signatures.glGetNamedBufferParameteriv = undefined;
9178 var glGetNamedBufferParameteri64v: *const function_signatures.glGetNamedBufferParameteri64v = undefined;
9179 var glGetNamedBufferPointerv: *const function_signatures.glGetNamedBufferPointerv = undefined;
9180 var glGetNamedBufferSubData: *const function_signatures.glGetNamedBufferSubData = undefined;
9181 var glCreateFramebuffers: *const function_signatures.glCreateFramebuffers = undefined;
9182 var glNamedFramebufferRenderbuffer: *const function_signatures.glNamedFramebufferRenderbuffer = undefined;
9183 var glNamedFramebufferParameteri: *const function_signatures.glNamedFramebufferParameteri = undefined;
9184 var glNamedFramebufferTexture: *const function_signatures.glNamedFramebufferTexture = undefined;
9185 var glNamedFramebufferTextureLayer: *const function_signatures.glNamedFramebufferTextureLayer = undefined;
9186 var glNamedFramebufferDrawBuffer: *const function_signatures.glNamedFramebufferDrawBuffer = undefined;
9187 var glNamedFramebufferDrawBuffers: *const function_signatures.glNamedFramebufferDrawBuffers = undefined;
9188 var glNamedFramebufferReadBuffer: *const function_signatures.glNamedFramebufferReadBuffer = undefined;
9189 var glInvalidateNamedFramebufferData: *const function_signatures.glInvalidateNamedFramebufferData = undefined;
9190 var glInvalidateNamedFramebufferSubData: *const function_signatures.glInvalidateNamedFramebufferSubData = undefined;
9191 var glClearNamedFramebufferiv: *const function_signatures.glClearNamedFramebufferiv = undefined;
9192 var glClearNamedFramebufferuiv: *const function_signatures.glClearNamedFramebufferuiv = undefined;
9193 var glClearNamedFramebufferfv: *const function_signatures.glClearNamedFramebufferfv = undefined;
9194 var glClearNamedFramebufferfi: *const function_signatures.glClearNamedFramebufferfi = undefined;
9195 var glBlitNamedFramebuffer: *const function_signatures.glBlitNamedFramebuffer = undefined;
9196 var glCheckNamedFramebufferStatus: *const function_signatures.glCheckNamedFramebufferStatus = undefined;
9197 var glGetNamedFramebufferParameteriv: *const function_signatures.glGetNamedFramebufferParameteriv = undefined;
9198 var glGetNamedFramebufferAttachmentParameteriv: *const function_signatures.glGetNamedFramebufferAttachmentParameteriv = undefined;
9199 var glCreateRenderbuffers: *const function_signatures.glCreateRenderbuffers = undefined;
9200 var glNamedRenderbufferStorage: *const function_signatures.glNamedRenderbufferStorage = undefined;
9201 var glNamedRenderbufferStorageMultisample: *const function_signatures.glNamedRenderbufferStorageMultisample = undefined;
9202 var glGetNamedRenderbufferParameteriv: *const function_signatures.glGetNamedRenderbufferParameteriv = undefined;
9203 var glCreateTextures: *const function_signatures.glCreateTextures = undefined;
9204 var glTextureBuffer: *const function_signatures.glTextureBuffer = undefined;
9205 var glTextureBufferRange: *const function_signatures.glTextureBufferRange = undefined;
9206 var glTextureStorage1D: *const function_signatures.glTextureStorage1D = undefined;
9207 var glTextureStorage2D: *const function_signatures.glTextureStorage2D = undefined;
9208 var glTextureStorage3D: *const function_signatures.glTextureStorage3D = undefined;
9209 var glTextureStorage2DMultisample: *const function_signatures.glTextureStorage2DMultisample = undefined;
9210 var glTextureStorage3DMultisample: *const function_signatures.glTextureStorage3DMultisample = undefined;
9211 var glTextureSubImage1D: *const function_signatures.glTextureSubImage1D = undefined;
9212 var glTextureSubImage2D: *const function_signatures.glTextureSubImage2D = undefined;
9213 var glTextureSubImage3D: *const function_signatures.glTextureSubImage3D = undefined;
9214 var glCompressedTextureSubImage1D: *const function_signatures.glCompressedTextureSubImage1D = undefined;
9215 var glCompressedTextureSubImage2D: *const function_signatures.glCompressedTextureSubImage2D = undefined;
9216 var glCompressedTextureSubImage3D: *const function_signatures.glCompressedTextureSubImage3D = undefined;
9217 var glCopyTextureSubImage1D: *const function_signatures.glCopyTextureSubImage1D = undefined;
9218 var glCopyTextureSubImage2D: *const function_signatures.glCopyTextureSubImage2D = undefined;
9219 var glCopyTextureSubImage3D: *const function_signatures.glCopyTextureSubImage3D = undefined;
9220 var glTextureParameterf: *const function_signatures.glTextureParameterf = undefined;
9221 var glTextureParameterfv: *const function_signatures.glTextureParameterfv = undefined;
9222 var glTextureParameteri: *const function_signatures.glTextureParameteri = undefined;
9223 var glTextureParameterIiv: *const function_signatures.glTextureParameterIiv = undefined;
9224 var glTextureParameterIuiv: *const function_signatures.glTextureParameterIuiv = undefined;
9225 var glTextureParameteriv: *const function_signatures.glTextureParameteriv = undefined;
9226 var glGenerateTextureMipmap: *const function_signatures.glGenerateTextureMipmap = undefined;
9227 var glBindTextureUnit: *const function_signatures.glBindTextureUnit = undefined;
9228 var glGetTextureImage: *const function_signatures.glGetTextureImage = undefined;
9229 var glGetCompressedTextureImage: *const function_signatures.glGetCompressedTextureImage = undefined;
9230 var glGetTextureLevelParameterfv: *const function_signatures.glGetTextureLevelParameterfv = undefined;
9231 var glGetTextureLevelParameteriv: *const function_signatures.glGetTextureLevelParameteriv = undefined;
9232 var glGetTextureParameterfv: *const function_signatures.glGetTextureParameterfv = undefined;
9233 var glGetTextureParameterIiv: *const function_signatures.glGetTextureParameterIiv = undefined;
9234 var glGetTextureParameterIuiv: *const function_signatures.glGetTextureParameterIuiv = undefined;
9235 var glGetTextureParameteriv: *const function_signatures.glGetTextureParameteriv = undefined;
9236 var glCreateVertexArrays: *const function_signatures.glCreateVertexArrays = undefined;
9237 var glDisableVertexArrayAttrib: *const function_signatures.glDisableVertexArrayAttrib = undefined;
9238 var glEnableVertexArrayAttrib: *const function_signatures.glEnableVertexArrayAttrib = undefined;
9239 var glVertexArrayElementBuffer: *const function_signatures.glVertexArrayElementBuffer = undefined;
9240 var glVertexArrayVertexBuffer: *const function_signatures.glVertexArrayVertexBuffer = undefined;
9241 var glVertexArrayVertexBuffers: *const function_signatures.glVertexArrayVertexBuffers = undefined;
9242 var glVertexArrayAttribBinding: *const function_signatures.glVertexArrayAttribBinding = undefined;
9243 var glVertexArrayAttribFormat: *const function_signatures.glVertexArrayAttribFormat = undefined;
9244 var glVertexArrayAttribIFormat: *const function_signatures.glVertexArrayAttribIFormat = undefined;
9245 var glVertexArrayAttribLFormat: *const function_signatures.glVertexArrayAttribLFormat = undefined;
9246 var glVertexArrayBindingDivisor: *const function_signatures.glVertexArrayBindingDivisor = undefined;
9247 var glGetVertexArrayiv: *const function_signatures.glGetVertexArrayiv = undefined;
9248 var glGetVertexArrayIndexediv: *const function_signatures.glGetVertexArrayIndexediv = undefined;
9249 var glGetVertexArrayIndexed64iv: *const function_signatures.glGetVertexArrayIndexed64iv = undefined;
9250 var glCreateSamplers: *const function_signatures.glCreateSamplers = undefined;
9251 var glCreateProgramPipelines: *const function_signatures.glCreateProgramPipelines = undefined;
9252 var glCreateQueries: *const function_signatures.glCreateQueries = undefined;
9253 var glGetQueryBufferObjecti64v: *const function_signatures.glGetQueryBufferObjecti64v = undefined;
9254 var glGetQueryBufferObjectiv: *const function_signatures.glGetQueryBufferObjectiv = undefined;
9255 var glGetQueryBufferObjectui64v: *const function_signatures.glGetQueryBufferObjectui64v = undefined;
9256 var glGetQueryBufferObjectuiv: *const function_signatures.glGetQueryBufferObjectuiv = undefined;
9257 var glMemoryBarrierByRegion: *const function_signatures.glMemoryBarrierByRegion = undefined;
9258 var glGetTextureSubImage: *const function_signatures.glGetTextureSubImage = undefined;
9259 var glGetCompressedTextureSubImage: *const function_signatures.glGetCompressedTextureSubImage = undefined;
9260 var glGetGraphicsResetStatus: *const function_signatures.glGetGraphicsResetStatus = undefined;
9261 var glGetnCompressedTexImage: *const function_signatures.glGetnCompressedTexImage = undefined;
9262 var glGetnTexImage: *const function_signatures.glGetnTexImage = undefined;
9263 var glGetnUniformdv: *const function_signatures.glGetnUniformdv = undefined;
9264 var glGetnUniformfv: *const function_signatures.glGetnUniformfv = undefined;
9265 var glGetnUniformiv: *const function_signatures.glGetnUniformiv = undefined;
9266 var glGetnUniformuiv: *const function_signatures.glGetnUniformuiv = undefined;
9267 var glReadnPixels: *const function_signatures.glReadnPixels = undefined;
9268 var glTextureBarrier: *const function_signatures.glTextureBarrier = undefined;
9269};
9270
9271test {
9272 _ = load;
9273 @setEvalBranchQuota(100_000); // Yes, this is necessary. OpenGL gets quite large!
9274 std.testing.refAllDecls(@This());
9275}

References

This page is referenced by the following documents: