2022-09-22 15:23:16 +00:00
const std = @import ( " std " ) ;
const builtin = @import ( " builtin " ) ;
const log = std . log . scoped ( . OpenGL ) ;
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 ;
pub const GLclampx = i32 ;
pub const GLsizei = c_int ;
pub const GLfloat = f32 ;
pub const GLclampf = f32 ;
pub const GLdouble = f64 ;
pub const GLclampd = f64 ;
pub const GLeglClientBufferEXT = void ;
pub const GLeglImageOES = void ;
pub const GLchar = u8 ;
pub const GLcharARB = u8 ;
pub const GLhandleARB = if ( builtin . os . tag = = . macos ) * anyopaque else c_uint ;
pub const GLhalf = u16 ;
pub const GLhalfARB = u16 ;
pub const GLfixed = i32 ;
pub const GLintptr = usize ;
pub const GLintptrARB = usize ;
pub const GLsizeiptr = isize ;
pub const GLsizeiptrARB = isize ;
pub const GLint64 = i64 ;
pub const GLint64EXT = i64 ;
pub const GLuint64 = u64 ;
pub const GLuint64EXT = u64 ;
pub const GLsync = * opaque { } ;
pub const _cl_context = opaque { } ;
pub const _cl_event = opaque { } ;
pub const GLDEBUGPROC = FnPtr ( fn ( source : GLenum , _type : GLenum , id : GLuint , severity : GLenum , length : GLsizei , message : [ * : 0 ] const u8 , userParam : ? * anyopaque ) callconv ( . C ) void ) ;
pub const GLDEBUGPROCARB = FnPtr ( fn ( source : GLenum , _type : GLenum , id : GLuint , severity : GLenum , length : GLsizei , message : [ * : 0 ] const u8 , userParam : ? * anyopaque ) callconv ( . C ) void ) ;
pub const GLDEBUGPROCKHR = FnPtr ( fn ( source : GLenum , _type : GLenum , id : GLuint , severity : GLenum , length : GLsizei , message : [ * : 0 ] const u8 , userParam : ? * anyopaque ) callconv ( . C ) void ) ;
pub const GLDEBUGPROCAMD = FnPtr ( fn ( id : GLuint , category : GLenum , severity : GLenum , length : GLsizei , message : [ * : 0 ] const u8 , userParam : ? * anyopaque ) callconv ( . C ) void ) ;
pub const GLhalfNV = u16 ;
pub const GLvdpauSurfaceNV = GLintptr ;
pub const GLVULKANPROCNV = * const fn ( ) callconv ( . C ) void ;
fn FnPtr ( comptime Fn : type ) type {
return if ( @import ( " builtin " ) . zig_backend ! = . stage1 )
* const Fn
else
Fn ;
}
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 ;
pub const POINTS = 0x0000 ;
pub const LINES = 0x0001 ;
pub const LINE_LOOP = 0x0002 ;
pub const LINE_STRIP = 0x0003 ;
pub const TRIANGLES = 0x0004 ;
pub const TRIANGLE_STRIP = 0x0005 ;
pub const TRIANGLE_FAN = 0x0006 ;
pub const NEVER = 0x0200 ;
pub const LESS = 0x0201 ;
pub const EQUAL = 0x0202 ;
pub const LEQUAL = 0x0203 ;
pub const GREATER = 0x0204 ;
pub const NOTEQUAL = 0x0205 ;
pub const GEQUAL = 0x0206 ;
pub const ALWAYS = 0x0207 ;
pub const ZERO = 0 ;
pub const ONE = 1 ;
pub const SRC_COLOR = 0x0300 ;
pub const ONE_MINUS_SRC_COLOR = 0x0301 ;
pub const SRC_ALPHA = 0x0302 ;
pub const ONE_MINUS_SRC_ALPHA = 0x0303 ;
pub const DST_ALPHA = 0x0304 ;
pub const ONE_MINUS_DST_ALPHA = 0x0305 ;
pub const DST_COLOR = 0x0306 ;
pub const ONE_MINUS_DST_COLOR = 0x0307 ;
pub const SRC_ALPHA_SATURATE = 0x0308 ;
pub const NONE = 0 ;
pub const FRONT_LEFT = 0x0400 ;
pub const FRONT_RIGHT = 0x0401 ;
pub const BACK_LEFT = 0x0402 ;
pub const BACK_RIGHT = 0x0403 ;
pub const FRONT = 0x0404 ;
pub const BACK = 0x0405 ;
pub const LEFT = 0x0406 ;
pub const RIGHT = 0x0407 ;
pub const FRONT_AND_BACK = 0x0408 ;
pub const NO_ERROR = 0 ;
pub const INVALID_ENUM = 0x0500 ;
pub const INVALID_VALUE = 0x0501 ;
pub const INVALID_OPERATION = 0x0502 ;
pub const OUT_OF_MEMORY = 0x0505 ;
pub const CW = 0x0900 ;
pub const CCW = 0x0901 ;
pub const POINT_SIZE = 0x0B11 ;
pub const POINT_SIZE_RANGE = 0x0B12 ;
pub const POINT_SIZE_GRANULARITY = 0x0B13 ;
pub const LINE_SMOOTH = 0x0B20 ;
pub const LINE_WIDTH = 0x0B21 ;
pub const LINE_WIDTH_RANGE = 0x0B22 ;
pub const LINE_WIDTH_GRANULARITY = 0x0B23 ;
pub const POLYGON_MODE = 0x0B40 ;
pub const POLYGON_SMOOTH = 0x0B41 ;
pub const CULL_FACE = 0x0B44 ;
pub const CULL_FACE_MODE = 0x0B45 ;
pub const FRONT_FACE = 0x0B46 ;
pub const DEPTH_RANGE = 0x0B70 ;
pub const DEPTH_TEST = 0x0B71 ;
pub const DEPTH_WRITEMASK = 0x0B72 ;
pub const DEPTH_CLEAR_VALUE = 0x0B73 ;
pub const DEPTH_FUNC = 0x0B74 ;
pub const STENCIL_TEST = 0x0B90 ;
pub const STENCIL_CLEAR_VALUE = 0x0B91 ;
pub const STENCIL_FUNC = 0x0B92 ;
pub const STENCIL_VALUE_MASK = 0x0B93 ;
pub const STENCIL_FAIL = 0x0B94 ;
pub const STENCIL_PASS_DEPTH_FAIL = 0x0B95 ;
pub const STENCIL_PASS_DEPTH_PASS = 0x0B96 ;
pub const STENCIL_REF = 0x0B97 ;
pub const STENCIL_WRITEMASK = 0x0B98 ;
pub const VIEWPORT = 0x0BA2 ;
pub const DITHER = 0x0BD0 ;
pub const BLEND_DST = 0x0BE0 ;
pub const BLEND_SRC = 0x0BE1 ;
pub const BLEND = 0x0BE2 ;
pub const LOGIC_OP_MODE = 0x0BF0 ;
pub const DRAW_BUFFER = 0x0C01 ;
pub const READ_BUFFER = 0x0C02 ;
pub const SCISSOR_BOX = 0x0C10 ;
pub const SCISSOR_TEST = 0x0C11 ;
pub const COLOR_CLEAR_VALUE = 0x0C22 ;
pub const COLOR_WRITEMASK = 0x0C23 ;
pub const DOUBLEBUFFER = 0x0C32 ;
pub const STEREO = 0x0C33 ;
pub const LINE_SMOOTH_HINT = 0x0C52 ;
pub const POLYGON_SMOOTH_HINT = 0x0C53 ;
pub const UNPACK_SWAP_BYTES = 0x0CF0 ;
pub const UNPACK_LSB_FIRST = 0x0CF1 ;
pub const UNPACK_ROW_LENGTH = 0x0CF2 ;
pub const UNPACK_SKIP_ROWS = 0x0CF3 ;
pub const UNPACK_SKIP_PIXELS = 0x0CF4 ;
pub const UNPACK_ALIGNMENT = 0x0CF5 ;
pub const PACK_SWAP_BYTES = 0x0D00 ;
pub const PACK_LSB_FIRST = 0x0D01 ;
pub const PACK_ROW_LENGTH = 0x0D02 ;
pub const PACK_SKIP_ROWS = 0x0D03 ;
pub const PACK_SKIP_PIXELS = 0x0D04 ;
pub const PACK_ALIGNMENT = 0x0D05 ;
pub const MAX_TEXTURE_SIZE = 0x0D33 ;
pub const MAX_VIEWPORT_DIMS = 0x0D3A ;
pub const SUBPIXEL_BITS = 0x0D50 ;
pub const TEXTURE_1D = 0x0DE0 ;
pub const TEXTURE_2D = 0x0DE1 ;
pub const TEXTURE_WIDTH = 0x1000 ;
pub const TEXTURE_HEIGHT = 0x1001 ;
pub const TEXTURE_BORDER_COLOR = 0x1004 ;
pub const DONT_CARE = 0x1100 ;
pub const FASTEST = 0x1101 ;
pub const NICEST = 0x1102 ;
pub const BYTE = 0x1400 ;
pub const UNSIGNED_BYTE = 0x1401 ;
pub const SHORT = 0x1402 ;
pub const UNSIGNED_SHORT = 0x1403 ;
pub const INT = 0x1404 ;
pub const UNSIGNED_INT = 0x1405 ;
pub const FLOAT = 0x1406 ;
pub const CLEAR = 0x1500 ;
pub const AND = 0x1501 ;
pub const AND_REVERSE = 0x1502 ;
pub const COPY = 0x1503 ;
pub const AND_INVERTED = 0x1504 ;
pub const NOOP = 0x1505 ;
pub const XOR = 0x1506 ;
pub const OR = 0x1507 ;
pub const NOR = 0x1508 ;
pub const EQUIV = 0x1509 ;
pub const INVERT = 0x150A ;
pub const OR_REVERSE = 0x150B ;
pub const COPY_INVERTED = 0x150C ;
pub const OR_INVERTED = 0x150D ;
pub const NAND = 0x150E ;
pub const SET = 0x150F ;
pub const TEXTURE = 0x1702 ;
pub const COLOR = 0x1800 ;
pub const DEPTH = 0x1801 ;
pub const STENCIL = 0x1802 ;
pub const STENCIL_INDEX = 0x1901 ;
pub const DEPTH_COMPONENT = 0x1902 ;
pub const RED = 0x1903 ;
pub const GREEN = 0x1904 ;
pub const BLUE = 0x1905 ;
pub const ALPHA = 0x1906 ;
pub const RGB = 0x1907 ;
pub const RGBA = 0x1908 ;
pub const POINT = 0x1B00 ;
pub const LINE = 0x1B01 ;
pub const FILL = 0x1B02 ;
pub const KEEP = 0x1E00 ;
pub const REPLACE = 0x1E01 ;
pub const INCR = 0x1E02 ;
pub const DECR = 0x1E03 ;
pub const VENDOR = 0x1F00 ;
pub const RENDERER = 0x1F01 ;
pub const VERSION = 0x1F02 ;
pub const EXTENSIONS = 0x1F03 ;
pub const NEAREST = 0x2600 ;
pub const LINEAR = 0x2601 ;
pub const NEAREST_MIPMAP_NEAREST = 0x2700 ;
pub const LINEAR_MIPMAP_NEAREST = 0x2701 ;
pub const NEAREST_MIPMAP_LINEAR = 0x2702 ;
pub const LINEAR_MIPMAP_LINEAR = 0x2703 ;
pub const TEXTURE_MAG_FILTER = 0x2800 ;
pub const TEXTURE_MIN_FILTER = 0x2801 ;
pub const TEXTURE_WRAP_S = 0x2802 ;
pub const TEXTURE_WRAP_T = 0x2803 ;
pub const REPEAT = 0x2901 ;
pub const COLOR_LOGIC_OP = 0x0BF2 ;
pub const POLYGON_OFFSET_UNITS = 0x2A00 ;
pub const POLYGON_OFFSET_POINT = 0x2A01 ;
pub const POLYGON_OFFSET_LINE = 0x2A02 ;
pub const POLYGON_OFFSET_FILL = 0x8037 ;
pub const POLYGON_OFFSET_FACTOR = 0x8038 ;
pub const TEXTURE_BINDING_1D = 0x8068 ;
pub const TEXTURE_BINDING_2D = 0x8069 ;
pub const TEXTURE_INTERNAL_FORMAT = 0x1003 ;
pub const TEXTURE_RED_SIZE = 0x805C ;
pub const TEXTURE_GREEN_SIZE = 0x805D ;
pub const TEXTURE_BLUE_SIZE = 0x805E ;
pub const TEXTURE_ALPHA_SIZE = 0x805F ;
pub const DOUBLE = 0x140A ;
pub const PROXY_TEXTURE_1D = 0x8063 ;
pub const PROXY_TEXTURE_2D = 0x8064 ;
pub const R3_G3_B2 = 0x2A10 ;
pub const RGB4 = 0x804F ;
pub const RGB5 = 0x8050 ;
pub const RGB8 = 0x8051 ;
pub const RGB10 = 0x8052 ;
pub const RGB12 = 0x8053 ;
pub const RGB16 = 0x8054 ;
pub const RGBA2 = 0x8055 ;
pub const RGBA4 = 0x8056 ;
pub const RGB5_A1 = 0x8057 ;
pub const RGBA8 = 0x8058 ;
pub const RGB10_A2 = 0x8059 ;
pub const RGBA12 = 0x805A ;
pub const RGBA16 = 0x805B ;
pub const UNSIGNED_BYTE_3_3_2 = 0x8032 ;
pub const UNSIGNED_SHORT_4_4_4_4 = 0x8033 ;
pub const UNSIGNED_SHORT_5_5_5_1 = 0x8034 ;
pub const UNSIGNED_INT_8_8_8_8 = 0x8035 ;
pub const UNSIGNED_INT_10_10_10_2 = 0x8036 ;
pub const TEXTURE_BINDING_3D = 0x806A ;
pub const PACK_SKIP_IMAGES = 0x806B ;
pub const PACK_IMAGE_HEIGHT = 0x806C ;
pub const UNPACK_SKIP_IMAGES = 0x806D ;
pub const UNPACK_IMAGE_HEIGHT = 0x806E ;
pub const TEXTURE_3D = 0x806F ;
pub const PROXY_TEXTURE_3D = 0x8070 ;
pub const TEXTURE_DEPTH = 0x8071 ;
pub const TEXTURE_WRAP_R = 0x8072 ;
pub const MAX_3D_TEXTURE_SIZE = 0x8073 ;
pub const UNSIGNED_BYTE_2_3_3_REV = 0x8362 ;
pub const UNSIGNED_SHORT_5_6_5 = 0x8363 ;
pub const UNSIGNED_SHORT_5_6_5_REV = 0x8364 ;
pub const UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 ;
pub const UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 ;
pub const UNSIGNED_INT_8_8_8_8_REV = 0x8367 ;
pub const UNSIGNED_INT_2_10_10_10_REV = 0x8368 ;
pub const BGR = 0x80E0 ;
pub const BGRA = 0x80E1 ;
pub const MAX_ELEMENTS_VERTICES = 0x80E8 ;
pub const MAX_ELEMENTS_INDICES = 0x80E9 ;
pub const CLAMP_TO_EDGE = 0x812F ;
pub const TEXTURE_MIN_LOD = 0x813A ;
pub const TEXTURE_MAX_LOD = 0x813B ;
pub const TEXTURE_BASE_LEVEL = 0x813C ;
pub const TEXTURE_MAX_LEVEL = 0x813D ;
pub const SMOOTH_POINT_SIZE_RANGE = 0x0B12 ;
pub const SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 ;
pub const SMOOTH_LINE_WIDTH_RANGE = 0x0B22 ;
pub const SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 ;
pub const ALIASED_LINE_WIDTH_RANGE = 0x846E ;
pub const TEXTURE0 = 0x84C0 ;
pub const TEXTURE1 = 0x84C1 ;
pub const TEXTURE2 = 0x84C2 ;
pub const TEXTURE3 = 0x84C3 ;
pub const TEXTURE4 = 0x84C4 ;
pub const TEXTURE5 = 0x84C5 ;
pub const TEXTURE6 = 0x84C6 ;
pub const TEXTURE7 = 0x84C7 ;
pub const TEXTURE8 = 0x84C8 ;
pub const TEXTURE9 = 0x84C9 ;
pub const TEXTURE10 = 0x84CA ;
pub const TEXTURE11 = 0x84CB ;
pub const TEXTURE12 = 0x84CC ;
pub const TEXTURE13 = 0x84CD ;
pub const TEXTURE14 = 0x84CE ;
pub const TEXTURE15 = 0x84CF ;
pub const TEXTURE16 = 0x84D0 ;
pub const TEXTURE17 = 0x84D1 ;
pub const TEXTURE18 = 0x84D2 ;
pub const TEXTURE19 = 0x84D3 ;
pub const TEXTURE20 = 0x84D4 ;
pub const TEXTURE21 = 0x84D5 ;
pub const TEXTURE22 = 0x84D6 ;
pub const TEXTURE23 = 0x84D7 ;
pub const TEXTURE24 = 0x84D8 ;
pub const TEXTURE25 = 0x84D9 ;
pub const TEXTURE26 = 0x84DA ;
pub const TEXTURE27 = 0x84DB ;
pub const TEXTURE28 = 0x84DC ;
pub const TEXTURE29 = 0x84DD ;
pub const TEXTURE30 = 0x84DE ;
pub const TEXTURE31 = 0x84DF ;
pub const ACTIVE_TEXTURE = 0x84E0 ;
pub const MULTISAMPLE = 0x809D ;
pub const SAMPLE_ALPHA_TO_COVERAGE = 0x809E ;
pub const SAMPLE_ALPHA_TO_ONE = 0x809F ;
pub const SAMPLE_COVERAGE = 0x80A0 ;
pub const SAMPLE_BUFFERS = 0x80A8 ;
pub const SAMPLES = 0x80A9 ;
pub const SAMPLE_COVERAGE_VALUE = 0x80AA ;
pub const SAMPLE_COVERAGE_INVERT = 0x80AB ;
pub const TEXTURE_CUBE_MAP = 0x8513 ;
pub const TEXTURE_BINDING_CUBE_MAP = 0x8514 ;
pub const TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 ;
pub const TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 ;
pub const TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 ;
pub const TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 ;
pub const TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 ;
pub const TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A ;
pub const PROXY_TEXTURE_CUBE_MAP = 0x851B ;
pub const MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C ;
pub const COMPRESSED_RGB = 0x84ED ;
pub const COMPRESSED_RGBA = 0x84EE ;
pub const TEXTURE_COMPRESSION_HINT = 0x84EF ;
pub const TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0 ;
pub const TEXTURE_COMPRESSED = 0x86A1 ;
pub const NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2 ;
pub const COMPRESSED_TEXTURE_FORMATS = 0x86A3 ;
pub const CLAMP_TO_BORDER = 0x812D ;
pub const INT_2_10_10_10_REV = 0x8D9F ;
pub const TIMESTAMP = 0x8E28 ;
pub const TIME_ELAPSED = 0x88BF ;
pub const TEXTURE_SWIZZLE_RGBA = 0x8E46 ;
pub const TEXTURE_SWIZZLE_A = 0x8E45 ;
pub const TEXTURE_SWIZZLE_B = 0x8E44 ;
pub const TEXTURE_SWIZZLE_G = 0x8E43 ;
pub const TEXTURE_SWIZZLE_R = 0x8E42 ;
pub const RGB10_A2UI = 0x906F ;
pub const BLEND_DST_RGB = 0x80C8 ;
pub const BLEND_SRC_RGB = 0x80C9 ;
pub const BLEND_DST_ALPHA = 0x80CA ;
pub const BLEND_SRC_ALPHA = 0x80CB ;
pub const POINT_FADE_THRESHOLD_SIZE = 0x8128 ;
pub const DEPTH_COMPONENT16 = 0x81A5 ;
pub const DEPTH_COMPONENT24 = 0x81A6 ;
pub const DEPTH_COMPONENT32 = 0x81A7 ;
pub const MIRRORED_REPEAT = 0x8370 ;
pub const MAX_TEXTURE_LOD_BIAS = 0x84FD ;
pub const TEXTURE_LOD_BIAS = 0x8501 ;
pub const INCR_WRAP = 0x8507 ;
pub const DECR_WRAP = 0x8508 ;
pub const TEXTURE_DEPTH_SIZE = 0x884A ;
pub const TEXTURE_COMPARE_MODE = 0x884C ;
pub const TEXTURE_COMPARE_FUNC = 0x884D ;
pub const SAMPLER_BINDING = 0x8919 ;
pub const ANY_SAMPLES_PASSED = 0x8C2F ;
pub const MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC ;
pub const ONE_MINUS_SRC1_ALPHA = 0x88FB ;
pub const ONE_MINUS_SRC1_COLOR = 0x88FA ;
pub const SRC1_COLOR = 0x88F9 ;
pub const VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE ;
pub const MAX_INTEGER_SAMPLES = 0x9110 ;
pub const MAX_DEPTH_TEXTURE_SAMPLES = 0x910F ;
pub const MAX_COLOR_TEXTURE_SAMPLES = 0x910E ;
pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D ;
pub const INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C ;
pub const SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B ;
pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A ;
pub const INT_SAMPLER_2D_MULTISAMPLE = 0x9109 ;
pub const SAMPLER_2D_MULTISAMPLE = 0x9108 ;
pub const TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107 ;
pub const TEXTURE_SAMPLES = 0x9106 ;
pub const TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105 ;
pub const TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104 ;
pub const PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 ;
pub const TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 ;
pub const PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 ;
pub const TEXTURE_2D_MULTISAMPLE = 0x9100 ;
pub const MAX_SAMPLE_MASK_WORDS = 0x8E59 ;
pub const SAMPLE_MASK_VALUE = 0x8E52 ;
pub const SAMPLE_MASK = 0x8E51 ;
pub const SAMPLE_POSITION = 0x8E50 ;
pub const SYNC_FLUSH_COMMANDS_BIT = 0x00000001 ;
pub const TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF ;
pub const WAIT_FAILED = 0x911D ;
pub const CONDITION_SATISFIED = 0x911C ;
pub const TIMEOUT_EXPIRED = 0x911B ;
pub const ALREADY_SIGNALED = 0x911A ;
pub const SIGNALED = 0x9119 ;
pub const UNSIGNALED = 0x9118 ;
pub const SYNC_GPU_COMMANDS_COMPLETE = 0x9117 ;
pub const BLEND_COLOR = 0x8005 ;
pub const BLEND_EQUATION = 0x8009 ;
pub const CONSTANT_COLOR = 0x8001 ;
pub const ONE_MINUS_CONSTANT_COLOR = 0x8002 ;
pub const CONSTANT_ALPHA = 0x8003 ;
pub const ONE_MINUS_CONSTANT_ALPHA = 0x8004 ;
pub const FUNC_ADD = 0x8006 ;
pub const FUNC_REVERSE_SUBTRACT = 0x800B ;
pub const FUNC_SUBTRACT = 0x800A ;
pub const MIN = 0x8007 ;
pub const MAX = 0x8008 ;
pub const BUFFER_SIZE = 0x8764 ;
pub const BUFFER_USAGE = 0x8765 ;
pub const QUERY_COUNTER_BITS = 0x8864 ;
pub const CURRENT_QUERY = 0x8865 ;
pub const QUERY_RESULT = 0x8866 ;
pub const QUERY_RESULT_AVAILABLE = 0x8867 ;
pub const ARRAY_BUFFER = 0x8892 ;
pub const ELEMENT_ARRAY_BUFFER = 0x8893 ;
pub const ARRAY_BUFFER_BINDING = 0x8894 ;
pub const ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 ;
pub const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F ;
pub const READ_ONLY = 0x88B8 ;
pub const WRITE_ONLY = 0x88B9 ;
pub const READ_WRITE = 0x88BA ;
pub const BUFFER_ACCESS = 0x88BB ;
pub const BUFFER_MAPPED = 0x88BC ;
pub const BUFFER_MAP_POINTER = 0x88BD ;
pub const STREAM_DRAW = 0x88E0 ;
pub const STREAM_READ = 0x88E1 ;
pub const STREAM_COPY = 0x88E2 ;
pub const STATIC_DRAW = 0x88E4 ;
pub const STATIC_READ = 0x88E5 ;
pub const STATIC_COPY = 0x88E6 ;
pub const DYNAMIC_DRAW = 0x88E8 ;
pub const DYNAMIC_READ = 0x88E9 ;
pub const DYNAMIC_COPY = 0x88EA ;
pub const SAMPLES_PASSED = 0x8914 ;
pub const SRC1_ALPHA = 0x8589 ;
pub const SYNC_FENCE = 0x9116 ;
pub const SYNC_FLAGS = 0x9115 ;
pub const SYNC_STATUS = 0x9114 ;
pub const SYNC_CONDITION = 0x9113 ;
pub const OBJECT_TYPE = 0x9112 ;
pub const MAX_SERVER_WAIT_TIMEOUT = 0x9111 ;
pub const TEXTURE_CUBE_MAP_SEAMLESS = 0x884F ;
pub const PROVOKING_VERTEX = 0x8E4F ;
pub const LAST_VERTEX_CONVENTION = 0x8E4E ;
pub const FIRST_VERTEX_CONVENTION = 0x8E4D ;
pub const QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C ;
pub const DEPTH_CLAMP = 0x864F ;
pub const CONTEXT_PROFILE_MASK = 0x9126 ;
pub const MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125 ;
pub const MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124 ;
pub const MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123 ;
pub const MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122 ;
pub const BLEND_EQUATION_RGB = 0x8009 ;
pub const VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 ;
pub const VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 ;
pub const VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 ;
pub const VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 ;
pub const CURRENT_VERTEX_ATTRIB = 0x8626 ;
pub const VERTEX_PROGRAM_POINT_SIZE = 0x8642 ;
pub const VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 ;
pub const STENCIL_BACK_FUNC = 0x8800 ;
pub const STENCIL_BACK_FAIL = 0x8801 ;
pub const STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 ;
pub const STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 ;
pub const MAX_DRAW_BUFFERS = 0x8824 ;
pub const DRAW_BUFFER0 = 0x8825 ;
pub const DRAW_BUFFER1 = 0x8826 ;
pub const DRAW_BUFFER2 = 0x8827 ;
pub const DRAW_BUFFER3 = 0x8828 ;
pub const DRAW_BUFFER4 = 0x8829 ;
pub const DRAW_BUFFER5 = 0x882A ;
pub const DRAW_BUFFER6 = 0x882B ;
pub const DRAW_BUFFER7 = 0x882C ;
pub const DRAW_BUFFER8 = 0x882D ;
pub const DRAW_BUFFER9 = 0x882E ;
pub const DRAW_BUFFER10 = 0x882F ;
pub const DRAW_BUFFER11 = 0x8830 ;
pub const DRAW_BUFFER12 = 0x8831 ;
pub const DRAW_BUFFER13 = 0x8832 ;
pub const DRAW_BUFFER14 = 0x8833 ;
pub const DRAW_BUFFER15 = 0x8834 ;
pub const BLEND_EQUATION_ALPHA = 0x883D ;
pub const MAX_VERTEX_ATTRIBS = 0x8869 ;
pub const VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A ;
pub const MAX_TEXTURE_IMAGE_UNITS = 0x8872 ;
pub const FRAGMENT_SHADER = 0x8B30 ;
pub const VERTEX_SHADER = 0x8B31 ;
pub const MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 ;
pub const MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A ;
pub const MAX_VARYING_FLOATS = 0x8B4B ;
pub const MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C ;
pub const MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D ;
pub const SHADER_TYPE = 0x8B4F ;
pub const FLOAT_VEC2 = 0x8B50 ;
pub const FLOAT_VEC3 = 0x8B51 ;
pub const FLOAT_VEC4 = 0x8B52 ;
pub const INT_VEC2 = 0x8B53 ;
pub const INT_VEC3 = 0x8B54 ;
pub const INT_VEC4 = 0x8B55 ;
pub const BOOL = 0x8B56 ;
pub const BOOL_VEC2 = 0x8B57 ;
pub const BOOL_VEC3 = 0x8B58 ;
pub const BOOL_VEC4 = 0x8B59 ;
pub const FLOAT_MAT2 = 0x8B5A ;
pub const FLOAT_MAT3 = 0x8B5B ;
pub const FLOAT_MAT4 = 0x8B5C ;
pub const SAMPLER_1D = 0x8B5D ;
pub const SAMPLER_2D = 0x8B5E ;
pub const SAMPLER_3D = 0x8B5F ;
pub const SAMPLER_CUBE = 0x8B60 ;
pub const SAMPLER_1D_SHADOW = 0x8B61 ;
pub const SAMPLER_2D_SHADOW = 0x8B62 ;
pub const DELETE_STATUS = 0x8B80 ;
pub const COMPILE_STATUS = 0x8B81 ;
pub const LINK_STATUS = 0x8B82 ;
pub const VALIDATE_STATUS = 0x8B83 ;
pub const INFO_LOG_LENGTH = 0x8B84 ;
pub const ATTACHED_SHADERS = 0x8B85 ;
pub const ACTIVE_UNIFORMS = 0x8B86 ;
pub const ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 ;
pub const SHADER_SOURCE_LENGTH = 0x8B88 ;
pub const ACTIVE_ATTRIBUTES = 0x8B89 ;
pub const ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A ;
pub const FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B ;
pub const SHADING_LANGUAGE_VERSION = 0x8B8C ;
pub const CURRENT_PROGRAM = 0x8B8D ;
pub const POINT_SPRITE_COORD_ORIGIN = 0x8CA0 ;
pub const LOWER_LEFT = 0x8CA1 ;
pub const UPPER_LEFT = 0x8CA2 ;
pub const STENCIL_BACK_REF = 0x8CA3 ;
pub const STENCIL_BACK_VALUE_MASK = 0x8CA4 ;
pub const STENCIL_BACK_WRITEMASK = 0x8CA5 ;
pub const MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1 ;
pub const MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0 ;
pub const MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF ;
pub const GEOMETRY_OUTPUT_TYPE = 0x8918 ;
pub const PIXEL_PACK_BUFFER = 0x88EB ;
pub const PIXEL_UNPACK_BUFFER = 0x88EC ;
pub const PIXEL_PACK_BUFFER_BINDING = 0x88ED ;
pub const PIXEL_UNPACK_BUFFER_BINDING = 0x88EF ;
pub const FLOAT_MAT2x3 = 0x8B65 ;
pub const FLOAT_MAT2x4 = 0x8B66 ;
pub const FLOAT_MAT3x2 = 0x8B67 ;
pub const FLOAT_MAT3x4 = 0x8B68 ;
pub const FLOAT_MAT4x2 = 0x8B69 ;
pub const FLOAT_MAT4x3 = 0x8B6A ;
pub const SRGB = 0x8C40 ;
pub const SRGB8 = 0x8C41 ;
pub const SRGB_ALPHA = 0x8C42 ;
pub const SRGB8_ALPHA8 = 0x8C43 ;
pub const COMPRESSED_SRGB = 0x8C48 ;
pub const COMPRESSED_SRGB_ALPHA = 0x8C49 ;
pub const GEOMETRY_INPUT_TYPE = 0x8917 ;
pub const GEOMETRY_VERTICES_OUT = 0x8916 ;
pub const GEOMETRY_SHADER = 0x8DD9 ;
pub const FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8 ;
pub const FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7 ;
pub const MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29 ;
pub const PROGRAM_POINT_SIZE = 0x8642 ;
pub const COMPARE_REF_TO_TEXTURE = 0x884E ;
pub const CLIP_DISTANCE0 = 0x3000 ;
pub const CLIP_DISTANCE1 = 0x3001 ;
pub const CLIP_DISTANCE2 = 0x3002 ;
pub const CLIP_DISTANCE3 = 0x3003 ;
pub const CLIP_DISTANCE4 = 0x3004 ;
pub const CLIP_DISTANCE5 = 0x3005 ;
pub const CLIP_DISTANCE6 = 0x3006 ;
pub const CLIP_DISTANCE7 = 0x3007 ;
pub const MAX_CLIP_DISTANCES = 0x0D32 ;
pub const MAJOR_VERSION = 0x821B ;
pub const MINOR_VERSION = 0x821C ;
pub const NUM_EXTENSIONS = 0x821D ;
pub const CONTEXT_FLAGS = 0x821E ;
pub const COMPRESSED_RED = 0x8225 ;
pub const COMPRESSED_RG = 0x8226 ;
pub const CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001 ;
pub const RGBA32F = 0x8814 ;
pub const RGB32F = 0x8815 ;
pub const RGBA16F = 0x881A ;
pub const RGB16F = 0x881B ;
pub const VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD ;
pub const MAX_ARRAY_TEXTURE_LAYERS = 0x88FF ;
pub const MIN_PROGRAM_TEXEL_OFFSET = 0x8904 ;
pub const MAX_PROGRAM_TEXEL_OFFSET = 0x8905 ;
pub const CLAMP_READ_COLOR = 0x891C ;
pub const FIXED_ONLY = 0x891D ;
pub const MAX_VARYING_COMPONENTS = 0x8B4B ;
pub const TEXTURE_1D_ARRAY = 0x8C18 ;
pub const PROXY_TEXTURE_1D_ARRAY = 0x8C19 ;
pub const TEXTURE_2D_ARRAY = 0x8C1A ;
pub const PROXY_TEXTURE_2D_ARRAY = 0x8C1B ;
pub const TEXTURE_BINDING_1D_ARRAY = 0x8C1C ;
pub const TEXTURE_BINDING_2D_ARRAY = 0x8C1D ;
pub const R11F_G11F_B10F = 0x8C3A ;
pub const UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B ;
pub const RGB9_E5 = 0x8C3D ;
pub const UNSIGNED_INT_5_9_9_9_REV = 0x8C3E ;
pub const TEXTURE_SHARED_SIZE = 0x8C3F ;
pub const TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 ;
pub const TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F ;
pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 ;
pub const TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 ;
pub const TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 ;
pub const TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 ;
pub const PRIMITIVES_GENERATED = 0x8C87 ;
pub const TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 ;
pub const RASTERIZER_DISCARD = 0x8C89 ;
pub const MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A ;
pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B ;
pub const INTERLEAVED_ATTRIBS = 0x8C8C ;
pub const SEPARATE_ATTRIBS = 0x8C8D ;
pub const TRANSFORM_FEEDBACK_BUFFER = 0x8C8E ;
pub const TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F ;
pub const RGBA32UI = 0x8D70 ;
pub const RGB32UI = 0x8D71 ;
pub const RGBA16UI = 0x8D76 ;
pub const RGB16UI = 0x8D77 ;
pub const RGBA8UI = 0x8D7C ;
pub const RGB8UI = 0x8D7D ;
pub const RGBA32I = 0x8D82 ;
pub const RGB32I = 0x8D83 ;
pub const RGBA16I = 0x8D88 ;
pub const RGB16I = 0x8D89 ;
pub const RGBA8I = 0x8D8E ;
pub const RGB8I = 0x8D8F ;
pub const RED_INTEGER = 0x8D94 ;
pub const GREEN_INTEGER = 0x8D95 ;
pub const BLUE_INTEGER = 0x8D96 ;
pub const RGB_INTEGER = 0x8D98 ;
pub const RGBA_INTEGER = 0x8D99 ;
pub const BGR_INTEGER = 0x8D9A ;
pub const BGRA_INTEGER = 0x8D9B ;
pub const SAMPLER_1D_ARRAY = 0x8DC0 ;
pub const SAMPLER_2D_ARRAY = 0x8DC1 ;
pub const SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 ;
pub const SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 ;
pub const SAMPLER_CUBE_SHADOW = 0x8DC5 ;
pub const UNSIGNED_INT_VEC2 = 0x8DC6 ;
pub const UNSIGNED_INT_VEC3 = 0x8DC7 ;
pub const UNSIGNED_INT_VEC4 = 0x8DC8 ;
pub const INT_SAMPLER_1D = 0x8DC9 ;
pub const INT_SAMPLER_2D = 0x8DCA ;
pub const INT_SAMPLER_3D = 0x8DCB ;
pub const INT_SAMPLER_CUBE = 0x8DCC ;
pub const INT_SAMPLER_1D_ARRAY = 0x8DCE ;
pub const INT_SAMPLER_2D_ARRAY = 0x8DCF ;
pub const UNSIGNED_INT_SAMPLER_1D = 0x8DD1 ;
pub const UNSIGNED_INT_SAMPLER_2D = 0x8DD2 ;
pub const UNSIGNED_INT_SAMPLER_3D = 0x8DD3 ;
pub const UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 ;
pub const UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 ;
pub const UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 ;
pub const QUERY_WAIT = 0x8E13 ;
pub const QUERY_NO_WAIT = 0x8E14 ;
pub const QUERY_BY_REGION_WAIT = 0x8E15 ;
pub const QUERY_BY_REGION_NO_WAIT = 0x8E16 ;
pub const BUFFER_ACCESS_FLAGS = 0x911F ;
pub const BUFFER_MAP_LENGTH = 0x9120 ;
pub const BUFFER_MAP_OFFSET = 0x9121 ;
pub const DEPTH_COMPONENT32F = 0x8CAC ;
pub const DEPTH32F_STENCIL8 = 0x8CAD ;
pub const FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD ;
pub const INVALID_FRAMEBUFFER_OPERATION = 0x0506 ;
pub const FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 ;
pub const FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 ;
pub const FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 ;
pub const FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 ;
pub const FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 ;
pub const FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 ;
pub const FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 ;
pub const FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 ;
pub const FRAMEBUFFER_DEFAULT = 0x8218 ;
pub const FRAMEBUFFER_UNDEFINED = 0x8219 ;
pub const DEPTH_STENCIL_ATTACHMENT = 0x821A ;
pub const MAX_RENDERBUFFER_SIZE = 0x84E8 ;
pub const DEPTH_STENCIL = 0x84F9 ;
pub const UNSIGNED_INT_24_8 = 0x84FA ;
pub const DEPTH24_STENCIL8 = 0x88F0 ;
pub const TEXTURE_STENCIL_SIZE = 0x88F1 ;
pub const TEXTURE_RED_TYPE = 0x8C10 ;
pub const TEXTURE_GREEN_TYPE = 0x8C11 ;
pub const TEXTURE_BLUE_TYPE = 0x8C12 ;
pub const TEXTURE_ALPHA_TYPE = 0x8C13 ;
pub const TEXTURE_DEPTH_TYPE = 0x8C16 ;
pub const UNSIGNED_NORMALIZED = 0x8C17 ;
pub const FRAMEBUFFER_BINDING = 0x8CA6 ;
pub const DRAW_FRAMEBUFFER_BINDING = 0x8CA6 ;
pub const RENDERBUFFER_BINDING = 0x8CA7 ;
pub const READ_FRAMEBUFFER = 0x8CA8 ;
pub const DRAW_FRAMEBUFFER = 0x8CA9 ;
pub const READ_FRAMEBUFFER_BINDING = 0x8CAA ;
pub const RENDERBUFFER_SAMPLES = 0x8CAB ;
pub const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0 ;
pub const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1 ;
pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2 ;
pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3 ;
pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 ;
pub const FRAMEBUFFER_COMPLETE = 0x8CD5 ;
pub const FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6 ;
pub const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7 ;
pub const FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB ;
pub const FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC ;
pub const FRAMEBUFFER_UNSUPPORTED = 0x8CDD ;
pub const MAX_COLOR_ATTACHMENTS = 0x8CDF ;
pub const COLOR_ATTACHMENT0 = 0x8CE0 ;
pub const COLOR_ATTACHMENT1 = 0x8CE1 ;
pub const COLOR_ATTACHMENT2 = 0x8CE2 ;
pub const COLOR_ATTACHMENT3 = 0x8CE3 ;
pub const COLOR_ATTACHMENT4 = 0x8CE4 ;
pub const COLOR_ATTACHMENT5 = 0x8CE5 ;
pub const COLOR_ATTACHMENT6 = 0x8CE6 ;
pub const COLOR_ATTACHMENT7 = 0x8CE7 ;
pub const COLOR_ATTACHMENT8 = 0x8CE8 ;
pub const COLOR_ATTACHMENT9 = 0x8CE9 ;
pub const COLOR_ATTACHMENT10 = 0x8CEA ;
pub const COLOR_ATTACHMENT11 = 0x8CEB ;
pub const COLOR_ATTACHMENT12 = 0x8CEC ;
pub const COLOR_ATTACHMENT13 = 0x8CED ;
pub const COLOR_ATTACHMENT14 = 0x8CEE ;
pub const COLOR_ATTACHMENT15 = 0x8CEF ;
pub const COLOR_ATTACHMENT16 = 0x8CF0 ;
pub const COLOR_ATTACHMENT17 = 0x8CF1 ;
pub const COLOR_ATTACHMENT18 = 0x8CF2 ;
pub const COLOR_ATTACHMENT19 = 0x8CF3 ;
pub const COLOR_ATTACHMENT20 = 0x8CF4 ;
pub const COLOR_ATTACHMENT21 = 0x8CF5 ;
pub const COLOR_ATTACHMENT22 = 0x8CF6 ;
pub const COLOR_ATTACHMENT23 = 0x8CF7 ;
pub const COLOR_ATTACHMENT24 = 0x8CF8 ;
pub const COLOR_ATTACHMENT25 = 0x8CF9 ;
pub const COLOR_ATTACHMENT26 = 0x8CFA ;
pub const COLOR_ATTACHMENT27 = 0x8CFB ;
pub const COLOR_ATTACHMENT28 = 0x8CFC ;
pub const COLOR_ATTACHMENT29 = 0x8CFD ;
pub const COLOR_ATTACHMENT30 = 0x8CFE ;
pub const COLOR_ATTACHMENT31 = 0x8CFF ;
pub const DEPTH_ATTACHMENT = 0x8D00 ;
pub const STENCIL_ATTACHMENT = 0x8D20 ;
pub const FRAMEBUFFER = 0x8D40 ;
pub const RENDERBUFFER = 0x8D41 ;
pub const RENDERBUFFER_WIDTH = 0x8D42 ;
pub const RENDERBUFFER_HEIGHT = 0x8D43 ;
pub const RENDERBUFFER_INTERNAL_FORMAT = 0x8D44 ;
pub const STENCIL_INDEX1 = 0x8D46 ;
pub const STENCIL_INDEX4 = 0x8D47 ;
pub const STENCIL_INDEX8 = 0x8D48 ;
pub const STENCIL_INDEX16 = 0x8D49 ;
pub const RENDERBUFFER_RED_SIZE = 0x8D50 ;
pub const RENDERBUFFER_GREEN_SIZE = 0x8D51 ;
pub const RENDERBUFFER_BLUE_SIZE = 0x8D52 ;
pub const RENDERBUFFER_ALPHA_SIZE = 0x8D53 ;
pub const RENDERBUFFER_DEPTH_SIZE = 0x8D54 ;
pub const RENDERBUFFER_STENCIL_SIZE = 0x8D55 ;
pub const FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56 ;
pub const MAX_SAMPLES = 0x8D57 ;
pub const LINES_ADJACENCY = 0x000A ;
pub const CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002 ;
pub const CONTEXT_CORE_PROFILE_BIT = 0x00000001 ;
pub const FRAMEBUFFER_SRGB = 0x8DB9 ;
pub const HALF_FLOAT = 0x140B ;
pub const MAP_READ_BIT = 0x0001 ;
pub const MAP_WRITE_BIT = 0x0002 ;
pub const MAP_INVALIDATE_RANGE_BIT = 0x0004 ;
pub const MAP_INVALIDATE_BUFFER_BIT = 0x0008 ;
pub const MAP_FLUSH_EXPLICIT_BIT = 0x0010 ;
pub const MAP_UNSYNCHRONIZED_BIT = 0x0020 ;
pub const COMPRESSED_RED_RGTC1 = 0x8DBB ;
pub const COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC ;
pub const COMPRESSED_RG_RGTC2 = 0x8DBD ;
pub const COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE ;
pub const RG = 0x8227 ;
pub const RG_INTEGER = 0x8228 ;
pub const R8 = 0x8229 ;
pub const R16 = 0x822A ;
pub const RG8 = 0x822B ;
pub const RG16 = 0x822C ;
pub const R16F = 0x822D ;
pub const R32F = 0x822E ;
pub const RG16F = 0x822F ;
pub const RG32F = 0x8230 ;
pub const R8I = 0x8231 ;
pub const R8UI = 0x8232 ;
pub const R16I = 0x8233 ;
pub const R16UI = 0x8234 ;
pub const R32I = 0x8235 ;
pub const R32UI = 0x8236 ;
pub const RG8I = 0x8237 ;
pub const RG8UI = 0x8238 ;
pub const RG16I = 0x8239 ;
pub const RG16UI = 0x823A ;
pub const RG32I = 0x823B ;
pub const RG32UI = 0x823C ;
pub const VERTEX_ARRAY_BINDING = 0x85B5 ;
pub const TRIANGLE_STRIP_ADJACENCY = 0x000D ;
pub const TRIANGLES_ADJACENCY = 0x000C ;
pub const LINE_STRIP_ADJACENCY = 0x000B ;
pub const SAMPLER_2D_RECT = 0x8B63 ;
pub const SAMPLER_2D_RECT_SHADOW = 0x8B64 ;
pub const SAMPLER_BUFFER = 0x8DC2 ;
pub const INT_SAMPLER_2D_RECT = 0x8DCD ;
pub const INT_SAMPLER_BUFFER = 0x8DD0 ;
pub const UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 ;
pub const UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 ;
pub const TEXTURE_BUFFER = 0x8C2A ;
pub const MAX_TEXTURE_BUFFER_SIZE = 0x8C2B ;
pub const TEXTURE_BINDING_BUFFER = 0x8C2C ;
pub const TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D ;
pub const TEXTURE_RECTANGLE = 0x84F5 ;
pub const TEXTURE_BINDING_RECTANGLE = 0x84F6 ;
pub const PROXY_TEXTURE_RECTANGLE = 0x84F7 ;
pub const MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8 ;
pub const R8_SNORM = 0x8F94 ;
pub const RG8_SNORM = 0x8F95 ;
pub const RGB8_SNORM = 0x8F96 ;
pub const RGBA8_SNORM = 0x8F97 ;
pub const R16_SNORM = 0x8F98 ;
pub const RG16_SNORM = 0x8F99 ;
pub const RGB16_SNORM = 0x8F9A ;
pub const RGBA16_SNORM = 0x8F9B ;
pub const SIGNED_NORMALIZED = 0x8F9C ;
pub const PRIMITIVE_RESTART = 0x8F9D ;
pub const PRIMITIVE_RESTART_INDEX = 0x8F9E ;
pub const COPY_READ_BUFFER = 0x8F36 ;
pub const COPY_WRITE_BUFFER = 0x8F37 ;
pub const UNIFORM_BUFFER = 0x8A11 ;
pub const UNIFORM_BUFFER_BINDING = 0x8A28 ;
pub const UNIFORM_BUFFER_START = 0x8A29 ;
pub const UNIFORM_BUFFER_SIZE = 0x8A2A ;
pub const MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B ;
pub const MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C ;
pub const MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D ;
pub const MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E ;
pub const MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F ;
pub const MAX_UNIFORM_BLOCK_SIZE = 0x8A30 ;
pub const MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31 ;
pub const MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32 ;
pub const MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33 ;
pub const UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34 ;
pub const ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35 ;
pub const ACTIVE_UNIFORM_BLOCKS = 0x8A36 ;
pub const UNIFORM_TYPE = 0x8A37 ;
pub const UNIFORM_SIZE = 0x8A38 ;
pub const UNIFORM_NAME_LENGTH = 0x8A39 ;
pub const UNIFORM_BLOCK_INDEX = 0x8A3A ;
pub const UNIFORM_OFFSET = 0x8A3B ;
pub const UNIFORM_ARRAY_STRIDE = 0x8A3C ;
pub const UNIFORM_MATRIX_STRIDE = 0x8A3D ;
pub const UNIFORM_IS_ROW_MAJOR = 0x8A3E ;
pub const UNIFORM_BLOCK_BINDING = 0x8A3F ;
pub const UNIFORM_BLOCK_DATA_SIZE = 0x8A40 ;
pub const UNIFORM_BLOCK_NAME_LENGTH = 0x8A41 ;
pub const UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42 ;
pub const UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43 ;
pub const UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44 ;
pub const UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45 ;
pub const UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46 ;
pub const INVALID_INDEX = 0xFFFFFFFF ;
pub fn cullFace ( _mode : GLenum ) void {
return ( function_pointers . glCullFace orelse @panic ( " glCullFace was not bound. " ) ) ( _mode ) ;
}
pub fn frontFace ( _mode : GLenum ) void {
return ( function_pointers . glFrontFace orelse @panic ( " glFrontFace was not bound. " ) ) ( _mode ) ;
}
pub fn hint ( _target : GLenum , _mode : GLenum ) void {
return ( function_pointers . glHint orelse @panic ( " glHint was not bound. " ) ) ( _target , _mode ) ;
}
pub fn lineWidth ( _width : GLfloat ) void {
return ( function_pointers . glLineWidth orelse @panic ( " glLineWidth was not bound. " ) ) ( _width ) ;
}
pub fn pointSize ( _size : GLfloat ) void {
return ( function_pointers . glPointSize orelse @panic ( " glPointSize was not bound. " ) ) ( _size ) ;
}
pub fn polygonMode ( _face : GLenum , _mode : GLenum ) void {
return ( function_pointers . glPolygonMode orelse @panic ( " glPolygonMode was not bound. " ) ) ( _face , _mode ) ;
}
pub fn scissor ( _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void {
return ( function_pointers . glScissor orelse @panic ( " glScissor was not bound. " ) ) ( _x , _y , _width , _height ) ;
}
pub fn texParameterf ( _target : GLenum , _pname : GLenum , _param : GLfloat ) void {
return ( function_pointers . glTexParameterf orelse @panic ( " glTexParameterf was not bound. " ) ) ( _target , _pname , _param ) ;
}
pub fn texParameterfv ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLfloat ) void {
return ( function_pointers . glTexParameterfv orelse @panic ( " glTexParameterfv was not bound. " ) ) ( _target , _pname , _params ) ;
}
pub fn texParameteri ( _target : GLenum , _pname : GLenum , _param : GLint ) void {
return ( function_pointers . glTexParameteri orelse @panic ( " glTexParameteri was not bound. " ) ) ( _target , _pname , _param ) ;
}
pub fn texParameteriv ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLint ) void {
return ( function_pointers . glTexParameteriv orelse @panic ( " glTexParameteriv was not bound. " ) ) ( _target , _pname , _params ) ;
}
pub fn texImage1D ( _target : GLenum , _level : GLint , _internalformat : GLint , _width : GLsizei , _border : GLint , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void {
return ( function_pointers . glTexImage1D orelse @panic ( " glTexImage1D was not bound. " ) ) ( _target , _level , _internalformat , _width , _border , _format , _type , _pixels ) ;
}
pub fn texImage2D ( _target : GLenum , _level : GLint , _internalformat : GLint , _width : GLsizei , _height : GLsizei , _border : GLint , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void {
return ( function_pointers . glTexImage2D orelse @panic ( " glTexImage2D was not bound. " ) ) ( _target , _level , _internalformat , _width , _height , _border , _format , _type , _pixels ) ;
}
pub fn drawBuffer ( _buf : GLenum ) void {
return ( function_pointers . glDrawBuffer orelse @panic ( " glDrawBuffer was not bound. " ) ) ( _buf ) ;
}
pub fn clear ( _mask : GLbitfield ) void {
return ( function_pointers . glClear orelse @panic ( " glClear was not bound. " ) ) ( _mask ) ;
}
pub fn clearColor ( _red : GLfloat , _green : GLfloat , _blue : GLfloat , _alpha : GLfloat ) void {
return ( function_pointers . glClearColor orelse @panic ( " glClearColor was not bound. " ) ) ( _red , _green , _blue , _alpha ) ;
}
pub fn clearStencil ( _s : GLint ) void {
return ( function_pointers . glClearStencil orelse @panic ( " glClearStencil was not bound. " ) ) ( _s ) ;
}
pub fn clearDepth ( _depth : GLdouble ) void {
return ( function_pointers . glClearDepth orelse @panic ( " glClearDepth was not bound. " ) ) ( _depth ) ;
}
pub fn stencilMask ( _mask : GLuint ) void {
return ( function_pointers . glStencilMask orelse @panic ( " glStencilMask was not bound. " ) ) ( _mask ) ;
}
pub fn colorMask ( _red : GLboolean , _green : GLboolean , _blue : GLboolean , _alpha : GLboolean ) void {
return ( function_pointers . glColorMask orelse @panic ( " glColorMask was not bound. " ) ) ( _red , _green , _blue , _alpha ) ;
}
pub fn depthMask ( _flag : GLboolean ) void {
return ( function_pointers . glDepthMask orelse @panic ( " glDepthMask was not bound. " ) ) ( _flag ) ;
}
pub fn disable ( _cap : GLenum ) void {
return ( function_pointers . glDisable orelse @panic ( " glDisable was not bound. " ) ) ( _cap ) ;
}
pub fn enable ( _cap : GLenum ) void {
return ( function_pointers . glEnable orelse @panic ( " glEnable was not bound. " ) ) ( _cap ) ;
}
pub fn finish ( ) void {
return ( function_pointers . glFinish orelse @panic ( " glFinish was not bound. " ) ) ( ) ;
}
pub fn flush ( ) void {
return ( function_pointers . glFlush orelse @panic ( " glFlush was not bound. " ) ) ( ) ;
}
pub fn blendFunc ( _sfactor : GLenum , _dfactor : GLenum ) void {
return ( function_pointers . glBlendFunc orelse @panic ( " glBlendFunc was not bound. " ) ) ( _sfactor , _dfactor ) ;
}
pub fn logicOp ( _opcode : GLenum ) void {
return ( function_pointers . glLogicOp orelse @panic ( " glLogicOp was not bound. " ) ) ( _opcode ) ;
}
pub fn stencilFunc ( _func : GLenum , _ref : GLint , _mask : GLuint ) void {
return ( function_pointers . glStencilFunc orelse @panic ( " glStencilFunc was not bound. " ) ) ( _func , _ref , _mask ) ;
}
pub fn stencilOp ( _fail : GLenum , _zfail : GLenum , _zpass : GLenum ) void {
return ( function_pointers . glStencilOp orelse @panic ( " glStencilOp was not bound. " ) ) ( _fail , _zfail , _zpass ) ;
}
pub fn depthFunc ( _func : GLenum ) void {
return ( function_pointers . glDepthFunc orelse @panic ( " glDepthFunc was not bound. " ) ) ( _func ) ;
}
pub fn pixelStoref ( _pname : GLenum , _param : GLfloat ) void {
return ( function_pointers . glPixelStoref orelse @panic ( " glPixelStoref was not bound. " ) ) ( _pname , _param ) ;
}
pub fn pixelStorei ( _pname : GLenum , _param : GLint ) void {
return ( function_pointers . glPixelStorei orelse @panic ( " glPixelStorei was not bound. " ) ) ( _pname , _param ) ;
}
pub fn readBuffer ( _src : GLenum ) void {
return ( function_pointers . glReadBuffer orelse @panic ( " glReadBuffer was not bound. " ) ) ( _src ) ;
}
pub fn readPixels ( _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei , _format : GLenum , _type : GLenum , _pixels : ? * anyopaque ) void {
return ( function_pointers . glReadPixels orelse @panic ( " glReadPixels was not bound. " ) ) ( _x , _y , _width , _height , _format , _type , _pixels ) ;
}
pub fn getBooleanv ( _pname : GLenum , _data : [ * c ] GLboolean ) void {
return ( function_pointers . glGetBooleanv orelse @panic ( " glGetBooleanv was not bound. " ) ) ( _pname , _data ) ;
}
pub fn getDoublev ( _pname : GLenum , _data : [ * c ] GLdouble ) void {
return ( function_pointers . glGetDoublev orelse @panic ( " glGetDoublev was not bound. " ) ) ( _pname , _data ) ;
}
pub fn getError ( ) GLenum {
return ( function_pointers . glGetError orelse @panic ( " glGetError was not bound. " ) ) ( ) ;
}
pub fn getFloatv ( _pname : GLenum , _data : [ * c ] GLfloat ) void {
return ( function_pointers . glGetFloatv orelse @panic ( " glGetFloatv was not bound. " ) ) ( _pname , _data ) ;
}
pub fn getIntegerv ( _pname : GLenum , _data : [ * c ] GLint ) void {
return ( function_pointers . glGetIntegerv orelse @panic ( " glGetIntegerv was not bound. " ) ) ( _pname , _data ) ;
}
pub fn getString ( _name : GLenum ) ? [ * : 0 ] const GLubyte {
return ( function_pointers . glGetString orelse @panic ( " glGetString was not bound. " ) ) ( _name ) ;
}
pub fn getTexImage ( _target : GLenum , _level : GLint , _format : GLenum , _type : GLenum , _pixels : ? * anyopaque ) void {
return ( function_pointers . glGetTexImage orelse @panic ( " glGetTexImage was not bound. " ) ) ( _target , _level , _format , _type , _pixels ) ;
}
pub fn getTexParameterfv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLfloat ) void {
return ( function_pointers . glGetTexParameterfv orelse @panic ( " glGetTexParameterfv was not bound. " ) ) ( _target , _pname , _params ) ;
}
pub fn getTexParameteriv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetTexParameteriv orelse @panic ( " glGetTexParameteriv was not bound. " ) ) ( _target , _pname , _params ) ;
}
pub fn getTexLevelParameterfv ( _target : GLenum , _level : GLint , _pname : GLenum , _params : [ * c ] GLfloat ) void {
return ( function_pointers . glGetTexLevelParameterfv orelse @panic ( " glGetTexLevelParameterfv was not bound. " ) ) ( _target , _level , _pname , _params ) ;
}
pub fn getTexLevelParameteriv ( _target : GLenum , _level : GLint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetTexLevelParameteriv orelse @panic ( " glGetTexLevelParameteriv was not bound. " ) ) ( _target , _level , _pname , _params ) ;
}
pub fn isEnabled ( _cap : GLenum ) GLboolean {
return ( function_pointers . glIsEnabled orelse @panic ( " glIsEnabled was not bound. " ) ) ( _cap ) ;
}
pub fn depthRange ( _n : GLdouble , _f : GLdouble ) void {
return ( function_pointers . glDepthRange orelse @panic ( " glDepthRange was not bound. " ) ) ( _n , _f ) ;
}
pub fn viewport ( _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void {
return ( function_pointers . glViewport orelse @panic ( " glViewport was not bound. " ) ) ( _x , _y , _width , _height ) ;
}
2022-09-23 09:00:46 +00:00
pub fn drawArrays ( _mode : GLenum , _first : GLint , _count : GLsizei ) void {
return ( function_pointers . glDrawArrays orelse @panic ( " glDrawArrays was not bound. " ) ) ( _mode , _first , _count ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawElements ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque ) void {
return ( function_pointers . glDrawElements orelse @panic ( " glDrawElements was not bound. " ) ) ( _mode , _count , _type , _indices ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn polygonOffset ( _factor : GLfloat , _units : GLfloat ) void {
return ( function_pointers . glPolygonOffset orelse @panic ( " glPolygonOffset was not bound. " ) ) ( _factor , _units ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn copyTexImage1D ( _target : GLenum , _level : GLint , _internalformat : GLenum , _x : GLint , _y : GLint , _width : GLsizei , _border : GLint ) void {
return ( function_pointers . glCopyTexImage1D orelse @panic ( " glCopyTexImage1D was not bound. " ) ) ( _target , _level , _internalformat , _x , _y , _width , _border ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn copyTexImage2D ( _target : GLenum , _level : GLint , _internalformat : GLenum , _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei , _border : GLint ) void {
return ( function_pointers . glCopyTexImage2D orelse @panic ( " glCopyTexImage2D was not bound. " ) ) ( _target , _level , _internalformat , _x , _y , _width , _height , _border ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn copyTexSubImage1D ( _target : GLenum , _level : GLint , _xoffset : GLint , _x : GLint , _y : GLint , _width : GLsizei ) void {
return ( function_pointers . glCopyTexSubImage1D orelse @panic ( " glCopyTexSubImage1D was not bound. " ) ) ( _target , _level , _xoffset , _x , _y , _width ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn copyTexSubImage2D ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void {
return ( function_pointers . glCopyTexSubImage2D orelse @panic ( " glCopyTexSubImage2D was not bound. " ) ) ( _target , _level , _xoffset , _yoffset , _x , _y , _width , _height ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texSubImage1D ( _target : GLenum , _level : GLint , _xoffset : GLint , _width : GLsizei , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void {
return ( function_pointers . glTexSubImage1D orelse @panic ( " glTexSubImage1D was not bound. " ) ) ( _target , _level , _xoffset , _width , _format , _type , _pixels ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texSubImage2D ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _width : GLsizei , _height : GLsizei , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void {
return ( function_pointers . glTexSubImage2D orelse @panic ( " glTexSubImage2D was not bound. " ) ) ( _target , _level , _xoffset , _yoffset , _width , _height , _format , _type , _pixels ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindTexture ( _target : GLenum , _texture : GLuint ) void {
return ( function_pointers . glBindTexture orelse @panic ( " glBindTexture was not bound. " ) ) ( _target , _texture ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteTextures ( _n : GLsizei , _textures : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteTextures orelse @panic ( " glDeleteTextures was not bound. " ) ) ( _n , _textures ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genTextures ( _n : GLsizei , _textures : [ * c ] GLuint ) void {
return ( function_pointers . glGenTextures orelse @panic ( " glGenTextures was not bound. " ) ) ( _n , _textures ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isTexture ( _texture : GLuint ) GLboolean {
return ( function_pointers . glIsTexture orelse @panic ( " glIsTexture was not bound. " ) ) ( _texture ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawRangeElements ( _mode : GLenum , _start : GLuint , _end : GLuint , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque ) void {
return ( function_pointers . glDrawRangeElements orelse @panic ( " glDrawRangeElements was not bound. " ) ) ( _mode , _start , _end , _count , _type , _indices ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texImage3D ( _target : GLenum , _level : GLint , _internalformat : GLint , _width : GLsizei , _height : GLsizei , _depth : GLsizei , _border : GLint , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void {
return ( function_pointers . glTexImage3D orelse @panic ( " glTexImage3D was not bound. " ) ) ( _target , _level , _internalformat , _width , _height , _depth , _border , _format , _type , _pixels ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub 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 ) void {
return ( function_pointers . glTexSubImage3D orelse @panic ( " glTexSubImage3D was not bound. " ) ) ( _target , _level , _xoffset , _yoffset , _zoffset , _width , _height , _depth , _format , _type , _pixels ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn copyTexSubImage3D ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _zoffset : GLint , _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void {
return ( function_pointers . glCopyTexSubImage3D orelse @panic ( " glCopyTexSubImage3D was not bound. " ) ) ( _target , _level , _xoffset , _yoffset , _zoffset , _x , _y , _width , _height ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn activeTexture ( _texture : GLenum ) void {
return ( function_pointers . glActiveTexture orelse @panic ( " glActiveTexture was not bound. " ) ) ( _texture ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn sampleCoverage ( _value : GLfloat , _invert : GLboolean ) void {
return ( function_pointers . glSampleCoverage orelse @panic ( " glSampleCoverage was not bound. " ) ) ( _value , _invert ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn compressedTexImage3D ( _target : GLenum , _level : GLint , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _depth : GLsizei , _border : GLint , _imageSize : GLsizei , _data : ? * const anyopaque ) void {
return ( function_pointers . glCompressedTexImage3D orelse @panic ( " glCompressedTexImage3D was not bound. " ) ) ( _target , _level , _internalformat , _width , _height , _depth , _border , _imageSize , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn compressedTexImage2D ( _target : GLenum , _level : GLint , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _border : GLint , _imageSize : GLsizei , _data : ? * const anyopaque ) void {
return ( function_pointers . glCompressedTexImage2D orelse @panic ( " glCompressedTexImage2D was not bound. " ) ) ( _target , _level , _internalformat , _width , _height , _border , _imageSize , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn compressedTexImage1D ( _target : GLenum , _level : GLint , _internalformat : GLenum , _width : GLsizei , _border : GLint , _imageSize : GLsizei , _data : ? * const anyopaque ) void {
return ( function_pointers . glCompressedTexImage1D orelse @panic ( " glCompressedTexImage1D was not bound. " ) ) ( _target , _level , _internalformat , _width , _border , _imageSize , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub 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 ) void {
return ( function_pointers . glCompressedTexSubImage3D orelse @panic ( " glCompressedTexSubImage3D was not bound. " ) ) ( _target , _level , _xoffset , _yoffset , _zoffset , _width , _height , _depth , _format , _imageSize , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn compressedTexSubImage2D ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _width : GLsizei , _height : GLsizei , _format : GLenum , _imageSize : GLsizei , _data : ? * const anyopaque ) void {
return ( function_pointers . glCompressedTexSubImage2D orelse @panic ( " glCompressedTexSubImage2D was not bound. " ) ) ( _target , _level , _xoffset , _yoffset , _width , _height , _format , _imageSize , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn compressedTexSubImage1D ( _target : GLenum , _level : GLint , _xoffset : GLint , _width : GLsizei , _format : GLenum , _imageSize : GLsizei , _data : ? * const anyopaque ) void {
return ( function_pointers . glCompressedTexSubImage1D orelse @panic ( " glCompressedTexSubImage1D was not bound. " ) ) ( _target , _level , _xoffset , _width , _format , _imageSize , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getCompressedTexImage ( _target : GLenum , _level : GLint , _img : ? * anyopaque ) void {
return ( function_pointers . glGetCompressedTexImage orelse @panic ( " glGetCompressedTexImage was not bound. " ) ) ( _target , _level , _img ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP4uiv ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribP4uiv orelse @panic ( " glVertexAttribP4uiv was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP4ui ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void {
return ( function_pointers . glVertexAttribP4ui orelse @panic ( " glVertexAttribP4ui was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP3uiv ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribP3uiv orelse @panic ( " glVertexAttribP3uiv was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP3ui ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void {
return ( function_pointers . glVertexAttribP3ui orelse @panic ( " glVertexAttribP3ui was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP2uiv ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribP2uiv orelse @panic ( " glVertexAttribP2uiv was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP2ui ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void {
return ( function_pointers . glVertexAttribP2ui orelse @panic ( " glVertexAttribP2ui was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP1uiv ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribP1uiv orelse @panic ( " glVertexAttribP1uiv was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribP1ui ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void {
return ( function_pointers . glVertexAttribP1ui orelse @panic ( " glVertexAttribP1ui was not bound. " ) ) ( _index , _type , _normalized , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribDivisor ( _index : GLuint , _divisor : GLuint ) void {
return ( function_pointers . glVertexAttribDivisor orelse @panic ( " glVertexAttribDivisor was not bound. " ) ) ( _index , _divisor ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getQueryObjectui64v ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLuint64 ) void {
return ( function_pointers . glGetQueryObjectui64v orelse @panic ( " glGetQueryObjectui64v was not bound. " ) ) ( _id , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getQueryObjecti64v ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLint64 ) void {
return ( function_pointers . glGetQueryObjecti64v orelse @panic ( " glGetQueryObjecti64v was not bound. " ) ) ( _id , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn queryCounter ( _id : GLuint , _target : GLenum ) void {
return ( function_pointers . glQueryCounter orelse @panic ( " glQueryCounter was not bound. " ) ) ( _id , _target ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getSamplerParameterIuiv ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLuint ) void {
return ( function_pointers . glGetSamplerParameterIuiv orelse @panic ( " glGetSamplerParameterIuiv was not bound. " ) ) ( _sampler , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getSamplerParameterfv ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLfloat ) void {
return ( function_pointers . glGetSamplerParameterfv orelse @panic ( " glGetSamplerParameterfv was not bound. " ) ) ( _sampler , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getSamplerParameterIiv ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetSamplerParameterIiv orelse @panic ( " glGetSamplerParameterIiv was not bound. " ) ) ( _sampler , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getSamplerParameteriv ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetSamplerParameteriv orelse @panic ( " glGetSamplerParameteriv was not bound. " ) ) ( _sampler , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn samplerParameterIuiv ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLuint ) void {
return ( function_pointers . glSamplerParameterIuiv orelse @panic ( " glSamplerParameterIuiv was not bound. " ) ) ( _sampler , _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn samplerParameterIiv ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLint ) void {
return ( function_pointers . glSamplerParameterIiv orelse @panic ( " glSamplerParameterIiv was not bound. " ) ) ( _sampler , _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn samplerParameterfv ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLfloat ) void {
return ( function_pointers . glSamplerParameterfv orelse @panic ( " glSamplerParameterfv was not bound. " ) ) ( _sampler , _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn samplerParameterf ( _sampler : GLuint , _pname : GLenum , _param : GLfloat ) void {
return ( function_pointers . glSamplerParameterf orelse @panic ( " glSamplerParameterf was not bound. " ) ) ( _sampler , _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn samplerParameteriv ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLint ) void {
return ( function_pointers . glSamplerParameteriv orelse @panic ( " glSamplerParameteriv was not bound. " ) ) ( _sampler , _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn samplerParameteri ( _sampler : GLuint , _pname : GLenum , _param : GLint ) void {
return ( function_pointers . glSamplerParameteri orelse @panic ( " glSamplerParameteri was not bound. " ) ) ( _sampler , _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindSampler ( _unit : GLuint , _sampler : GLuint ) void {
return ( function_pointers . glBindSampler orelse @panic ( " glBindSampler was not bound. " ) ) ( _unit , _sampler ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isSampler ( _sampler : GLuint ) GLboolean {
return ( function_pointers . glIsSampler orelse @panic ( " glIsSampler was not bound. " ) ) ( _sampler ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteSamplers ( _count : GLsizei , _samplers : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteSamplers orelse @panic ( " glDeleteSamplers was not bound. " ) ) ( _count , _samplers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genSamplers ( _count : GLsizei , _samplers : [ * c ] GLuint ) void {
return ( function_pointers . glGenSamplers orelse @panic ( " glGenSamplers was not bound. " ) ) ( _count , _samplers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getFragDataIndex ( _program : GLuint , _name : [ * c ] const GLchar ) GLint {
return ( function_pointers . glGetFragDataIndex orelse @panic ( " glGetFragDataIndex was not bound. " ) ) ( _program , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindFragDataLocationIndexed ( _program : GLuint , _colorNumber : GLuint , _index : GLuint , _name : [ * c ] const GLchar ) void {
return ( function_pointers . glBindFragDataLocationIndexed orelse @panic ( " glBindFragDataLocationIndexed was not bound. " ) ) ( _program , _colorNumber , _index , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn sampleMaski ( _maskNumber : GLuint , _mask : GLbitfield ) void {
return ( function_pointers . glSampleMaski orelse @panic ( " glSampleMaski was not bound. " ) ) ( _maskNumber , _mask ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getMultisamplefv ( _pname : GLenum , _index : GLuint , _val : [ * c ] GLfloat ) void {
return ( function_pointers . glGetMultisamplefv orelse @panic ( " glGetMultisamplefv was not bound. " ) ) ( _pname , _index , _val ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texImage3DMultisample ( _target : GLenum , _samples : GLsizei , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _depth : GLsizei , _fixedsamplelocations : GLboolean ) void {
return ( function_pointers . glTexImage3DMultisample orelse @panic ( " glTexImage3DMultisample was not bound. " ) ) ( _target , _samples , _internalformat , _width , _height , _depth , _fixedsamplelocations ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texImage2DMultisample ( _target : GLenum , _samples : GLsizei , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _fixedsamplelocations : GLboolean ) void {
return ( function_pointers . glTexImage2DMultisample orelse @panic ( " glTexImage2DMultisample was not bound. " ) ) ( _target , _samples , _internalformat , _width , _height , _fixedsamplelocations ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn framebufferTexture ( _target : GLenum , _attachment : GLenum , _texture : GLuint , _level : GLint ) void {
return ( function_pointers . glFramebufferTexture orelse @panic ( " glFramebufferTexture was not bound. " ) ) ( _target , _attachment , _texture , _level ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getBufferParameteri64v ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint64 ) void {
return ( function_pointers . glGetBufferParameteri64v orelse @panic ( " glGetBufferParameteri64v was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn blendFuncSeparate ( _sfactorRGB : GLenum , _dfactorRGB : GLenum , _sfactorAlpha : GLenum , _dfactorAlpha : GLenum ) void {
return ( function_pointers . glBlendFuncSeparate orelse @panic ( " glBlendFuncSeparate was not bound. " ) ) ( _sfactorRGB , _dfactorRGB , _sfactorAlpha , _dfactorAlpha ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn multiDrawArrays ( _mode : GLenum , _first : [ * c ] const GLint , _count : [ * c ] const GLsizei , _drawcount : GLsizei ) void {
return ( function_pointers . glMultiDrawArrays orelse @panic ( " glMultiDrawArrays was not bound. " ) ) ( _mode , _first , _count , _drawcount ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn multiDrawElements ( _mode : GLenum , _count : [ * c ] const GLsizei , _type : GLenum , _indices : [ * c ] const ? * const anyopaque , _drawcount : GLsizei ) void {
return ( function_pointers . glMultiDrawElements orelse @panic ( " glMultiDrawElements was not bound. " ) ) ( _mode , _count , _type , _indices , _drawcount ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn pointParameterf ( _pname : GLenum , _param : GLfloat ) void {
return ( function_pointers . glPointParameterf orelse @panic ( " glPointParameterf was not bound. " ) ) ( _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn pointParameterfv ( _pname : GLenum , _params : [ * c ] const GLfloat ) void {
return ( function_pointers . glPointParameterfv orelse @panic ( " glPointParameterfv was not bound. " ) ) ( _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn pointParameteri ( _pname : GLenum , _param : GLint ) void {
return ( function_pointers . glPointParameteri orelse @panic ( " glPointParameteri was not bound. " ) ) ( _pname , _param ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn pointParameteriv ( _pname : GLenum , _params : [ * c ] const GLint ) void {
return ( function_pointers . glPointParameteriv orelse @panic ( " glPointParameteriv was not bound. " ) ) ( _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getInteger64i_v ( _target : GLenum , _index : GLuint , _data : [ * c ] GLint64 ) void {
return ( function_pointers . glGetInteger64i_v orelse @panic ( " glGetInteger64i_v was not bound. " ) ) ( _target , _index , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getSynciv ( _sync : GLsync , _pname : GLenum , _count : GLsizei , _length : [ * c ] GLsizei , _values : [ * c ] GLint ) void {
return ( function_pointers . glGetSynciv orelse @panic ( " glGetSynciv was not bound. " ) ) ( _sync , _pname , _count , _length , _values ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getInteger64v ( _pname : GLenum , _data : [ * c ] GLint64 ) void {
return ( function_pointers . glGetInteger64v orelse @panic ( " glGetInteger64v was not bound. " ) ) ( _pname , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn waitSync ( _sync : GLsync , _flags : GLbitfield , _timeout : GLuint64 ) void {
return ( function_pointers . glWaitSync orelse @panic ( " glWaitSync was not bound. " ) ) ( _sync , _flags , _timeout ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn clientWaitSync ( _sync : GLsync , _flags : GLbitfield , _timeout : GLuint64 ) GLenum {
return ( function_pointers . glClientWaitSync orelse @panic ( " glClientWaitSync was not bound. " ) ) ( _sync , _flags , _timeout ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteSync ( _sync : GLsync ) void {
return ( function_pointers . glDeleteSync orelse @panic ( " glDeleteSync was not bound. " ) ) ( _sync ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isSync ( _sync : GLsync ) GLboolean {
return ( function_pointers . glIsSync orelse @panic ( " glIsSync was not bound. " ) ) ( _sync ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn fenceSync ( _condition : GLenum , _flags : GLbitfield ) GLsync {
return ( function_pointers . glFenceSync orelse @panic ( " glFenceSync was not bound. " ) ) ( _condition , _flags ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn blendColor ( _red : GLfloat , _green : GLfloat , _blue : GLfloat , _alpha : GLfloat ) void {
return ( function_pointers . glBlendColor orelse @panic ( " glBlendColor was not bound. " ) ) ( _red , _green , _blue , _alpha ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn blendEquation ( _mode : GLenum ) void {
return ( function_pointers . glBlendEquation orelse @panic ( " glBlendEquation was not bound. " ) ) ( _mode ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn provokingVertex ( _mode : GLenum ) void {
return ( function_pointers . glProvokingVertex orelse @panic ( " glProvokingVertex was not bound. " ) ) ( _mode ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn multiDrawElementsBaseVertex ( _mode : GLenum , _count : [ * c ] const GLsizei , _type : GLenum , _indices : [ * c ] const ? * const anyopaque , _drawcount : GLsizei , _basevertex : [ * c ] const GLint ) void {
return ( function_pointers . glMultiDrawElementsBaseVertex orelse @panic ( " glMultiDrawElementsBaseVertex was not bound. " ) ) ( _mode , _count , _type , _indices , _drawcount , _basevertex ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawElementsInstancedBaseVertex ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _instancecount : GLsizei , _basevertex : GLint ) void {
return ( function_pointers . glDrawElementsInstancedBaseVertex orelse @panic ( " glDrawElementsInstancedBaseVertex was not bound. " ) ) ( _mode , _count , _type , _indices , _instancecount , _basevertex ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawRangeElementsBaseVertex ( _mode : GLenum , _start : GLuint , _end : GLuint , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _basevertex : GLint ) void {
return ( function_pointers . glDrawRangeElementsBaseVertex orelse @panic ( " glDrawRangeElementsBaseVertex was not bound. " ) ) ( _mode , _start , _end , _count , _type , _indices , _basevertex ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawElementsBaseVertex ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _basevertex : GLint ) void {
return ( function_pointers . glDrawElementsBaseVertex orelse @panic ( " glDrawElementsBaseVertex was not bound. " ) ) ( _mode , _count , _type , _indices , _basevertex ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genQueries ( _n : GLsizei , _ids : [ * c ] GLuint ) void {
return ( function_pointers . glGenQueries orelse @panic ( " glGenQueries was not bound. " ) ) ( _n , _ids ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteQueries ( _n : GLsizei , _ids : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteQueries orelse @panic ( " glDeleteQueries was not bound. " ) ) ( _n , _ids ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isQuery ( _id : GLuint ) GLboolean {
return ( function_pointers . glIsQuery orelse @panic ( " glIsQuery was not bound. " ) ) ( _id ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn beginQuery ( _target : GLenum , _id : GLuint ) void {
return ( function_pointers . glBeginQuery orelse @panic ( " glBeginQuery was not bound. " ) ) ( _target , _id ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn endQuery ( _target : GLenum ) void {
return ( function_pointers . glEndQuery orelse @panic ( " glEndQuery was not bound. " ) ) ( _target ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getQueryiv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetQueryiv orelse @panic ( " glGetQueryiv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getQueryObjectiv ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetQueryObjectiv orelse @panic ( " glGetQueryObjectiv was not bound. " ) ) ( _id , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getQueryObjectuiv ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLuint ) void {
return ( function_pointers . glGetQueryObjectuiv orelse @panic ( " glGetQueryObjectuiv was not bound. " ) ) ( _id , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindBuffer ( _target : GLenum , _buffer : GLuint ) void {
return ( function_pointers . glBindBuffer orelse @panic ( " glBindBuffer was not bound. " ) ) ( _target , _buffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteBuffers ( _n : GLsizei , _buffers : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteBuffers orelse @panic ( " glDeleteBuffers was not bound. " ) ) ( _n , _buffers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genBuffers ( _n : GLsizei , _buffers : [ * c ] GLuint ) void {
return ( function_pointers . glGenBuffers orelse @panic ( " glGenBuffers was not bound. " ) ) ( _n , _buffers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isBuffer ( _buffer : GLuint ) GLboolean {
return ( function_pointers . glIsBuffer orelse @panic ( " glIsBuffer was not bound. " ) ) ( _buffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bufferData ( _target : GLenum , _size : GLsizeiptr , _data : ? * const anyopaque , _usage : GLenum ) void {
return ( function_pointers . glBufferData orelse @panic ( " glBufferData was not bound. " ) ) ( _target , _size , _data , _usage ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bufferSubData ( _target : GLenum , _offset : GLintptr , _size : GLsizeiptr , _data : ? * const anyopaque ) void {
return ( function_pointers . glBufferSubData orelse @panic ( " glBufferSubData was not bound. " ) ) ( _target , _offset , _size , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getBufferSubData ( _target : GLenum , _offset : GLintptr , _size : GLsizeiptr , _data : ? * anyopaque ) void {
return ( function_pointers . glGetBufferSubData orelse @panic ( " glGetBufferSubData was not bound. " ) ) ( _target , _offset , _size , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn mapBuffer ( _target : GLenum , _access : GLenum ) ? * anyopaque {
return ( function_pointers . glMapBuffer orelse @panic ( " glMapBuffer was not bound. " ) ) ( _target , _access ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn unmapBuffer ( _target : GLenum ) GLboolean {
return ( function_pointers . glUnmapBuffer orelse @panic ( " glUnmapBuffer was not bound. " ) ) ( _target ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getBufferParameteriv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetBufferParameteriv orelse @panic ( " glGetBufferParameteriv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getBufferPointerv ( _target : GLenum , _pname : GLenum , _params : ? * ? * anyopaque ) void {
return ( function_pointers . glGetBufferPointerv orelse @panic ( " glGetBufferPointerv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn blendEquationSeparate ( _modeRGB : GLenum , _modeAlpha : GLenum ) void {
return ( function_pointers . glBlendEquationSeparate orelse @panic ( " glBlendEquationSeparate was not bound. " ) ) ( _modeRGB , _modeAlpha ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawBuffers ( _n : GLsizei , _bufs : [ * c ] const GLenum ) void {
return ( function_pointers . glDrawBuffers orelse @panic ( " glDrawBuffers was not bound. " ) ) ( _n , _bufs ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn stencilOpSeparate ( _face : GLenum , _sfail : GLenum , _dpfail : GLenum , _dppass : GLenum ) void {
return ( function_pointers . glStencilOpSeparate orelse @panic ( " glStencilOpSeparate was not bound. " ) ) ( _face , _sfail , _dpfail , _dppass ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn stencilFuncSeparate ( _face : GLenum , _func : GLenum , _ref : GLint , _mask : GLuint ) void {
return ( function_pointers . glStencilFuncSeparate orelse @panic ( " glStencilFuncSeparate was not bound. " ) ) ( _face , _func , _ref , _mask ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn stencilMaskSeparate ( _face : GLenum , _mask : GLuint ) void {
return ( function_pointers . glStencilMaskSeparate orelse @panic ( " glStencilMaskSeparate was not bound. " ) ) ( _face , _mask ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn attachShader ( _program : GLuint , _shader : GLuint ) void {
return ( function_pointers . glAttachShader orelse @panic ( " glAttachShader was not bound. " ) ) ( _program , _shader ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindAttribLocation ( _program : GLuint , _index : GLuint , _name : [ * c ] const GLchar ) void {
return ( function_pointers . glBindAttribLocation orelse @panic ( " glBindAttribLocation was not bound. " ) ) ( _program , _index , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn compileShader ( _shader : GLuint ) void {
return ( function_pointers . glCompileShader orelse @panic ( " glCompileShader was not bound. " ) ) ( _shader ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn createProgram ( ) GLuint {
return ( function_pointers . glCreateProgram orelse @panic ( " glCreateProgram was not bound. " ) ) ( ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn createShader ( _type : GLenum ) GLuint {
return ( function_pointers . glCreateShader orelse @panic ( " glCreateShader was not bound. " ) ) ( _type ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteProgram ( _program : GLuint ) void {
return ( function_pointers . glDeleteProgram orelse @panic ( " glDeleteProgram was not bound. " ) ) ( _program ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteShader ( _shader : GLuint ) void {
return ( function_pointers . glDeleteShader orelse @panic ( " glDeleteShader was not bound. " ) ) ( _shader ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn detachShader ( _program : GLuint , _shader : GLuint ) void {
return ( function_pointers . glDetachShader orelse @panic ( " glDetachShader was not bound. " ) ) ( _program , _shader ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn disableVertexAttribArray ( _index : GLuint ) void {
return ( function_pointers . glDisableVertexAttribArray orelse @panic ( " glDisableVertexAttribArray was not bound. " ) ) ( _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn enableVertexAttribArray ( _index : GLuint ) void {
return ( function_pointers . glEnableVertexAttribArray orelse @panic ( " glEnableVertexAttribArray was not bound. " ) ) ( _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getActiveAttrib ( _program : GLuint , _index : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _size : [ * c ] GLint , _type : [ * c ] GLenum , _name : [ * c ] GLchar ) void {
return ( function_pointers . glGetActiveAttrib orelse @panic ( " glGetActiveAttrib was not bound. " ) ) ( _program , _index , _bufSize , _length , _size , _type , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getActiveUniform ( _program : GLuint , _index : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _size : [ * c ] GLint , _type : [ * c ] GLenum , _name : [ * c ] GLchar ) void {
return ( function_pointers . glGetActiveUniform orelse @panic ( " glGetActiveUniform was not bound. " ) ) ( _program , _index , _bufSize , _length , _size , _type , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getAttachedShaders ( _program : GLuint , _maxCount : GLsizei , _count : [ * c ] GLsizei , _shaders : [ * c ] GLuint ) void {
return ( function_pointers . glGetAttachedShaders orelse @panic ( " glGetAttachedShaders was not bound. " ) ) ( _program , _maxCount , _count , _shaders ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getAttribLocation ( _program : GLuint , _name : [ * c ] const GLchar ) GLint {
return ( function_pointers . glGetAttribLocation orelse @panic ( " glGetAttribLocation was not bound. " ) ) ( _program , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getProgramiv ( _program : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetProgramiv orelse @panic ( " glGetProgramiv was not bound. " ) ) ( _program , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getProgramInfoLog ( _program : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _infoLog : [ * c ] GLchar ) void {
return ( function_pointers . glGetProgramInfoLog orelse @panic ( " glGetProgramInfoLog was not bound. " ) ) ( _program , _bufSize , _length , _infoLog ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getShaderiv ( _shader : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetShaderiv orelse @panic ( " glGetShaderiv was not bound. " ) ) ( _shader , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getShaderInfoLog ( _shader : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _infoLog : [ * c ] GLchar ) void {
return ( function_pointers . glGetShaderInfoLog orelse @panic ( " glGetShaderInfoLog was not bound. " ) ) ( _shader , _bufSize , _length , _infoLog ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getShaderSource ( _shader : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _source : [ * c ] GLchar ) void {
return ( function_pointers . glGetShaderSource orelse @panic ( " glGetShaderSource was not bound. " ) ) ( _shader , _bufSize , _length , _source ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getUniformLocation ( _program : GLuint , _name : [ * c ] const GLchar ) GLint {
return ( function_pointers . glGetUniformLocation orelse @panic ( " glGetUniformLocation was not bound. " ) ) ( _program , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getUniformfv ( _program : GLuint , _location : GLint , _params : [ * c ] GLfloat ) void {
return ( function_pointers . glGetUniformfv orelse @panic ( " glGetUniformfv was not bound. " ) ) ( _program , _location , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getUniformiv ( _program : GLuint , _location : GLint , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetUniformiv orelse @panic ( " glGetUniformiv was not bound. " ) ) ( _program , _location , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getVertexAttribdv ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLdouble ) void {
return ( function_pointers . glGetVertexAttribdv orelse @panic ( " glGetVertexAttribdv was not bound. " ) ) ( _index , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getVertexAttribfv ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLfloat ) void {
return ( function_pointers . glGetVertexAttribfv orelse @panic ( " glGetVertexAttribfv was not bound. " ) ) ( _index , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getVertexAttribiv ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetVertexAttribiv orelse @panic ( " glGetVertexAttribiv was not bound. " ) ) ( _index , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getVertexAttribPointerv ( _index : GLuint , _pname : GLenum , _pointer : ? * ? * anyopaque ) void {
return ( function_pointers . glGetVertexAttribPointerv orelse @panic ( " glGetVertexAttribPointerv was not bound. " ) ) ( _index , _pname , _pointer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isProgram ( _program : GLuint ) GLboolean {
return ( function_pointers . glIsProgram orelse @panic ( " glIsProgram was not bound. " ) ) ( _program ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isShader ( _shader : GLuint ) GLboolean {
return ( function_pointers . glIsShader orelse @panic ( " glIsShader was not bound. " ) ) ( _shader ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn linkProgram ( _program : GLuint ) void {
return ( function_pointers . glLinkProgram orelse @panic ( " glLinkProgram was not bound. " ) ) ( _program ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn shaderSource ( _shader : GLuint , _count : GLsizei , _string : [ * c ] const [ * c ] const GLchar , _length : [ * c ] const GLint ) void {
return ( function_pointers . glShaderSource orelse @panic ( " glShaderSource was not bound. " ) ) ( _shader , _count , _string , _length ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn useProgram ( _program : GLuint ) void {
return ( function_pointers . glUseProgram orelse @panic ( " glUseProgram was not bound. " ) ) ( _program ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform1f ( _location : GLint , _v0 : GLfloat ) void {
return ( function_pointers . glUniform1f orelse @panic ( " glUniform1f was not bound. " ) ) ( _location , _v0 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform2f ( _location : GLint , _v0 : GLfloat , _v1 : GLfloat ) void {
return ( function_pointers . glUniform2f orelse @panic ( " glUniform2f was not bound. " ) ) ( _location , _v0 , _v1 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform3f ( _location : GLint , _v0 : GLfloat , _v1 : GLfloat , _v2 : GLfloat ) void {
return ( function_pointers . glUniform3f orelse @panic ( " glUniform3f was not bound. " ) ) ( _location , _v0 , _v1 , _v2 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform4f ( _location : GLint , _v0 : GLfloat , _v1 : GLfloat , _v2 : GLfloat , _v3 : GLfloat ) void {
return ( function_pointers . glUniform4f orelse @panic ( " glUniform4f was not bound. " ) ) ( _location , _v0 , _v1 , _v2 , _v3 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform1i ( _location : GLint , _v0 : GLint ) void {
return ( function_pointers . glUniform1i orelse @panic ( " glUniform1i was not bound. " ) ) ( _location , _v0 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform2i ( _location : GLint , _v0 : GLint , _v1 : GLint ) void {
return ( function_pointers . glUniform2i orelse @panic ( " glUniform2i was not bound. " ) ) ( _location , _v0 , _v1 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform3i ( _location : GLint , _v0 : GLint , _v1 : GLint , _v2 : GLint ) void {
return ( function_pointers . glUniform3i orelse @panic ( " glUniform3i was not bound. " ) ) ( _location , _v0 , _v1 , _v2 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform4i ( _location : GLint , _v0 : GLint , _v1 : GLint , _v2 : GLint , _v3 : GLint ) void {
return ( function_pointers . glUniform4i orelse @panic ( " glUniform4i was not bound. " ) ) ( _location , _v0 , _v1 , _v2 , _v3 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform1fv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniform1fv orelse @panic ( " glUniform1fv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform2fv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniform2fv orelse @panic ( " glUniform2fv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform3fv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniform3fv orelse @panic ( " glUniform3fv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform4fv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniform4fv orelse @panic ( " glUniform4fv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform1iv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void {
return ( function_pointers . glUniform1iv orelse @panic ( " glUniform1iv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform2iv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void {
return ( function_pointers . glUniform2iv orelse @panic ( " glUniform2iv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform3iv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void {
return ( function_pointers . glUniform3iv orelse @panic ( " glUniform3iv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform4iv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void {
return ( function_pointers . glUniform4iv orelse @panic ( " glUniform4iv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix2fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix2fv orelse @panic ( " glUniformMatrix2fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix3fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix3fv orelse @panic ( " glUniformMatrix3fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix4fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix4fv orelse @panic ( " glUniformMatrix4fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn validateProgram ( _program : GLuint ) void {
return ( function_pointers . glValidateProgram orelse @panic ( " glValidateProgram was not bound. " ) ) ( _program ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib1d ( _index : GLuint , _x : GLdouble ) void {
return ( function_pointers . glVertexAttrib1d orelse @panic ( " glVertexAttrib1d was not bound. " ) ) ( _index , _x ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib1dv ( _index : GLuint , _v : [ * c ] const GLdouble ) void {
return ( function_pointers . glVertexAttrib1dv orelse @panic ( " glVertexAttrib1dv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib1f ( _index : GLuint , _x : GLfloat ) void {
return ( function_pointers . glVertexAttrib1f orelse @panic ( " glVertexAttrib1f was not bound. " ) ) ( _index , _x ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib1fv ( _index : GLuint , _v : [ * c ] const GLfloat ) void {
return ( function_pointers . glVertexAttrib1fv orelse @panic ( " glVertexAttrib1fv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib1s ( _index : GLuint , _x : GLshort ) void {
return ( function_pointers . glVertexAttrib1s orelse @panic ( " glVertexAttrib1s was not bound. " ) ) ( _index , _x ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib1sv ( _index : GLuint , _v : [ * c ] const GLshort ) void {
return ( function_pointers . glVertexAttrib1sv orelse @panic ( " glVertexAttrib1sv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib2d ( _index : GLuint , _x : GLdouble , _y : GLdouble ) void {
return ( function_pointers . glVertexAttrib2d orelse @panic ( " glVertexAttrib2d was not bound. " ) ) ( _index , _x , _y ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib2dv ( _index : GLuint , _v : [ * c ] const GLdouble ) void {
return ( function_pointers . glVertexAttrib2dv orelse @panic ( " glVertexAttrib2dv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib2f ( _index : GLuint , _x : GLfloat , _y : GLfloat ) void {
return ( function_pointers . glVertexAttrib2f orelse @panic ( " glVertexAttrib2f was not bound. " ) ) ( _index , _x , _y ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib2fv ( _index : GLuint , _v : [ * c ] const GLfloat ) void {
return ( function_pointers . glVertexAttrib2fv orelse @panic ( " glVertexAttrib2fv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib2s ( _index : GLuint , _x : GLshort , _y : GLshort ) void {
return ( function_pointers . glVertexAttrib2s orelse @panic ( " glVertexAttrib2s was not bound. " ) ) ( _index , _x , _y ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib2sv ( _index : GLuint , _v : [ * c ] const GLshort ) void {
return ( function_pointers . glVertexAttrib2sv orelse @panic ( " glVertexAttrib2sv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib3d ( _index : GLuint , _x : GLdouble , _y : GLdouble , _z : GLdouble ) void {
return ( function_pointers . glVertexAttrib3d orelse @panic ( " glVertexAttrib3d was not bound. " ) ) ( _index , _x , _y , _z ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib3dv ( _index : GLuint , _v : [ * c ] const GLdouble ) void {
return ( function_pointers . glVertexAttrib3dv orelse @panic ( " glVertexAttrib3dv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib3f ( _index : GLuint , _x : GLfloat , _y : GLfloat , _z : GLfloat ) void {
return ( function_pointers . glVertexAttrib3f orelse @panic ( " glVertexAttrib3f was not bound. " ) ) ( _index , _x , _y , _z ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib3fv ( _index : GLuint , _v : [ * c ] const GLfloat ) void {
return ( function_pointers . glVertexAttrib3fv orelse @panic ( " glVertexAttrib3fv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib3s ( _index : GLuint , _x : GLshort , _y : GLshort , _z : GLshort ) void {
return ( function_pointers . glVertexAttrib3s orelse @panic ( " glVertexAttrib3s was not bound. " ) ) ( _index , _x , _y , _z ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib3sv ( _index : GLuint , _v : [ * c ] const GLshort ) void {
return ( function_pointers . glVertexAttrib3sv orelse @panic ( " glVertexAttrib3sv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Nbv ( _index : GLuint , _v : [ * c ] const GLbyte ) void {
return ( function_pointers . glVertexAttrib4Nbv orelse @panic ( " glVertexAttrib4Nbv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Niv ( _index : GLuint , _v : [ * c ] const GLint ) void {
return ( function_pointers . glVertexAttrib4Niv orelse @panic ( " glVertexAttrib4Niv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Nsv ( _index : GLuint , _v : [ * c ] const GLshort ) void {
return ( function_pointers . glVertexAttrib4Nsv orelse @panic ( " glVertexAttrib4Nsv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Nub ( _index : GLuint , _x : GLubyte , _y : GLubyte , _z : GLubyte , _w : GLubyte ) void {
return ( function_pointers . glVertexAttrib4Nub orelse @panic ( " glVertexAttrib4Nub was not bound. " ) ) ( _index , _x , _y , _z , _w ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Nubv ( _index : GLuint , _v : ? [ * : 0 ] const GLubyte ) void {
return ( function_pointers . glVertexAttrib4Nubv orelse @panic ( " glVertexAttrib4Nubv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Nuiv ( _index : GLuint , _v : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttrib4Nuiv orelse @panic ( " glVertexAttrib4Nuiv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4Nusv ( _index : GLuint , _v : [ * c ] const GLushort ) void {
return ( function_pointers . glVertexAttrib4Nusv orelse @panic ( " glVertexAttrib4Nusv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4bv ( _index : GLuint , _v : [ * c ] const GLbyte ) void {
return ( function_pointers . glVertexAttrib4bv orelse @panic ( " glVertexAttrib4bv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4d ( _index : GLuint , _x : GLdouble , _y : GLdouble , _z : GLdouble , _w : GLdouble ) void {
return ( function_pointers . glVertexAttrib4d orelse @panic ( " glVertexAttrib4d was not bound. " ) ) ( _index , _x , _y , _z , _w ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4dv ( _index : GLuint , _v : [ * c ] const GLdouble ) void {
return ( function_pointers . glVertexAttrib4dv orelse @panic ( " glVertexAttrib4dv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4f ( _index : GLuint , _x : GLfloat , _y : GLfloat , _z : GLfloat , _w : GLfloat ) void {
return ( function_pointers . glVertexAttrib4f orelse @panic ( " glVertexAttrib4f was not bound. " ) ) ( _index , _x , _y , _z , _w ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4fv ( _index : GLuint , _v : [ * c ] const GLfloat ) void {
return ( function_pointers . glVertexAttrib4fv orelse @panic ( " glVertexAttrib4fv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4iv ( _index : GLuint , _v : [ * c ] const GLint ) void {
return ( function_pointers . glVertexAttrib4iv orelse @panic ( " glVertexAttrib4iv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4s ( _index : GLuint , _x : GLshort , _y : GLshort , _z : GLshort , _w : GLshort ) void {
return ( function_pointers . glVertexAttrib4s orelse @panic ( " glVertexAttrib4s was not bound. " ) ) ( _index , _x , _y , _z , _w ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4sv ( _index : GLuint , _v : [ * c ] const GLshort ) void {
return ( function_pointers . glVertexAttrib4sv orelse @panic ( " glVertexAttrib4sv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4ubv ( _index : GLuint , _v : ? [ * : 0 ] const GLubyte ) void {
return ( function_pointers . glVertexAttrib4ubv orelse @panic ( " glVertexAttrib4ubv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4uiv ( _index : GLuint , _v : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttrib4uiv orelse @panic ( " glVertexAttrib4uiv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttrib4usv ( _index : GLuint , _v : [ * c ] const GLushort ) void {
return ( function_pointers . glVertexAttrib4usv orelse @panic ( " glVertexAttrib4usv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribPointer ( _index : GLuint , _size : GLint , _type : GLenum , _normalized : GLboolean , _stride : GLsizei , _pointer : ? * const anyopaque ) void {
return ( function_pointers . glVertexAttribPointer orelse @panic ( " glVertexAttribPointer was not bound. " ) ) ( _index , _size , _type , _normalized , _stride , _pointer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix2x3fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix2x3fv orelse @panic ( " glUniformMatrix2x3fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix3x2fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix3x2fv orelse @panic ( " glUniformMatrix3x2fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix2x4fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix2x4fv orelse @panic ( " glUniformMatrix2x4fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix4x2fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix4x2fv orelse @panic ( " glUniformMatrix4x2fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix3x4fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix3x4fv orelse @panic ( " glUniformMatrix3x4fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformMatrix4x3fv ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glUniformMatrix4x3fv orelse @panic ( " glUniformMatrix4x3fv was not bound. " ) ) ( _location , _count , _transpose , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn colorMaski ( _index : GLuint , _r : GLboolean , _g : GLboolean , _b : GLboolean , _a : GLboolean ) void {
return ( function_pointers . glColorMaski orelse @panic ( " glColorMaski was not bound. " ) ) ( _index , _r , _g , _b , _a ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getBooleani_v ( _target : GLenum , _index : GLuint , _data : [ * c ] GLboolean ) void {
return ( function_pointers . glGetBooleani_v orelse @panic ( " glGetBooleani_v was not bound. " ) ) ( _target , _index , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getIntegeri_v ( _target : GLenum , _index : GLuint , _data : [ * c ] GLint ) void {
return ( function_pointers . glGetIntegeri_v orelse @panic ( " glGetIntegeri_v was not bound. " ) ) ( _target , _index , _data ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn enablei ( _target : GLenum , _index : GLuint ) void {
return ( function_pointers . glEnablei orelse @panic ( " glEnablei was not bound. " ) ) ( _target , _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn disablei ( _target : GLenum , _index : GLuint ) void {
return ( function_pointers . glDisablei orelse @panic ( " glDisablei was not bound. " ) ) ( _target , _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isEnabledi ( _target : GLenum , _index : GLuint ) GLboolean {
return ( function_pointers . glIsEnabledi orelse @panic ( " glIsEnabledi was not bound. " ) ) ( _target , _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn beginTransformFeedback ( _primitiveMode : GLenum ) void {
return ( function_pointers . glBeginTransformFeedback orelse @panic ( " glBeginTransformFeedback was not bound. " ) ) ( _primitiveMode ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn endTransformFeedback ( ) void {
return ( function_pointers . glEndTransformFeedback orelse @panic ( " glEndTransformFeedback was not bound. " ) ) ( ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindBufferRange ( _target : GLenum , _index : GLuint , _buffer : GLuint , _offset : GLintptr , _size : GLsizeiptr ) void {
return ( function_pointers . glBindBufferRange orelse @panic ( " glBindBufferRange was not bound. " ) ) ( _target , _index , _buffer , _offset , _size ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindBufferBase ( _target : GLenum , _index : GLuint , _buffer : GLuint ) void {
return ( function_pointers . glBindBufferBase orelse @panic ( " glBindBufferBase was not bound. " ) ) ( _target , _index , _buffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn transformFeedbackVaryings ( _program : GLuint , _count : GLsizei , _varyings : [ * c ] const [ * c ] const GLchar , _bufferMode : GLenum ) void {
return ( function_pointers . glTransformFeedbackVaryings orelse @panic ( " glTransformFeedbackVaryings was not bound. " ) ) ( _program , _count , _varyings , _bufferMode ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getTransformFeedbackVarying ( _program : GLuint , _index : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _size : [ * c ] GLsizei , _type : [ * c ] GLenum , _name : [ * c ] GLchar ) void {
return ( function_pointers . glGetTransformFeedbackVarying orelse @panic ( " glGetTransformFeedbackVarying was not bound. " ) ) ( _program , _index , _bufSize , _length , _size , _type , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn clampColor ( _target : GLenum , _clamp : GLenum ) void {
return ( function_pointers . glClampColor orelse @panic ( " glClampColor was not bound. " ) ) ( _target , _clamp ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn beginConditionalRender ( _id : GLuint , _mode : GLenum ) void {
return ( function_pointers . glBeginConditionalRender orelse @panic ( " glBeginConditionalRender was not bound. " ) ) ( _id , _mode ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn endConditionalRender ( ) void {
return ( function_pointers . glEndConditionalRender orelse @panic ( " glEndConditionalRender was not bound. " ) ) ( ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribIPointer ( _index : GLuint , _size : GLint , _type : GLenum , _stride : GLsizei , _pointer : ? * const anyopaque ) void {
return ( function_pointers . glVertexAttribIPointer orelse @panic ( " glVertexAttribIPointer was not bound. " ) ) ( _index , _size , _type , _stride , _pointer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getVertexAttribIiv ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetVertexAttribIiv orelse @panic ( " glGetVertexAttribIiv was not bound. " ) ) ( _index , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getVertexAttribIuiv ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLuint ) void {
return ( function_pointers . glGetVertexAttribIuiv orelse @panic ( " glGetVertexAttribIuiv was not bound. " ) ) ( _index , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI1i ( _index : GLuint , _x : GLint ) void {
return ( function_pointers . glVertexAttribI1i orelse @panic ( " glVertexAttribI1i was not bound. " ) ) ( _index , _x ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI2i ( _index : GLuint , _x : GLint , _y : GLint ) void {
return ( function_pointers . glVertexAttribI2i orelse @panic ( " glVertexAttribI2i was not bound. " ) ) ( _index , _x , _y ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI3i ( _index : GLuint , _x : GLint , _y : GLint , _z : GLint ) void {
return ( function_pointers . glVertexAttribI3i orelse @panic ( " glVertexAttribI3i was not bound. " ) ) ( _index , _x , _y , _z ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4i ( _index : GLuint , _x : GLint , _y : GLint , _z : GLint , _w : GLint ) void {
return ( function_pointers . glVertexAttribI4i orelse @panic ( " glVertexAttribI4i was not bound. " ) ) ( _index , _x , _y , _z , _w ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI1ui ( _index : GLuint , _x : GLuint ) void {
return ( function_pointers . glVertexAttribI1ui orelse @panic ( " glVertexAttribI1ui was not bound. " ) ) ( _index , _x ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI2ui ( _index : GLuint , _x : GLuint , _y : GLuint ) void {
return ( function_pointers . glVertexAttribI2ui orelse @panic ( " glVertexAttribI2ui was not bound. " ) ) ( _index , _x , _y ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI3ui ( _index : GLuint , _x : GLuint , _y : GLuint , _z : GLuint ) void {
return ( function_pointers . glVertexAttribI3ui orelse @panic ( " glVertexAttribI3ui was not bound. " ) ) ( _index , _x , _y , _z ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4ui ( _index : GLuint , _x : GLuint , _y : GLuint , _z : GLuint , _w : GLuint ) void {
return ( function_pointers . glVertexAttribI4ui orelse @panic ( " glVertexAttribI4ui was not bound. " ) ) ( _index , _x , _y , _z , _w ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI1iv ( _index : GLuint , _v : [ * c ] const GLint ) void {
return ( function_pointers . glVertexAttribI1iv orelse @panic ( " glVertexAttribI1iv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI2iv ( _index : GLuint , _v : [ * c ] const GLint ) void {
return ( function_pointers . glVertexAttribI2iv orelse @panic ( " glVertexAttribI2iv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI3iv ( _index : GLuint , _v : [ * c ] const GLint ) void {
return ( function_pointers . glVertexAttribI3iv orelse @panic ( " glVertexAttribI3iv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4iv ( _index : GLuint , _v : [ * c ] const GLint ) void {
return ( function_pointers . glVertexAttribI4iv orelse @panic ( " glVertexAttribI4iv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI1uiv ( _index : GLuint , _v : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribI1uiv orelse @panic ( " glVertexAttribI1uiv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI2uiv ( _index : GLuint , _v : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribI2uiv orelse @panic ( " glVertexAttribI2uiv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI3uiv ( _index : GLuint , _v : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribI3uiv orelse @panic ( " glVertexAttribI3uiv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4uiv ( _index : GLuint , _v : [ * c ] const GLuint ) void {
return ( function_pointers . glVertexAttribI4uiv orelse @panic ( " glVertexAttribI4uiv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4bv ( _index : GLuint , _v : [ * c ] const GLbyte ) void {
return ( function_pointers . glVertexAttribI4bv orelse @panic ( " glVertexAttribI4bv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4sv ( _index : GLuint , _v : [ * c ] const GLshort ) void {
return ( function_pointers . glVertexAttribI4sv orelse @panic ( " glVertexAttribI4sv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4ubv ( _index : GLuint , _v : ? [ * : 0 ] const GLubyte ) void {
return ( function_pointers . glVertexAttribI4ubv orelse @panic ( " glVertexAttribI4ubv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn vertexAttribI4usv ( _index : GLuint , _v : [ * c ] const GLushort ) void {
return ( function_pointers . glVertexAttribI4usv orelse @panic ( " glVertexAttribI4usv was not bound. " ) ) ( _index , _v ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getUniformuiv ( _program : GLuint , _location : GLint , _params : [ * c ] GLuint ) void {
return ( function_pointers . glGetUniformuiv orelse @panic ( " glGetUniformuiv was not bound. " ) ) ( _program , _location , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindFragDataLocation ( _program : GLuint , _color : GLuint , _name : [ * c ] const GLchar ) void {
return ( function_pointers . glBindFragDataLocation orelse @panic ( " glBindFragDataLocation was not bound. " ) ) ( _program , _color , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getFragDataLocation ( _program : GLuint , _name : [ * c ] const GLchar ) GLint {
return ( function_pointers . glGetFragDataLocation orelse @panic ( " glGetFragDataLocation was not bound. " ) ) ( _program , _name ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform1ui ( _location : GLint , _v0 : GLuint ) void {
return ( function_pointers . glUniform1ui orelse @panic ( " glUniform1ui was not bound. " ) ) ( _location , _v0 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform2ui ( _location : GLint , _v0 : GLuint , _v1 : GLuint ) void {
return ( function_pointers . glUniform2ui orelse @panic ( " glUniform2ui was not bound. " ) ) ( _location , _v0 , _v1 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform3ui ( _location : GLint , _v0 : GLuint , _v1 : GLuint , _v2 : GLuint ) void {
return ( function_pointers . glUniform3ui orelse @panic ( " glUniform3ui was not bound. " ) ) ( _location , _v0 , _v1 , _v2 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform4ui ( _location : GLint , _v0 : GLuint , _v1 : GLuint , _v2 : GLuint , _v3 : GLuint ) void {
return ( function_pointers . glUniform4ui orelse @panic ( " glUniform4ui was not bound. " ) ) ( _location , _v0 , _v1 , _v2 , _v3 ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform1uiv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glUniform1uiv orelse @panic ( " glUniform1uiv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform2uiv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glUniform2uiv orelse @panic ( " glUniform2uiv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform3uiv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glUniform3uiv orelse @panic ( " glUniform3uiv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniform4uiv ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glUniform4uiv orelse @panic ( " glUniform4uiv was not bound. " ) ) ( _location , _count , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texParameterIiv ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLint ) void {
return ( function_pointers . glTexParameterIiv orelse @panic ( " glTexParameterIiv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texParameterIuiv ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLuint ) void {
return ( function_pointers . glTexParameterIuiv orelse @panic ( " glTexParameterIuiv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getTexParameterIiv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetTexParameterIiv orelse @panic ( " glGetTexParameterIiv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getTexParameterIuiv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLuint ) void {
return ( function_pointers . glGetTexParameterIuiv orelse @panic ( " glGetTexParameterIuiv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn clearBufferiv ( _buffer : GLenum , _drawbuffer : GLint , _value : [ * c ] const GLint ) void {
return ( function_pointers . glClearBufferiv orelse @panic ( " glClearBufferiv was not bound. " ) ) ( _buffer , _drawbuffer , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn clearBufferuiv ( _buffer : GLenum , _drawbuffer : GLint , _value : [ * c ] const GLuint ) void {
return ( function_pointers . glClearBufferuiv orelse @panic ( " glClearBufferuiv was not bound. " ) ) ( _buffer , _drawbuffer , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn clearBufferfv ( _buffer : GLenum , _drawbuffer : GLint , _value : [ * c ] const GLfloat ) void {
return ( function_pointers . glClearBufferfv orelse @panic ( " glClearBufferfv was not bound. " ) ) ( _buffer , _drawbuffer , _value ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn clearBufferfi ( _buffer : GLenum , _drawbuffer : GLint , _depth : GLfloat , _stencil : GLint ) void {
return ( function_pointers . glClearBufferfi orelse @panic ( " glClearBufferfi was not bound. " ) ) ( _buffer , _drawbuffer , _depth , _stencil ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getStringi ( _name : GLenum , _index : GLuint ) ? [ * : 0 ] const GLubyte {
return ( function_pointers . glGetStringi orelse @panic ( " glGetStringi was not bound. " ) ) ( _name , _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isRenderbuffer ( _renderbuffer : GLuint ) GLboolean {
return ( function_pointers . glIsRenderbuffer orelse @panic ( " glIsRenderbuffer was not bound. " ) ) ( _renderbuffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindRenderbuffer ( _target : GLenum , _renderbuffer : GLuint ) void {
return ( function_pointers . glBindRenderbuffer orelse @panic ( " glBindRenderbuffer was not bound. " ) ) ( _target , _renderbuffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteRenderbuffers ( _n : GLsizei , _renderbuffers : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteRenderbuffers orelse @panic ( " glDeleteRenderbuffers was not bound. " ) ) ( _n , _renderbuffers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genRenderbuffers ( _n : GLsizei , _renderbuffers : [ * c ] GLuint ) void {
return ( function_pointers . glGenRenderbuffers orelse @panic ( " glGenRenderbuffers was not bound. " ) ) ( _n , _renderbuffers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn renderbufferStorage ( _target : GLenum , _internalformat : GLenum , _width : GLsizei , _height : GLsizei ) void {
return ( function_pointers . glRenderbufferStorage orelse @panic ( " glRenderbufferStorage was not bound. " ) ) ( _target , _internalformat , _width , _height ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getRenderbufferParameteriv ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetRenderbufferParameteriv orelse @panic ( " glGetRenderbufferParameteriv was not bound. " ) ) ( _target , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isFramebuffer ( _framebuffer : GLuint ) GLboolean {
return ( function_pointers . glIsFramebuffer orelse @panic ( " glIsFramebuffer was not bound. " ) ) ( _framebuffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindFramebuffer ( _target : GLenum , _framebuffer : GLuint ) void {
return ( function_pointers . glBindFramebuffer orelse @panic ( " glBindFramebuffer was not bound. " ) ) ( _target , _framebuffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteFramebuffers ( _n : GLsizei , _framebuffers : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteFramebuffers orelse @panic ( " glDeleteFramebuffers was not bound. " ) ) ( _n , _framebuffers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genFramebuffers ( _n : GLsizei , _framebuffers : [ * c ] GLuint ) void {
return ( function_pointers . glGenFramebuffers orelse @panic ( " glGenFramebuffers was not bound. " ) ) ( _n , _framebuffers ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn checkFramebufferStatus ( _target : GLenum ) GLenum {
return ( function_pointers . glCheckFramebufferStatus orelse @panic ( " glCheckFramebufferStatus was not bound. " ) ) ( _target ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn framebufferTexture1D ( _target : GLenum , _attachment : GLenum , _textarget : GLenum , _texture : GLuint , _level : GLint ) void {
return ( function_pointers . glFramebufferTexture1D orelse @panic ( " glFramebufferTexture1D was not bound. " ) ) ( _target , _attachment , _textarget , _texture , _level ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn framebufferTexture2D ( _target : GLenum , _attachment : GLenum , _textarget : GLenum , _texture : GLuint , _level : GLint ) void {
return ( function_pointers . glFramebufferTexture2D orelse @panic ( " glFramebufferTexture2D was not bound. " ) ) ( _target , _attachment , _textarget , _texture , _level ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn framebufferTexture3D ( _target : GLenum , _attachment : GLenum , _textarget : GLenum , _texture : GLuint , _level : GLint , _zoffset : GLint ) void {
return ( function_pointers . glFramebufferTexture3D orelse @panic ( " glFramebufferTexture3D was not bound. " ) ) ( _target , _attachment , _textarget , _texture , _level , _zoffset ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn framebufferRenderbuffer ( _target : GLenum , _attachment : GLenum , _renderbuffertarget : GLenum , _renderbuffer : GLuint ) void {
return ( function_pointers . glFramebufferRenderbuffer orelse @panic ( " glFramebufferRenderbuffer was not bound. " ) ) ( _target , _attachment , _renderbuffertarget , _renderbuffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getFramebufferAttachmentParameteriv ( _target : GLenum , _attachment : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetFramebufferAttachmentParameteriv orelse @panic ( " glGetFramebufferAttachmentParameteriv was not bound. " ) ) ( _target , _attachment , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn generateMipmap ( _target : GLenum ) void {
return ( function_pointers . glGenerateMipmap orelse @panic ( " glGenerateMipmap was not bound. " ) ) ( _target ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn blitFramebuffer ( _srcX0 : GLint , _srcY0 : GLint , _srcX1 : GLint , _srcY1 : GLint , _dstX0 : GLint , _dstY0 : GLint , _dstX1 : GLint , _dstY1 : GLint , _mask : GLbitfield , _filter : GLenum ) void {
return ( function_pointers . glBlitFramebuffer orelse @panic ( " glBlitFramebuffer was not bound. " ) ) ( _srcX0 , _srcY0 , _srcX1 , _srcY1 , _dstX0 , _dstY0 , _dstX1 , _dstY1 , _mask , _filter ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn renderbufferStorageMultisample ( _target : GLenum , _samples : GLsizei , _internalformat : GLenum , _width : GLsizei , _height : GLsizei ) void {
return ( function_pointers . glRenderbufferStorageMultisample orelse @panic ( " glRenderbufferStorageMultisample was not bound. " ) ) ( _target , _samples , _internalformat , _width , _height ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn framebufferTextureLayer ( _target : GLenum , _attachment : GLenum , _texture : GLuint , _level : GLint , _layer : GLint ) void {
return ( function_pointers . glFramebufferTextureLayer orelse @panic ( " glFramebufferTextureLayer was not bound. " ) ) ( _target , _attachment , _texture , _level , _layer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn mapBufferRange ( _target : GLenum , _offset : GLintptr , _length : GLsizeiptr , _access : GLbitfield ) ? * anyopaque {
return ( function_pointers . glMapBufferRange orelse @panic ( " glMapBufferRange was not bound. " ) ) ( _target , _offset , _length , _access ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn flushMappedBufferRange ( _target : GLenum , _offset : GLintptr , _length : GLsizeiptr ) void {
return ( function_pointers . glFlushMappedBufferRange orelse @panic ( " glFlushMappedBufferRange was not bound. " ) ) ( _target , _offset , _length ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn bindVertexArray ( _array : GLuint ) void {
return ( function_pointers . glBindVertexArray orelse @panic ( " glBindVertexArray was not bound. " ) ) ( _array ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn deleteVertexArrays ( _n : GLsizei , _arrays : [ * c ] const GLuint ) void {
return ( function_pointers . glDeleteVertexArrays orelse @panic ( " glDeleteVertexArrays was not bound. " ) ) ( _n , _arrays ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn genVertexArrays ( _n : GLsizei , _arrays : [ * c ] GLuint ) void {
return ( function_pointers . glGenVertexArrays orelse @panic ( " glGenVertexArrays was not bound. " ) ) ( _n , _arrays ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn isVertexArray ( _array : GLuint ) GLboolean {
return ( function_pointers . glIsVertexArray orelse @panic ( " glIsVertexArray was not bound. " ) ) ( _array ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawArraysInstanced ( _mode : GLenum , _first : GLint , _count : GLsizei , _instancecount : GLsizei ) void {
return ( function_pointers . glDrawArraysInstanced orelse @panic ( " glDrawArraysInstanced was not bound. " ) ) ( _mode , _first , _count , _instancecount ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn drawElementsInstanced ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _instancecount : GLsizei ) void {
return ( function_pointers . glDrawElementsInstanced orelse @panic ( " glDrawElementsInstanced was not bound. " ) ) ( _mode , _count , _type , _indices , _instancecount ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn texBuffer ( _target : GLenum , _internalformat : GLenum , _buffer : GLuint ) void {
return ( function_pointers . glTexBuffer orelse @panic ( " glTexBuffer was not bound. " ) ) ( _target , _internalformat , _buffer ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn primitiveRestartIndex ( _index : GLuint ) void {
return ( function_pointers . glPrimitiveRestartIndex orelse @panic ( " glPrimitiveRestartIndex was not bound. " ) ) ( _index ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn copyBufferSubData ( _readTarget : GLenum , _writeTarget : GLenum , _readOffset : GLintptr , _writeOffset : GLintptr , _size : GLsizeiptr ) void {
return ( function_pointers . glCopyBufferSubData orelse @panic ( " glCopyBufferSubData was not bound. " ) ) ( _readTarget , _writeTarget , _readOffset , _writeOffset , _size ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getUniformIndices ( _program : GLuint , _uniformCount : GLsizei , _uniformNames : [ * c ] const [ * c ] const GLchar , _uniformIndices : [ * c ] GLuint ) void {
return ( function_pointers . glGetUniformIndices orelse @panic ( " glGetUniformIndices was not bound. " ) ) ( _program , _uniformCount , _uniformNames , _uniformIndices ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getActiveUniformsiv ( _program : GLuint , _uniformCount : GLsizei , _uniformIndices : [ * c ] const GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetActiveUniformsiv orelse @panic ( " glGetActiveUniformsiv was not bound. " ) ) ( _program , _uniformCount , _uniformIndices , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getActiveUniformName ( _program : GLuint , _uniformIndex : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _uniformName : [ * c ] GLchar ) void {
return ( function_pointers . glGetActiveUniformName orelse @panic ( " glGetActiveUniformName was not bound. " ) ) ( _program , _uniformIndex , _bufSize , _length , _uniformName ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getUniformBlockIndex ( _program : GLuint , _uniformBlockName : [ * c ] const GLchar ) GLuint {
return ( function_pointers . glGetUniformBlockIndex orelse @panic ( " glGetUniformBlockIndex was not bound. " ) ) ( _program , _uniformBlockName ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getActiveUniformBlockiv ( _program : GLuint , _uniformBlockIndex : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void {
return ( function_pointers . glGetActiveUniformBlockiv orelse @panic ( " glGetActiveUniformBlockiv was not bound. " ) ) ( _program , _uniformBlockIndex , _pname , _params ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn getActiveUniformBlockName ( _program : GLuint , _uniformBlockIndex : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _uniformBlockName : [ * c ] GLchar ) void {
return ( function_pointers . glGetActiveUniformBlockName orelse @panic ( " glGetActiveUniformBlockName was not bound. " ) ) ( _program , _uniformBlockIndex , _bufSize , _length , _uniformBlockName ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
pub fn uniformBlockBinding ( _program : GLuint , _uniformBlockIndex : GLuint , _uniformBlockBinding : GLuint ) void {
return ( function_pointers . glUniformBlockBinding orelse @panic ( " glUniformBlockBinding was not bound. " ) ) ( _program , _uniformBlockIndex , _uniformBlockBinding ) ;
2022-09-22 15:23:16 +00:00
}
2022-09-23 09:00:46 +00:00
// Extensions:
2022-09-22 15:23:16 +00:00
2022-09-23 09:00:46 +00:00
// Loader API:
pub fn load ( load_ctx : anytype , get_proc_address : fn ( @TypeOf ( load_ctx ) , [ : 0 ] const u8 ) ? * const anyopaque ) ! void {
var success = true ;
if ( get_proc_address ( load_ctx , " glCullFace " ) ) | proc | {
function_pointers . glCullFace = @ptrCast ( @TypeOf ( function_pointers . glCullFace ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCullFace not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFrontFace " ) ) | proc | {
function_pointers . glFrontFace = @ptrCast ( @TypeOf ( function_pointers . glFrontFace ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFrontFace not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glHint " ) ) | proc | {
function_pointers . glHint = @ptrCast ( @TypeOf ( function_pointers . glHint ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glHint not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glLineWidth " ) ) | proc | {
function_pointers . glLineWidth = @ptrCast ( @TypeOf ( function_pointers . glLineWidth ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glLineWidth not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPointSize " ) ) | proc | {
function_pointers . glPointSize = @ptrCast ( @TypeOf ( function_pointers . glPointSize ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPointSize not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPolygonMode " ) ) | proc | {
function_pointers . glPolygonMode = @ptrCast ( @TypeOf ( function_pointers . glPolygonMode ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPolygonMode not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glScissor " ) ) | proc | {
function_pointers . glScissor = @ptrCast ( @TypeOf ( function_pointers . glScissor ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glScissor not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexParameterf " ) ) | proc | {
function_pointers . glTexParameterf = @ptrCast ( @TypeOf ( function_pointers . glTexParameterf ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexParameterf not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexParameterfv " ) ) | proc | {
function_pointers . glTexParameterfv = @ptrCast ( @TypeOf ( function_pointers . glTexParameterfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexParameterfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexParameteri " ) ) | proc | {
function_pointers . glTexParameteri = @ptrCast ( @TypeOf ( function_pointers . glTexParameteri ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexParameteri not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexParameteriv " ) ) | proc | {
function_pointers . glTexParameteriv = @ptrCast ( @TypeOf ( function_pointers . glTexParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexImage1D " ) ) | proc | {
function_pointers . glTexImage1D = @ptrCast ( @TypeOf ( function_pointers . glTexImage1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexImage1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexImage2D " ) ) | proc | {
function_pointers . glTexImage2D = @ptrCast ( @TypeOf ( function_pointers . glTexImage2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexImage2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawBuffer " ) ) | proc | {
function_pointers . glDrawBuffer = @ptrCast ( @TypeOf ( function_pointers . glDrawBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClear " ) ) | proc | {
function_pointers . glClear = @ptrCast ( @TypeOf ( function_pointers . glClear ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClear not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearColor " ) ) | proc | {
function_pointers . glClearColor = @ptrCast ( @TypeOf ( function_pointers . glClearColor ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearColor not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearStencil " ) ) | proc | {
function_pointers . glClearStencil = @ptrCast ( @TypeOf ( function_pointers . glClearStencil ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearStencil not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearDepth " ) ) | proc | {
function_pointers . glClearDepth = @ptrCast ( @TypeOf ( function_pointers . glClearDepth ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearDepth not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glStencilMask " ) ) | proc | {
function_pointers . glStencilMask = @ptrCast ( @TypeOf ( function_pointers . glStencilMask ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glStencilMask not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glColorMask " ) ) | proc | {
function_pointers . glColorMask = @ptrCast ( @TypeOf ( function_pointers . glColorMask ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glColorMask not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDepthMask " ) ) | proc | {
function_pointers . glDepthMask = @ptrCast ( @TypeOf ( function_pointers . glDepthMask ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDepthMask not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDisable " ) ) | proc | {
function_pointers . glDisable = @ptrCast ( @TypeOf ( function_pointers . glDisable ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDisable not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glEnable " ) ) | proc | {
function_pointers . glEnable = @ptrCast ( @TypeOf ( function_pointers . glEnable ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glEnable not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFinish " ) ) | proc | {
function_pointers . glFinish = @ptrCast ( @TypeOf ( function_pointers . glFinish ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFinish not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFlush " ) ) | proc | {
function_pointers . glFlush = @ptrCast ( @TypeOf ( function_pointers . glFlush ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFlush not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBlendFunc " ) ) | proc | {
function_pointers . glBlendFunc = @ptrCast ( @TypeOf ( function_pointers . glBlendFunc ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBlendFunc not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glLogicOp " ) ) | proc | {
function_pointers . glLogicOp = @ptrCast ( @TypeOf ( function_pointers . glLogicOp ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glLogicOp not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glStencilFunc " ) ) | proc | {
function_pointers . glStencilFunc = @ptrCast ( @TypeOf ( function_pointers . glStencilFunc ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glStencilFunc not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glStencilOp " ) ) | proc | {
function_pointers . glStencilOp = @ptrCast ( @TypeOf ( function_pointers . glStencilOp ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glStencilOp not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDepthFunc " ) ) | proc | {
function_pointers . glDepthFunc = @ptrCast ( @TypeOf ( function_pointers . glDepthFunc ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDepthFunc not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPixelStoref " ) ) | proc | {
function_pointers . glPixelStoref = @ptrCast ( @TypeOf ( function_pointers . glPixelStoref ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPixelStoref not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPixelStorei " ) ) | proc | {
function_pointers . glPixelStorei = @ptrCast ( @TypeOf ( function_pointers . glPixelStorei ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPixelStorei not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glReadBuffer " ) ) | proc | {
function_pointers . glReadBuffer = @ptrCast ( @TypeOf ( function_pointers . glReadBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glReadBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glReadPixels " ) ) | proc | {
function_pointers . glReadPixels = @ptrCast ( @TypeOf ( function_pointers . glReadPixels ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glReadPixels not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetBooleanv " ) ) | proc | {
function_pointers . glGetBooleanv = @ptrCast ( @TypeOf ( function_pointers . glGetBooleanv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetBooleanv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetDoublev " ) ) | proc | {
function_pointers . glGetDoublev = @ptrCast ( @TypeOf ( function_pointers . glGetDoublev ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetDoublev not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetError " ) ) | proc | {
function_pointers . glGetError = @ptrCast ( @TypeOf ( function_pointers . glGetError ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetError not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetFloatv " ) ) | proc | {
function_pointers . glGetFloatv = @ptrCast ( @TypeOf ( function_pointers . glGetFloatv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetFloatv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetIntegerv " ) ) | proc | {
function_pointers . glGetIntegerv = @ptrCast ( @TypeOf ( function_pointers . glGetIntegerv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetIntegerv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetString " ) ) | proc | {
function_pointers . glGetString = @ptrCast ( @TypeOf ( function_pointers . glGetString ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetString not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexImage " ) ) | proc | {
function_pointers . glGetTexImage = @ptrCast ( @TypeOf ( function_pointers . glGetTexImage ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexImage not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexParameterfv " ) ) | proc | {
function_pointers . glGetTexParameterfv = @ptrCast ( @TypeOf ( function_pointers . glGetTexParameterfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexParameterfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexParameteriv " ) ) | proc | {
function_pointers . glGetTexParameteriv = @ptrCast ( @TypeOf ( function_pointers . glGetTexParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexLevelParameterfv " ) ) | proc | {
function_pointers . glGetTexLevelParameterfv = @ptrCast ( @TypeOf ( function_pointers . glGetTexLevelParameterfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexLevelParameterfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexLevelParameteriv " ) ) | proc | {
function_pointers . glGetTexLevelParameteriv = @ptrCast ( @TypeOf ( function_pointers . glGetTexLevelParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexLevelParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsEnabled " ) ) | proc | {
function_pointers . glIsEnabled = @ptrCast ( @TypeOf ( function_pointers . glIsEnabled ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsEnabled not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDepthRange " ) ) | proc | {
function_pointers . glDepthRange = @ptrCast ( @TypeOf ( function_pointers . glDepthRange ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDepthRange not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glViewport " ) ) | proc | {
function_pointers . glViewport = @ptrCast ( @TypeOf ( function_pointers . glViewport ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glViewport not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawArrays " ) ) | proc | {
function_pointers . glDrawArrays = @ptrCast ( @TypeOf ( function_pointers . glDrawArrays ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawArrays not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawElements " ) ) | proc | {
function_pointers . glDrawElements = @ptrCast ( @TypeOf ( function_pointers . glDrawElements ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawElements not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPolygonOffset " ) ) | proc | {
function_pointers . glPolygonOffset = @ptrCast ( @TypeOf ( function_pointers . glPolygonOffset ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPolygonOffset not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCopyTexImage1D " ) ) | proc | {
function_pointers . glCopyTexImage1D = @ptrCast ( @TypeOf ( function_pointers . glCopyTexImage1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCopyTexImage1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCopyTexImage2D " ) ) | proc | {
function_pointers . glCopyTexImage2D = @ptrCast ( @TypeOf ( function_pointers . glCopyTexImage2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCopyTexImage2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCopyTexSubImage1D " ) ) | proc | {
function_pointers . glCopyTexSubImage1D = @ptrCast ( @TypeOf ( function_pointers . glCopyTexSubImage1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCopyTexSubImage1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCopyTexSubImage2D " ) ) | proc | {
function_pointers . glCopyTexSubImage2D = @ptrCast ( @TypeOf ( function_pointers . glCopyTexSubImage2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCopyTexSubImage2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexSubImage1D " ) ) | proc | {
function_pointers . glTexSubImage1D = @ptrCast ( @TypeOf ( function_pointers . glTexSubImage1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexSubImage1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexSubImage2D " ) ) | proc | {
function_pointers . glTexSubImage2D = @ptrCast ( @TypeOf ( function_pointers . glTexSubImage2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexSubImage2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindTexture " ) ) | proc | {
function_pointers . glBindTexture = @ptrCast ( @TypeOf ( function_pointers . glBindTexture ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindTexture not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteTextures " ) ) | proc | {
function_pointers . glDeleteTextures = @ptrCast ( @TypeOf ( function_pointers . glDeleteTextures ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteTextures not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenTextures " ) ) | proc | {
function_pointers . glGenTextures = @ptrCast ( @TypeOf ( function_pointers . glGenTextures ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenTextures not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsTexture " ) ) | proc | {
function_pointers . glIsTexture = @ptrCast ( @TypeOf ( function_pointers . glIsTexture ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsTexture not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawRangeElements " ) ) | proc | {
function_pointers . glDrawRangeElements = @ptrCast ( @TypeOf ( function_pointers . glDrawRangeElements ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawRangeElements not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexImage3D " ) ) | proc | {
function_pointers . glTexImage3D = @ptrCast ( @TypeOf ( function_pointers . glTexImage3D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexImage3D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexSubImage3D " ) ) | proc | {
function_pointers . glTexSubImage3D = @ptrCast ( @TypeOf ( function_pointers . glTexSubImage3D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexSubImage3D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCopyTexSubImage3D " ) ) | proc | {
function_pointers . glCopyTexSubImage3D = @ptrCast ( @TypeOf ( function_pointers . glCopyTexSubImage3D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCopyTexSubImage3D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glActiveTexture " ) ) | proc | {
function_pointers . glActiveTexture = @ptrCast ( @TypeOf ( function_pointers . glActiveTexture ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glActiveTexture not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSampleCoverage " ) ) | proc | {
function_pointers . glSampleCoverage = @ptrCast ( @TypeOf ( function_pointers . glSampleCoverage ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSampleCoverage not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompressedTexImage3D " ) ) | proc | {
function_pointers . glCompressedTexImage3D = @ptrCast ( @TypeOf ( function_pointers . glCompressedTexImage3D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompressedTexImage3D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompressedTexImage2D " ) ) | proc | {
function_pointers . glCompressedTexImage2D = @ptrCast ( @TypeOf ( function_pointers . glCompressedTexImage2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompressedTexImage2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompressedTexImage1D " ) ) | proc | {
function_pointers . glCompressedTexImage1D = @ptrCast ( @TypeOf ( function_pointers . glCompressedTexImage1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompressedTexImage1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompressedTexSubImage3D " ) ) | proc | {
function_pointers . glCompressedTexSubImage3D = @ptrCast ( @TypeOf ( function_pointers . glCompressedTexSubImage3D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompressedTexSubImage3D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompressedTexSubImage2D " ) ) | proc | {
function_pointers . glCompressedTexSubImage2D = @ptrCast ( @TypeOf ( function_pointers . glCompressedTexSubImage2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompressedTexSubImage2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompressedTexSubImage1D " ) ) | proc | {
function_pointers . glCompressedTexSubImage1D = @ptrCast ( @TypeOf ( function_pointers . glCompressedTexSubImage1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompressedTexSubImage1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetCompressedTexImage " ) ) | proc | {
function_pointers . glGetCompressedTexImage = @ptrCast ( @TypeOf ( function_pointers . glGetCompressedTexImage ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetCompressedTexImage not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP4uiv " ) ) | proc | {
function_pointers . glVertexAttribP4uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP4uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP4uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP4ui " ) ) | proc | {
function_pointers . glVertexAttribP4ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP4ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP4ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP3uiv " ) ) | proc | {
function_pointers . glVertexAttribP3uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP3uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP3uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP3ui " ) ) | proc | {
function_pointers . glVertexAttribP3ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP3ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP3ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP2uiv " ) ) | proc | {
function_pointers . glVertexAttribP2uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP2uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP2uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP2ui " ) ) | proc | {
function_pointers . glVertexAttribP2ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP2ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP2ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP1uiv " ) ) | proc | {
function_pointers . glVertexAttribP1uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP1uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP1uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribP1ui " ) ) | proc | {
function_pointers . glVertexAttribP1ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribP1ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribP1ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribDivisor " ) ) | proc | {
function_pointers . glVertexAttribDivisor = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribDivisor ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribDivisor not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetQueryObjectui64v " ) ) | proc | {
function_pointers . glGetQueryObjectui64v = @ptrCast ( @TypeOf ( function_pointers . glGetQueryObjectui64v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetQueryObjectui64v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetQueryObjecti64v " ) ) | proc | {
function_pointers . glGetQueryObjecti64v = @ptrCast ( @TypeOf ( function_pointers . glGetQueryObjecti64v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetQueryObjecti64v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glQueryCounter " ) ) | proc | {
function_pointers . glQueryCounter = @ptrCast ( @TypeOf ( function_pointers . glQueryCounter ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glQueryCounter not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetSamplerParameterIuiv " ) ) | proc | {
function_pointers . glGetSamplerParameterIuiv = @ptrCast ( @TypeOf ( function_pointers . glGetSamplerParameterIuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetSamplerParameterIuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetSamplerParameterfv " ) ) | proc | {
function_pointers . glGetSamplerParameterfv = @ptrCast ( @TypeOf ( function_pointers . glGetSamplerParameterfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetSamplerParameterfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetSamplerParameterIiv " ) ) | proc | {
function_pointers . glGetSamplerParameterIiv = @ptrCast ( @TypeOf ( function_pointers . glGetSamplerParameterIiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetSamplerParameterIiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetSamplerParameteriv " ) ) | proc | {
function_pointers . glGetSamplerParameteriv = @ptrCast ( @TypeOf ( function_pointers . glGetSamplerParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetSamplerParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSamplerParameterIuiv " ) ) | proc | {
function_pointers . glSamplerParameterIuiv = @ptrCast ( @TypeOf ( function_pointers . glSamplerParameterIuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSamplerParameterIuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSamplerParameterIiv " ) ) | proc | {
function_pointers . glSamplerParameterIiv = @ptrCast ( @TypeOf ( function_pointers . glSamplerParameterIiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSamplerParameterIiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSamplerParameterfv " ) ) | proc | {
function_pointers . glSamplerParameterfv = @ptrCast ( @TypeOf ( function_pointers . glSamplerParameterfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSamplerParameterfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSamplerParameterf " ) ) | proc | {
function_pointers . glSamplerParameterf = @ptrCast ( @TypeOf ( function_pointers . glSamplerParameterf ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSamplerParameterf not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSamplerParameteriv " ) ) | proc | {
function_pointers . glSamplerParameteriv = @ptrCast ( @TypeOf ( function_pointers . glSamplerParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSamplerParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSamplerParameteri " ) ) | proc | {
function_pointers . glSamplerParameteri = @ptrCast ( @TypeOf ( function_pointers . glSamplerParameteri ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSamplerParameteri not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindSampler " ) ) | proc | {
function_pointers . glBindSampler = @ptrCast ( @TypeOf ( function_pointers . glBindSampler ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindSampler not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsSampler " ) ) | proc | {
function_pointers . glIsSampler = @ptrCast ( @TypeOf ( function_pointers . glIsSampler ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsSampler not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteSamplers " ) ) | proc | {
function_pointers . glDeleteSamplers = @ptrCast ( @TypeOf ( function_pointers . glDeleteSamplers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteSamplers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenSamplers " ) ) | proc | {
function_pointers . glGenSamplers = @ptrCast ( @TypeOf ( function_pointers . glGenSamplers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenSamplers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetFragDataIndex " ) ) | proc | {
function_pointers . glGetFragDataIndex = @ptrCast ( @TypeOf ( function_pointers . glGetFragDataIndex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetFragDataIndex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindFragDataLocationIndexed " ) ) | proc | {
function_pointers . glBindFragDataLocationIndexed = @ptrCast ( @TypeOf ( function_pointers . glBindFragDataLocationIndexed ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindFragDataLocationIndexed not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glSampleMaski " ) ) | proc | {
function_pointers . glSampleMaski = @ptrCast ( @TypeOf ( function_pointers . glSampleMaski ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glSampleMaski not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetMultisamplefv " ) ) | proc | {
function_pointers . glGetMultisamplefv = @ptrCast ( @TypeOf ( function_pointers . glGetMultisamplefv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetMultisamplefv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexImage3DMultisample " ) ) | proc | {
function_pointers . glTexImage3DMultisample = @ptrCast ( @TypeOf ( function_pointers . glTexImage3DMultisample ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexImage3DMultisample not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexImage2DMultisample " ) ) | proc | {
function_pointers . glTexImage2DMultisample = @ptrCast ( @TypeOf ( function_pointers . glTexImage2DMultisample ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexImage2DMultisample not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFramebufferTexture " ) ) | proc | {
function_pointers . glFramebufferTexture = @ptrCast ( @TypeOf ( function_pointers . glFramebufferTexture ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFramebufferTexture not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetBufferParameteri64v " ) ) | proc | {
function_pointers . glGetBufferParameteri64v = @ptrCast ( @TypeOf ( function_pointers . glGetBufferParameteri64v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetBufferParameteri64v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBlendFuncSeparate " ) ) | proc | {
function_pointers . glBlendFuncSeparate = @ptrCast ( @TypeOf ( function_pointers . glBlendFuncSeparate ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBlendFuncSeparate not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glMultiDrawArrays " ) ) | proc | {
function_pointers . glMultiDrawArrays = @ptrCast ( @TypeOf ( function_pointers . glMultiDrawArrays ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glMultiDrawArrays not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glMultiDrawElements " ) ) | proc | {
function_pointers . glMultiDrawElements = @ptrCast ( @TypeOf ( function_pointers . glMultiDrawElements ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glMultiDrawElements not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPointParameterf " ) ) | proc | {
function_pointers . glPointParameterf = @ptrCast ( @TypeOf ( function_pointers . glPointParameterf ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPointParameterf not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPointParameterfv " ) ) | proc | {
function_pointers . glPointParameterfv = @ptrCast ( @TypeOf ( function_pointers . glPointParameterfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPointParameterfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPointParameteri " ) ) | proc | {
function_pointers . glPointParameteri = @ptrCast ( @TypeOf ( function_pointers . glPointParameteri ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPointParameteri not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPointParameteriv " ) ) | proc | {
function_pointers . glPointParameteriv = @ptrCast ( @TypeOf ( function_pointers . glPointParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPointParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetInteger64i_v " ) ) | proc | {
function_pointers . glGetInteger64i_v = @ptrCast ( @TypeOf ( function_pointers . glGetInteger64i_v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetInteger64i_v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetSynciv " ) ) | proc | {
function_pointers . glGetSynciv = @ptrCast ( @TypeOf ( function_pointers . glGetSynciv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetSynciv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetInteger64v " ) ) | proc | {
function_pointers . glGetInteger64v = @ptrCast ( @TypeOf ( function_pointers . glGetInteger64v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetInteger64v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glWaitSync " ) ) | proc | {
function_pointers . glWaitSync = @ptrCast ( @TypeOf ( function_pointers . glWaitSync ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glWaitSync not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClientWaitSync " ) ) | proc | {
function_pointers . glClientWaitSync = @ptrCast ( @TypeOf ( function_pointers . glClientWaitSync ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClientWaitSync not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteSync " ) ) | proc | {
function_pointers . glDeleteSync = @ptrCast ( @TypeOf ( function_pointers . glDeleteSync ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteSync not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsSync " ) ) | proc | {
function_pointers . glIsSync = @ptrCast ( @TypeOf ( function_pointers . glIsSync ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsSync not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFenceSync " ) ) | proc | {
function_pointers . glFenceSync = @ptrCast ( @TypeOf ( function_pointers . glFenceSync ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFenceSync not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBlendColor " ) ) | proc | {
function_pointers . glBlendColor = @ptrCast ( @TypeOf ( function_pointers . glBlendColor ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBlendColor not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBlendEquation " ) ) | proc | {
function_pointers . glBlendEquation = @ptrCast ( @TypeOf ( function_pointers . glBlendEquation ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBlendEquation not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glProvokingVertex " ) ) | proc | {
function_pointers . glProvokingVertex = @ptrCast ( @TypeOf ( function_pointers . glProvokingVertex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glProvokingVertex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glMultiDrawElementsBaseVertex " ) ) | proc | {
function_pointers . glMultiDrawElementsBaseVertex = @ptrCast ( @TypeOf ( function_pointers . glMultiDrawElementsBaseVertex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glMultiDrawElementsBaseVertex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawElementsInstancedBaseVertex " ) ) | proc | {
function_pointers . glDrawElementsInstancedBaseVertex = @ptrCast ( @TypeOf ( function_pointers . glDrawElementsInstancedBaseVertex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawElementsInstancedBaseVertex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawRangeElementsBaseVertex " ) ) | proc | {
function_pointers . glDrawRangeElementsBaseVertex = @ptrCast ( @TypeOf ( function_pointers . glDrawRangeElementsBaseVertex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawRangeElementsBaseVertex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawElementsBaseVertex " ) ) | proc | {
function_pointers . glDrawElementsBaseVertex = @ptrCast ( @TypeOf ( function_pointers . glDrawElementsBaseVertex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawElementsBaseVertex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenQueries " ) ) | proc | {
function_pointers . glGenQueries = @ptrCast ( @TypeOf ( function_pointers . glGenQueries ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenQueries not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteQueries " ) ) | proc | {
function_pointers . glDeleteQueries = @ptrCast ( @TypeOf ( function_pointers . glDeleteQueries ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteQueries not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsQuery " ) ) | proc | {
function_pointers . glIsQuery = @ptrCast ( @TypeOf ( function_pointers . glIsQuery ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsQuery not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBeginQuery " ) ) | proc | {
function_pointers . glBeginQuery = @ptrCast ( @TypeOf ( function_pointers . glBeginQuery ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBeginQuery not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glEndQuery " ) ) | proc | {
function_pointers . glEndQuery = @ptrCast ( @TypeOf ( function_pointers . glEndQuery ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glEndQuery not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetQueryiv " ) ) | proc | {
function_pointers . glGetQueryiv = @ptrCast ( @TypeOf ( function_pointers . glGetQueryiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetQueryiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetQueryObjectiv " ) ) | proc | {
function_pointers . glGetQueryObjectiv = @ptrCast ( @TypeOf ( function_pointers . glGetQueryObjectiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetQueryObjectiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetQueryObjectuiv " ) ) | proc | {
function_pointers . glGetQueryObjectuiv = @ptrCast ( @TypeOf ( function_pointers . glGetQueryObjectuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetQueryObjectuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindBuffer " ) ) | proc | {
function_pointers . glBindBuffer = @ptrCast ( @TypeOf ( function_pointers . glBindBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteBuffers " ) ) | proc | {
function_pointers . glDeleteBuffers = @ptrCast ( @TypeOf ( function_pointers . glDeleteBuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteBuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenBuffers " ) ) | proc | {
function_pointers . glGenBuffers = @ptrCast ( @TypeOf ( function_pointers . glGenBuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenBuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsBuffer " ) ) | proc | {
function_pointers . glIsBuffer = @ptrCast ( @TypeOf ( function_pointers . glIsBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBufferData " ) ) | proc | {
function_pointers . glBufferData = @ptrCast ( @TypeOf ( function_pointers . glBufferData ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBufferData not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBufferSubData " ) ) | proc | {
function_pointers . glBufferSubData = @ptrCast ( @TypeOf ( function_pointers . glBufferSubData ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBufferSubData not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetBufferSubData " ) ) | proc | {
function_pointers . glGetBufferSubData = @ptrCast ( @TypeOf ( function_pointers . glGetBufferSubData ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetBufferSubData not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glMapBuffer " ) ) | proc | {
function_pointers . glMapBuffer = @ptrCast ( @TypeOf ( function_pointers . glMapBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glMapBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUnmapBuffer " ) ) | proc | {
function_pointers . glUnmapBuffer = @ptrCast ( @TypeOf ( function_pointers . glUnmapBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUnmapBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetBufferParameteriv " ) ) | proc | {
function_pointers . glGetBufferParameteriv = @ptrCast ( @TypeOf ( function_pointers . glGetBufferParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetBufferParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetBufferPointerv " ) ) | proc | {
function_pointers . glGetBufferPointerv = @ptrCast ( @TypeOf ( function_pointers . glGetBufferPointerv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetBufferPointerv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBlendEquationSeparate " ) ) | proc | {
function_pointers . glBlendEquationSeparate = @ptrCast ( @TypeOf ( function_pointers . glBlendEquationSeparate ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBlendEquationSeparate not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawBuffers " ) ) | proc | {
function_pointers . glDrawBuffers = @ptrCast ( @TypeOf ( function_pointers . glDrawBuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawBuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glStencilOpSeparate " ) ) | proc | {
function_pointers . glStencilOpSeparate = @ptrCast ( @TypeOf ( function_pointers . glStencilOpSeparate ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glStencilOpSeparate not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glStencilFuncSeparate " ) ) | proc | {
function_pointers . glStencilFuncSeparate = @ptrCast ( @TypeOf ( function_pointers . glStencilFuncSeparate ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glStencilFuncSeparate not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glStencilMaskSeparate " ) ) | proc | {
function_pointers . glStencilMaskSeparate = @ptrCast ( @TypeOf ( function_pointers . glStencilMaskSeparate ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glStencilMaskSeparate not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glAttachShader " ) ) | proc | {
function_pointers . glAttachShader = @ptrCast ( @TypeOf ( function_pointers . glAttachShader ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glAttachShader not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindAttribLocation " ) ) | proc | {
function_pointers . glBindAttribLocation = @ptrCast ( @TypeOf ( function_pointers . glBindAttribLocation ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindAttribLocation not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCompileShader " ) ) | proc | {
function_pointers . glCompileShader = @ptrCast ( @TypeOf ( function_pointers . glCompileShader ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCompileShader not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCreateProgram " ) ) | proc | {
function_pointers . glCreateProgram = @ptrCast ( @TypeOf ( function_pointers . glCreateProgram ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCreateProgram not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCreateShader " ) ) | proc | {
function_pointers . glCreateShader = @ptrCast ( @TypeOf ( function_pointers . glCreateShader ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCreateShader not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteProgram " ) ) | proc | {
function_pointers . glDeleteProgram = @ptrCast ( @TypeOf ( function_pointers . glDeleteProgram ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteProgram not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteShader " ) ) | proc | {
function_pointers . glDeleteShader = @ptrCast ( @TypeOf ( function_pointers . glDeleteShader ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteShader not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDetachShader " ) ) | proc | {
function_pointers . glDetachShader = @ptrCast ( @TypeOf ( function_pointers . glDetachShader ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDetachShader not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDisableVertexAttribArray " ) ) | proc | {
function_pointers . glDisableVertexAttribArray = @ptrCast ( @TypeOf ( function_pointers . glDisableVertexAttribArray ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDisableVertexAttribArray not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glEnableVertexAttribArray " ) ) | proc | {
function_pointers . glEnableVertexAttribArray = @ptrCast ( @TypeOf ( function_pointers . glEnableVertexAttribArray ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glEnableVertexAttribArray not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetActiveAttrib " ) ) | proc | {
function_pointers . glGetActiveAttrib = @ptrCast ( @TypeOf ( function_pointers . glGetActiveAttrib ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetActiveAttrib not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetActiveUniform " ) ) | proc | {
function_pointers . glGetActiveUniform = @ptrCast ( @TypeOf ( function_pointers . glGetActiveUniform ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetActiveUniform not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetAttachedShaders " ) ) | proc | {
function_pointers . glGetAttachedShaders = @ptrCast ( @TypeOf ( function_pointers . glGetAttachedShaders ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetAttachedShaders not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetAttribLocation " ) ) | proc | {
function_pointers . glGetAttribLocation = @ptrCast ( @TypeOf ( function_pointers . glGetAttribLocation ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetAttribLocation not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetProgramiv " ) ) | proc | {
function_pointers . glGetProgramiv = @ptrCast ( @TypeOf ( function_pointers . glGetProgramiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetProgramiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetProgramInfoLog " ) ) | proc | {
function_pointers . glGetProgramInfoLog = @ptrCast ( @TypeOf ( function_pointers . glGetProgramInfoLog ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetProgramInfoLog not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetShaderiv " ) ) | proc | {
function_pointers . glGetShaderiv = @ptrCast ( @TypeOf ( function_pointers . glGetShaderiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetShaderiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetShaderInfoLog " ) ) | proc | {
function_pointers . glGetShaderInfoLog = @ptrCast ( @TypeOf ( function_pointers . glGetShaderInfoLog ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetShaderInfoLog not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetShaderSource " ) ) | proc | {
function_pointers . glGetShaderSource = @ptrCast ( @TypeOf ( function_pointers . glGetShaderSource ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetShaderSource not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetUniformLocation " ) ) | proc | {
function_pointers . glGetUniformLocation = @ptrCast ( @TypeOf ( function_pointers . glGetUniformLocation ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetUniformLocation not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetUniformfv " ) ) | proc | {
function_pointers . glGetUniformfv = @ptrCast ( @TypeOf ( function_pointers . glGetUniformfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetUniformfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetUniformiv " ) ) | proc | {
function_pointers . glGetUniformiv = @ptrCast ( @TypeOf ( function_pointers . glGetUniformiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetUniformiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetVertexAttribdv " ) ) | proc | {
function_pointers . glGetVertexAttribdv = @ptrCast ( @TypeOf ( function_pointers . glGetVertexAttribdv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetVertexAttribdv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetVertexAttribfv " ) ) | proc | {
function_pointers . glGetVertexAttribfv = @ptrCast ( @TypeOf ( function_pointers . glGetVertexAttribfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetVertexAttribfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetVertexAttribiv " ) ) | proc | {
function_pointers . glGetVertexAttribiv = @ptrCast ( @TypeOf ( function_pointers . glGetVertexAttribiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetVertexAttribiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetVertexAttribPointerv " ) ) | proc | {
function_pointers . glGetVertexAttribPointerv = @ptrCast ( @TypeOf ( function_pointers . glGetVertexAttribPointerv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetVertexAttribPointerv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsProgram " ) ) | proc | {
function_pointers . glIsProgram = @ptrCast ( @TypeOf ( function_pointers . glIsProgram ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsProgram not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsShader " ) ) | proc | {
function_pointers . glIsShader = @ptrCast ( @TypeOf ( function_pointers . glIsShader ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsShader not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glLinkProgram " ) ) | proc | {
function_pointers . glLinkProgram = @ptrCast ( @TypeOf ( function_pointers . glLinkProgram ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glLinkProgram not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glShaderSource " ) ) | proc | {
function_pointers . glShaderSource = @ptrCast ( @TypeOf ( function_pointers . glShaderSource ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glShaderSource not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUseProgram " ) ) | proc | {
function_pointers . glUseProgram = @ptrCast ( @TypeOf ( function_pointers . glUseProgram ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUseProgram not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform1f " ) ) | proc | {
function_pointers . glUniform1f = @ptrCast ( @TypeOf ( function_pointers . glUniform1f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform1f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform2f " ) ) | proc | {
function_pointers . glUniform2f = @ptrCast ( @TypeOf ( function_pointers . glUniform2f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform2f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform3f " ) ) | proc | {
function_pointers . glUniform3f = @ptrCast ( @TypeOf ( function_pointers . glUniform3f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform3f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform4f " ) ) | proc | {
function_pointers . glUniform4f = @ptrCast ( @TypeOf ( function_pointers . glUniform4f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform4f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform1i " ) ) | proc | {
function_pointers . glUniform1i = @ptrCast ( @TypeOf ( function_pointers . glUniform1i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform1i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform2i " ) ) | proc | {
function_pointers . glUniform2i = @ptrCast ( @TypeOf ( function_pointers . glUniform2i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform2i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform3i " ) ) | proc | {
function_pointers . glUniform3i = @ptrCast ( @TypeOf ( function_pointers . glUniform3i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform3i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform4i " ) ) | proc | {
function_pointers . glUniform4i = @ptrCast ( @TypeOf ( function_pointers . glUniform4i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform4i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform1fv " ) ) | proc | {
function_pointers . glUniform1fv = @ptrCast ( @TypeOf ( function_pointers . glUniform1fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform1fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform2fv " ) ) | proc | {
function_pointers . glUniform2fv = @ptrCast ( @TypeOf ( function_pointers . glUniform2fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform2fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform3fv " ) ) | proc | {
function_pointers . glUniform3fv = @ptrCast ( @TypeOf ( function_pointers . glUniform3fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform3fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform4fv " ) ) | proc | {
function_pointers . glUniform4fv = @ptrCast ( @TypeOf ( function_pointers . glUniform4fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform4fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform1iv " ) ) | proc | {
function_pointers . glUniform1iv = @ptrCast ( @TypeOf ( function_pointers . glUniform1iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform1iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform2iv " ) ) | proc | {
function_pointers . glUniform2iv = @ptrCast ( @TypeOf ( function_pointers . glUniform2iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform2iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform3iv " ) ) | proc | {
function_pointers . glUniform3iv = @ptrCast ( @TypeOf ( function_pointers . glUniform3iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform3iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform4iv " ) ) | proc | {
function_pointers . glUniform4iv = @ptrCast ( @TypeOf ( function_pointers . glUniform4iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform4iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix2fv " ) ) | proc | {
function_pointers . glUniformMatrix2fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix2fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix2fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix3fv " ) ) | proc | {
function_pointers . glUniformMatrix3fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix3fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix3fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix4fv " ) ) | proc | {
function_pointers . glUniformMatrix4fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix4fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix4fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glValidateProgram " ) ) | proc | {
function_pointers . glValidateProgram = @ptrCast ( @TypeOf ( function_pointers . glValidateProgram ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glValidateProgram not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib1d " ) ) | proc | {
function_pointers . glVertexAttrib1d = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib1d ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib1d not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib1dv " ) ) | proc | {
function_pointers . glVertexAttrib1dv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib1dv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib1dv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib1f " ) ) | proc | {
function_pointers . glVertexAttrib1f = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib1f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib1f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib1fv " ) ) | proc | {
function_pointers . glVertexAttrib1fv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib1fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib1fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib1s " ) ) | proc | {
function_pointers . glVertexAttrib1s = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib1s ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib1s not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib1sv " ) ) | proc | {
function_pointers . glVertexAttrib1sv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib1sv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib1sv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib2d " ) ) | proc | {
function_pointers . glVertexAttrib2d = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib2d ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib2d not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib2dv " ) ) | proc | {
function_pointers . glVertexAttrib2dv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib2dv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib2dv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib2f " ) ) | proc | {
function_pointers . glVertexAttrib2f = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib2f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib2f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib2fv " ) ) | proc | {
function_pointers . glVertexAttrib2fv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib2fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib2fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib2s " ) ) | proc | {
function_pointers . glVertexAttrib2s = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib2s ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib2s not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib2sv " ) ) | proc | {
function_pointers . glVertexAttrib2sv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib2sv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib2sv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib3d " ) ) | proc | {
function_pointers . glVertexAttrib3d = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib3d ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib3d not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib3dv " ) ) | proc | {
function_pointers . glVertexAttrib3dv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib3dv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib3dv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib3f " ) ) | proc | {
function_pointers . glVertexAttrib3f = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib3f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib3f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib3fv " ) ) | proc | {
function_pointers . glVertexAttrib3fv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib3fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib3fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib3s " ) ) | proc | {
function_pointers . glVertexAttrib3s = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib3s ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib3s not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib3sv " ) ) | proc | {
function_pointers . glVertexAttrib3sv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib3sv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib3sv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Nbv " ) ) | proc | {
function_pointers . glVertexAttrib4Nbv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Nbv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Nbv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Niv " ) ) | proc | {
function_pointers . glVertexAttrib4Niv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Niv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Niv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Nsv " ) ) | proc | {
function_pointers . glVertexAttrib4Nsv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Nsv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Nsv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Nub " ) ) | proc | {
function_pointers . glVertexAttrib4Nub = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Nub ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Nub not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Nubv " ) ) | proc | {
function_pointers . glVertexAttrib4Nubv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Nubv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Nubv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Nuiv " ) ) | proc | {
function_pointers . glVertexAttrib4Nuiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Nuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Nuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4Nusv " ) ) | proc | {
function_pointers . glVertexAttrib4Nusv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4Nusv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4Nusv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4bv " ) ) | proc | {
function_pointers . glVertexAttrib4bv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4bv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4bv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4d " ) ) | proc | {
function_pointers . glVertexAttrib4d = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4d ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4d not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4dv " ) ) | proc | {
function_pointers . glVertexAttrib4dv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4dv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4dv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4f " ) ) | proc | {
function_pointers . glVertexAttrib4f = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4f ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4f not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4fv " ) ) | proc | {
function_pointers . glVertexAttrib4fv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4iv " ) ) | proc | {
function_pointers . glVertexAttrib4iv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4s " ) ) | proc | {
function_pointers . glVertexAttrib4s = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4s ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4s not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4sv " ) ) | proc | {
function_pointers . glVertexAttrib4sv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4sv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4sv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4ubv " ) ) | proc | {
function_pointers . glVertexAttrib4ubv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4ubv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4ubv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4uiv " ) ) | proc | {
function_pointers . glVertexAttrib4uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttrib4usv " ) ) | proc | {
function_pointers . glVertexAttrib4usv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttrib4usv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttrib4usv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribPointer " ) ) | proc | {
function_pointers . glVertexAttribPointer = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribPointer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribPointer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix2x3fv " ) ) | proc | {
function_pointers . glUniformMatrix2x3fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix2x3fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix2x3fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix3x2fv " ) ) | proc | {
function_pointers . glUniformMatrix3x2fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix3x2fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix3x2fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix2x4fv " ) ) | proc | {
function_pointers . glUniformMatrix2x4fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix2x4fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix2x4fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix4x2fv " ) ) | proc | {
function_pointers . glUniformMatrix4x2fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix4x2fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix4x2fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix3x4fv " ) ) | proc | {
function_pointers . glUniformMatrix3x4fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix3x4fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix3x4fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformMatrix4x3fv " ) ) | proc | {
function_pointers . glUniformMatrix4x3fv = @ptrCast ( @TypeOf ( function_pointers . glUniformMatrix4x3fv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformMatrix4x3fv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glColorMaski " ) ) | proc | {
function_pointers . glColorMaski = @ptrCast ( @TypeOf ( function_pointers . glColorMaski ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glColorMaski not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetBooleani_v " ) ) | proc | {
function_pointers . glGetBooleani_v = @ptrCast ( @TypeOf ( function_pointers . glGetBooleani_v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetBooleani_v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetIntegeri_v " ) ) | proc | {
function_pointers . glGetIntegeri_v = @ptrCast ( @TypeOf ( function_pointers . glGetIntegeri_v ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetIntegeri_v not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glEnablei " ) ) | proc | {
function_pointers . glEnablei = @ptrCast ( @TypeOf ( function_pointers . glEnablei ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glEnablei not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDisablei " ) ) | proc | {
function_pointers . glDisablei = @ptrCast ( @TypeOf ( function_pointers . glDisablei ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDisablei not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsEnabledi " ) ) | proc | {
function_pointers . glIsEnabledi = @ptrCast ( @TypeOf ( function_pointers . glIsEnabledi ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsEnabledi not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBeginTransformFeedback " ) ) | proc | {
function_pointers . glBeginTransformFeedback = @ptrCast ( @TypeOf ( function_pointers . glBeginTransformFeedback ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBeginTransformFeedback not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glEndTransformFeedback " ) ) | proc | {
function_pointers . glEndTransformFeedback = @ptrCast ( @TypeOf ( function_pointers . glEndTransformFeedback ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glEndTransformFeedback not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindBufferRange " ) ) | proc | {
function_pointers . glBindBufferRange = @ptrCast ( @TypeOf ( function_pointers . glBindBufferRange ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindBufferRange not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindBufferBase " ) ) | proc | {
function_pointers . glBindBufferBase = @ptrCast ( @TypeOf ( function_pointers . glBindBufferBase ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindBufferBase not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTransformFeedbackVaryings " ) ) | proc | {
function_pointers . glTransformFeedbackVaryings = @ptrCast ( @TypeOf ( function_pointers . glTransformFeedbackVaryings ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTransformFeedbackVaryings not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTransformFeedbackVarying " ) ) | proc | {
function_pointers . glGetTransformFeedbackVarying = @ptrCast ( @TypeOf ( function_pointers . glGetTransformFeedbackVarying ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTransformFeedbackVarying not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClampColor " ) ) | proc | {
function_pointers . glClampColor = @ptrCast ( @TypeOf ( function_pointers . glClampColor ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClampColor not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBeginConditionalRender " ) ) | proc | {
function_pointers . glBeginConditionalRender = @ptrCast ( @TypeOf ( function_pointers . glBeginConditionalRender ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBeginConditionalRender not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glEndConditionalRender " ) ) | proc | {
function_pointers . glEndConditionalRender = @ptrCast ( @TypeOf ( function_pointers . glEndConditionalRender ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glEndConditionalRender not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribIPointer " ) ) | proc | {
function_pointers . glVertexAttribIPointer = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribIPointer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribIPointer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetVertexAttribIiv " ) ) | proc | {
function_pointers . glGetVertexAttribIiv = @ptrCast ( @TypeOf ( function_pointers . glGetVertexAttribIiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetVertexAttribIiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetVertexAttribIuiv " ) ) | proc | {
function_pointers . glGetVertexAttribIuiv = @ptrCast ( @TypeOf ( function_pointers . glGetVertexAttribIuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetVertexAttribIuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI1i " ) ) | proc | {
function_pointers . glVertexAttribI1i = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI1i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI1i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI2i " ) ) | proc | {
function_pointers . glVertexAttribI2i = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI2i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI2i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI3i " ) ) | proc | {
function_pointers . glVertexAttribI3i = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI3i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI3i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4i " ) ) | proc | {
function_pointers . glVertexAttribI4i = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4i ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4i not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI1ui " ) ) | proc | {
function_pointers . glVertexAttribI1ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI1ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI1ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI2ui " ) ) | proc | {
function_pointers . glVertexAttribI2ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI2ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI2ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI3ui " ) ) | proc | {
function_pointers . glVertexAttribI3ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI3ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI3ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4ui " ) ) | proc | {
function_pointers . glVertexAttribI4ui = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI1iv " ) ) | proc | {
function_pointers . glVertexAttribI1iv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI1iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI1iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI2iv " ) ) | proc | {
function_pointers . glVertexAttribI2iv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI2iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI2iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI3iv " ) ) | proc | {
function_pointers . glVertexAttribI3iv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI3iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI3iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4iv " ) ) | proc | {
function_pointers . glVertexAttribI4iv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4iv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4iv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI1uiv " ) ) | proc | {
function_pointers . glVertexAttribI1uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI1uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI1uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI2uiv " ) ) | proc | {
function_pointers . glVertexAttribI2uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI2uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI2uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI3uiv " ) ) | proc | {
function_pointers . glVertexAttribI3uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI3uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI3uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4uiv " ) ) | proc | {
function_pointers . glVertexAttribI4uiv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4bv " ) ) | proc | {
function_pointers . glVertexAttribI4bv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4bv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4bv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4sv " ) ) | proc | {
function_pointers . glVertexAttribI4sv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4sv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4sv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4ubv " ) ) | proc | {
function_pointers . glVertexAttribI4ubv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4ubv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4ubv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glVertexAttribI4usv " ) ) | proc | {
function_pointers . glVertexAttribI4usv = @ptrCast ( @TypeOf ( function_pointers . glVertexAttribI4usv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glVertexAttribI4usv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetUniformuiv " ) ) | proc | {
function_pointers . glGetUniformuiv = @ptrCast ( @TypeOf ( function_pointers . glGetUniformuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetUniformuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindFragDataLocation " ) ) | proc | {
function_pointers . glBindFragDataLocation = @ptrCast ( @TypeOf ( function_pointers . glBindFragDataLocation ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindFragDataLocation not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetFragDataLocation " ) ) | proc | {
function_pointers . glGetFragDataLocation = @ptrCast ( @TypeOf ( function_pointers . glGetFragDataLocation ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetFragDataLocation not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform1ui " ) ) | proc | {
function_pointers . glUniform1ui = @ptrCast ( @TypeOf ( function_pointers . glUniform1ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform1ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform2ui " ) ) | proc | {
function_pointers . glUniform2ui = @ptrCast ( @TypeOf ( function_pointers . glUniform2ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform2ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform3ui " ) ) | proc | {
function_pointers . glUniform3ui = @ptrCast ( @TypeOf ( function_pointers . glUniform3ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform3ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform4ui " ) ) | proc | {
function_pointers . glUniform4ui = @ptrCast ( @TypeOf ( function_pointers . glUniform4ui ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform4ui not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform1uiv " ) ) | proc | {
function_pointers . glUniform1uiv = @ptrCast ( @TypeOf ( function_pointers . glUniform1uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform1uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform2uiv " ) ) | proc | {
function_pointers . glUniform2uiv = @ptrCast ( @TypeOf ( function_pointers . glUniform2uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform2uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform3uiv " ) ) | proc | {
function_pointers . glUniform3uiv = @ptrCast ( @TypeOf ( function_pointers . glUniform3uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform3uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniform4uiv " ) ) | proc | {
function_pointers . glUniform4uiv = @ptrCast ( @TypeOf ( function_pointers . glUniform4uiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniform4uiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexParameterIiv " ) ) | proc | {
function_pointers . glTexParameterIiv = @ptrCast ( @TypeOf ( function_pointers . glTexParameterIiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexParameterIiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexParameterIuiv " ) ) | proc | {
function_pointers . glTexParameterIuiv = @ptrCast ( @TypeOf ( function_pointers . glTexParameterIuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexParameterIuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexParameterIiv " ) ) | proc | {
function_pointers . glGetTexParameterIiv = @ptrCast ( @TypeOf ( function_pointers . glGetTexParameterIiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexParameterIiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetTexParameterIuiv " ) ) | proc | {
function_pointers . glGetTexParameterIuiv = @ptrCast ( @TypeOf ( function_pointers . glGetTexParameterIuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetTexParameterIuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearBufferiv " ) ) | proc | {
function_pointers . glClearBufferiv = @ptrCast ( @TypeOf ( function_pointers . glClearBufferiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearBufferiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearBufferuiv " ) ) | proc | {
function_pointers . glClearBufferuiv = @ptrCast ( @TypeOf ( function_pointers . glClearBufferuiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearBufferuiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearBufferfv " ) ) | proc | {
function_pointers . glClearBufferfv = @ptrCast ( @TypeOf ( function_pointers . glClearBufferfv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearBufferfv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glClearBufferfi " ) ) | proc | {
function_pointers . glClearBufferfi = @ptrCast ( @TypeOf ( function_pointers . glClearBufferfi ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glClearBufferfi not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetStringi " ) ) | proc | {
function_pointers . glGetStringi = @ptrCast ( @TypeOf ( function_pointers . glGetStringi ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetStringi not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsRenderbuffer " ) ) | proc | {
function_pointers . glIsRenderbuffer = @ptrCast ( @TypeOf ( function_pointers . glIsRenderbuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsRenderbuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindRenderbuffer " ) ) | proc | {
function_pointers . glBindRenderbuffer = @ptrCast ( @TypeOf ( function_pointers . glBindRenderbuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindRenderbuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteRenderbuffers " ) ) | proc | {
function_pointers . glDeleteRenderbuffers = @ptrCast ( @TypeOf ( function_pointers . glDeleteRenderbuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteRenderbuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenRenderbuffers " ) ) | proc | {
function_pointers . glGenRenderbuffers = @ptrCast ( @TypeOf ( function_pointers . glGenRenderbuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenRenderbuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glRenderbufferStorage " ) ) | proc | {
function_pointers . glRenderbufferStorage = @ptrCast ( @TypeOf ( function_pointers . glRenderbufferStorage ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glRenderbufferStorage not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetRenderbufferParameteriv " ) ) | proc | {
function_pointers . glGetRenderbufferParameteriv = @ptrCast ( @TypeOf ( function_pointers . glGetRenderbufferParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetRenderbufferParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsFramebuffer " ) ) | proc | {
function_pointers . glIsFramebuffer = @ptrCast ( @TypeOf ( function_pointers . glIsFramebuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsFramebuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindFramebuffer " ) ) | proc | {
function_pointers . glBindFramebuffer = @ptrCast ( @TypeOf ( function_pointers . glBindFramebuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindFramebuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteFramebuffers " ) ) | proc | {
function_pointers . glDeleteFramebuffers = @ptrCast ( @TypeOf ( function_pointers . glDeleteFramebuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteFramebuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenFramebuffers " ) ) | proc | {
function_pointers . glGenFramebuffers = @ptrCast ( @TypeOf ( function_pointers . glGenFramebuffers ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenFramebuffers not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCheckFramebufferStatus " ) ) | proc | {
function_pointers . glCheckFramebufferStatus = @ptrCast ( @TypeOf ( function_pointers . glCheckFramebufferStatus ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCheckFramebufferStatus not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFramebufferTexture1D " ) ) | proc | {
function_pointers . glFramebufferTexture1D = @ptrCast ( @TypeOf ( function_pointers . glFramebufferTexture1D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFramebufferTexture1D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFramebufferTexture2D " ) ) | proc | {
function_pointers . glFramebufferTexture2D = @ptrCast ( @TypeOf ( function_pointers . glFramebufferTexture2D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFramebufferTexture2D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFramebufferTexture3D " ) ) | proc | {
function_pointers . glFramebufferTexture3D = @ptrCast ( @TypeOf ( function_pointers . glFramebufferTexture3D ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFramebufferTexture3D not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFramebufferRenderbuffer " ) ) | proc | {
function_pointers . glFramebufferRenderbuffer = @ptrCast ( @TypeOf ( function_pointers . glFramebufferRenderbuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFramebufferRenderbuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetFramebufferAttachmentParameteriv " ) ) | proc | {
function_pointers . glGetFramebufferAttachmentParameteriv = @ptrCast ( @TypeOf ( function_pointers . glGetFramebufferAttachmentParameteriv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetFramebufferAttachmentParameteriv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenerateMipmap " ) ) | proc | {
function_pointers . glGenerateMipmap = @ptrCast ( @TypeOf ( function_pointers . glGenerateMipmap ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenerateMipmap not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBlitFramebuffer " ) ) | proc | {
function_pointers . glBlitFramebuffer = @ptrCast ( @TypeOf ( function_pointers . glBlitFramebuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBlitFramebuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glRenderbufferStorageMultisample " ) ) | proc | {
function_pointers . glRenderbufferStorageMultisample = @ptrCast ( @TypeOf ( function_pointers . glRenderbufferStorageMultisample ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glRenderbufferStorageMultisample not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFramebufferTextureLayer " ) ) | proc | {
function_pointers . glFramebufferTextureLayer = @ptrCast ( @TypeOf ( function_pointers . glFramebufferTextureLayer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFramebufferTextureLayer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glMapBufferRange " ) ) | proc | {
function_pointers . glMapBufferRange = @ptrCast ( @TypeOf ( function_pointers . glMapBufferRange ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glMapBufferRange not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glFlushMappedBufferRange " ) ) | proc | {
function_pointers . glFlushMappedBufferRange = @ptrCast ( @TypeOf ( function_pointers . glFlushMappedBufferRange ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glFlushMappedBufferRange not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glBindVertexArray " ) ) | proc | {
function_pointers . glBindVertexArray = @ptrCast ( @TypeOf ( function_pointers . glBindVertexArray ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glBindVertexArray not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDeleteVertexArrays " ) ) | proc | {
function_pointers . glDeleteVertexArrays = @ptrCast ( @TypeOf ( function_pointers . glDeleteVertexArrays ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDeleteVertexArrays not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGenVertexArrays " ) ) | proc | {
function_pointers . glGenVertexArrays = @ptrCast ( @TypeOf ( function_pointers . glGenVertexArrays ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGenVertexArrays not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glIsVertexArray " ) ) | proc | {
function_pointers . glIsVertexArray = @ptrCast ( @TypeOf ( function_pointers . glIsVertexArray ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glIsVertexArray not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawArraysInstanced " ) ) | proc | {
function_pointers . glDrawArraysInstanced = @ptrCast ( @TypeOf ( function_pointers . glDrawArraysInstanced ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawArraysInstanced not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glDrawElementsInstanced " ) ) | proc | {
function_pointers . glDrawElementsInstanced = @ptrCast ( @TypeOf ( function_pointers . glDrawElementsInstanced ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glDrawElementsInstanced not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glTexBuffer " ) ) | proc | {
function_pointers . glTexBuffer = @ptrCast ( @TypeOf ( function_pointers . glTexBuffer ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glTexBuffer not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glPrimitiveRestartIndex " ) ) | proc | {
function_pointers . glPrimitiveRestartIndex = @ptrCast ( @TypeOf ( function_pointers . glPrimitiveRestartIndex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glPrimitiveRestartIndex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glCopyBufferSubData " ) ) | proc | {
function_pointers . glCopyBufferSubData = @ptrCast ( @TypeOf ( function_pointers . glCopyBufferSubData ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glCopyBufferSubData not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetUniformIndices " ) ) | proc | {
function_pointers . glGetUniformIndices = @ptrCast ( @TypeOf ( function_pointers . glGetUniformIndices ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetUniformIndices not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetActiveUniformsiv " ) ) | proc | {
function_pointers . glGetActiveUniformsiv = @ptrCast ( @TypeOf ( function_pointers . glGetActiveUniformsiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetActiveUniformsiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetActiveUniformName " ) ) | proc | {
function_pointers . glGetActiveUniformName = @ptrCast ( @TypeOf ( function_pointers . glGetActiveUniformName ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetActiveUniformName not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetUniformBlockIndex " ) ) | proc | {
function_pointers . glGetUniformBlockIndex = @ptrCast ( @TypeOf ( function_pointers . glGetUniformBlockIndex ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetUniformBlockIndex not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetActiveUniformBlockiv " ) ) | proc | {
function_pointers . glGetActiveUniformBlockiv = @ptrCast ( @TypeOf ( function_pointers . glGetActiveUniformBlockiv ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetActiveUniformBlockiv not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glGetActiveUniformBlockName " ) ) | proc | {
function_pointers . glGetActiveUniformBlockName = @ptrCast ( @TypeOf ( function_pointers . glGetActiveUniformBlockName ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glGetActiveUniformBlockName not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
2022-09-23 09:00:46 +00:00
if ( get_proc_address ( load_ctx , " glUniformBlockBinding " ) ) | proc | {
function_pointers . glUniformBlockBinding = @ptrCast ( @TypeOf ( function_pointers . glUniformBlockBinding ) , proc ) ;
2022-09-22 15:23:16 +00:00
} else {
2022-09-23 09:00:46 +00:00
log . err ( " entry point glUniformBlockBinding not found! " , . { } ) ;
2022-09-22 15:23:16 +00:00
success = false ;
}
if ( ! success )
return error . EntryPointNotFound ;
}
const function_signatures = struct {
const glCullFace = fn ( _mode : GLenum ) void ;
const glFrontFace = fn ( _mode : GLenum ) void ;
const glHint = fn ( _target : GLenum , _mode : GLenum ) void ;
const glLineWidth = fn ( _width : GLfloat ) void ;
const glPointSize = fn ( _size : GLfloat ) void ;
const glPolygonMode = fn ( _face : GLenum , _mode : GLenum ) void ;
const glScissor = fn ( _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void ;
const glTexParameterf = fn ( _target : GLenum , _pname : GLenum , _param : GLfloat ) void ;
const glTexParameterfv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLfloat ) void ;
const glTexParameteri = fn ( _target : GLenum , _pname : GLenum , _param : GLint ) void ;
const glTexParameteriv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLint ) void ;
const glTexImage1D = fn ( _target : GLenum , _level : GLint , _internalformat : GLint , _width : GLsizei , _border : GLint , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void ;
const glTexImage2D = fn ( _target : GLenum , _level : GLint , _internalformat : GLint , _width : GLsizei , _height : GLsizei , _border : GLint , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void ;
const glDrawBuffer = fn ( _buf : GLenum ) void ;
const glClear = fn ( _mask : GLbitfield ) void ;
const glClearColor = fn ( _red : GLfloat , _green : GLfloat , _blue : GLfloat , _alpha : GLfloat ) void ;
const glClearStencil = fn ( _s : GLint ) void ;
const glClearDepth = fn ( _depth : GLdouble ) void ;
const glStencilMask = fn ( _mask : GLuint ) void ;
const glColorMask = fn ( _red : GLboolean , _green : GLboolean , _blue : GLboolean , _alpha : GLboolean ) void ;
const glDepthMask = fn ( _flag : GLboolean ) void ;
const glDisable = fn ( _cap : GLenum ) void ;
const glEnable = fn ( _cap : GLenum ) void ;
const glFinish = fn ( ) void ;
const glFlush = fn ( ) void ;
const glBlendFunc = fn ( _sfactor : GLenum , _dfactor : GLenum ) void ;
const glLogicOp = fn ( _opcode : GLenum ) void ;
const glStencilFunc = fn ( _func : GLenum , _ref : GLint , _mask : GLuint ) void ;
const glStencilOp = fn ( _fail : GLenum , _zfail : GLenum , _zpass : GLenum ) void ;
const glDepthFunc = fn ( _func : GLenum ) void ;
const glPixelStoref = fn ( _pname : GLenum , _param : GLfloat ) void ;
const glPixelStorei = fn ( _pname : GLenum , _param : GLint ) void ;
const glReadBuffer = fn ( _src : GLenum ) void ;
const glReadPixels = fn ( _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei , _format : GLenum , _type : GLenum , _pixels : ? * anyopaque ) void ;
const glGetBooleanv = fn ( _pname : GLenum , _data : [ * c ] GLboolean ) void ;
const glGetDoublev = fn ( _pname : GLenum , _data : [ * c ] GLdouble ) void ;
const glGetError = fn ( ) GLenum ;
const glGetFloatv = fn ( _pname : GLenum , _data : [ * c ] GLfloat ) void ;
const glGetIntegerv = fn ( _pname : GLenum , _data : [ * c ] GLint ) void ;
const glGetString = fn ( _name : GLenum ) ? [ * : 0 ] const GLubyte ;
const glGetTexImage = fn ( _target : GLenum , _level : GLint , _format : GLenum , _type : GLenum , _pixels : ? * anyopaque ) void ;
const glGetTexParameterfv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLfloat ) void ;
const glGetTexParameteriv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetTexLevelParameterfv = fn ( _target : GLenum , _level : GLint , _pname : GLenum , _params : [ * c ] GLfloat ) void ;
const glGetTexLevelParameteriv = fn ( _target : GLenum , _level : GLint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glIsEnabled = fn ( _cap : GLenum ) GLboolean ;
const glDepthRange = fn ( _n : GLdouble , _f : GLdouble ) void ;
const glViewport = fn ( _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void ;
const glDrawArrays = fn ( _mode : GLenum , _first : GLint , _count : GLsizei ) void ;
const glDrawElements = fn ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque ) void ;
const glPolygonOffset = fn ( _factor : GLfloat , _units : GLfloat ) void ;
const glCopyTexImage1D = fn ( _target : GLenum , _level : GLint , _internalformat : GLenum , _x : GLint , _y : GLint , _width : GLsizei , _border : GLint ) void ;
const glCopyTexImage2D = fn ( _target : GLenum , _level : GLint , _internalformat : GLenum , _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei , _border : GLint ) void ;
const glCopyTexSubImage1D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _x : GLint , _y : GLint , _width : GLsizei ) void ;
const glCopyTexSubImage2D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void ;
const glTexSubImage1D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _width : GLsizei , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void ;
const glTexSubImage2D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _width : GLsizei , _height : GLsizei , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void ;
const glBindTexture = fn ( _target : GLenum , _texture : GLuint ) void ;
const glDeleteTextures = fn ( _n : GLsizei , _textures : [ * c ] const GLuint ) void ;
const glGenTextures = fn ( _n : GLsizei , _textures : [ * c ] GLuint ) void ;
const glIsTexture = fn ( _texture : GLuint ) GLboolean ;
const glDrawRangeElements = fn ( _mode : GLenum , _start : GLuint , _end : GLuint , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque ) void ;
const glTexImage3D = fn ( _target : GLenum , _level : GLint , _internalformat : GLint , _width : GLsizei , _height : GLsizei , _depth : GLsizei , _border : GLint , _format : GLenum , _type : GLenum , _pixels : ? * const anyopaque ) void ;
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 ) void ;
const glCopyTexSubImage3D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _zoffset : GLint , _x : GLint , _y : GLint , _width : GLsizei , _height : GLsizei ) void ;
const glActiveTexture = fn ( _texture : GLenum ) void ;
const glSampleCoverage = fn ( _value : GLfloat , _invert : GLboolean ) void ;
const glCompressedTexImage3D = fn ( _target : GLenum , _level : GLint , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _depth : GLsizei , _border : GLint , _imageSize : GLsizei , _data : ? * const anyopaque ) void ;
const glCompressedTexImage2D = fn ( _target : GLenum , _level : GLint , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _border : GLint , _imageSize : GLsizei , _data : ? * const anyopaque ) void ;
const glCompressedTexImage1D = fn ( _target : GLenum , _level : GLint , _internalformat : GLenum , _width : GLsizei , _border : GLint , _imageSize : GLsizei , _data : ? * const anyopaque ) void ;
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 ) void ;
const glCompressedTexSubImage2D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _yoffset : GLint , _width : GLsizei , _height : GLsizei , _format : GLenum , _imageSize : GLsizei , _data : ? * const anyopaque ) void ;
const glCompressedTexSubImage1D = fn ( _target : GLenum , _level : GLint , _xoffset : GLint , _width : GLsizei , _format : GLenum , _imageSize : GLsizei , _data : ? * const anyopaque ) void ;
const glGetCompressedTexImage = fn ( _target : GLenum , _level : GLint , _img : ? * anyopaque ) void ;
const glVertexAttribP4uiv = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void ;
const glVertexAttribP4ui = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void ;
const glVertexAttribP3uiv = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void ;
const glVertexAttribP3ui = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void ;
const glVertexAttribP2uiv = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void ;
const glVertexAttribP2ui = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void ;
const glVertexAttribP1uiv = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : [ * c ] const GLuint ) void ;
const glVertexAttribP1ui = fn ( _index : GLuint , _type : GLenum , _normalized : GLboolean , _value : GLuint ) void ;
const glVertexAttribDivisor = fn ( _index : GLuint , _divisor : GLuint ) void ;
const glGetQueryObjectui64v = fn ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLuint64 ) void ;
const glGetQueryObjecti64v = fn ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLint64 ) void ;
const glQueryCounter = fn ( _id : GLuint , _target : GLenum ) void ;
const glGetSamplerParameterIuiv = fn ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLuint ) void ;
const glGetSamplerParameterfv = fn ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLfloat ) void ;
const glGetSamplerParameterIiv = fn ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetSamplerParameteriv = fn ( _sampler : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glSamplerParameterIuiv = fn ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLuint ) void ;
const glSamplerParameterIiv = fn ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLint ) void ;
const glSamplerParameterfv = fn ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLfloat ) void ;
const glSamplerParameterf = fn ( _sampler : GLuint , _pname : GLenum , _param : GLfloat ) void ;
const glSamplerParameteriv = fn ( _sampler : GLuint , _pname : GLenum , _param : [ * c ] const GLint ) void ;
const glSamplerParameteri = fn ( _sampler : GLuint , _pname : GLenum , _param : GLint ) void ;
const glBindSampler = fn ( _unit : GLuint , _sampler : GLuint ) void ;
const glIsSampler = fn ( _sampler : GLuint ) GLboolean ;
const glDeleteSamplers = fn ( _count : GLsizei , _samplers : [ * c ] const GLuint ) void ;
const glGenSamplers = fn ( _count : GLsizei , _samplers : [ * c ] GLuint ) void ;
const glGetFragDataIndex = fn ( _program : GLuint , _name : [ * c ] const GLchar ) GLint ;
const glBindFragDataLocationIndexed = fn ( _program : GLuint , _colorNumber : GLuint , _index : GLuint , _name : [ * c ] const GLchar ) void ;
const glSampleMaski = fn ( _maskNumber : GLuint , _mask : GLbitfield ) void ;
const glGetMultisamplefv = fn ( _pname : GLenum , _index : GLuint , _val : [ * c ] GLfloat ) void ;
const glTexImage3DMultisample = fn ( _target : GLenum , _samples : GLsizei , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _depth : GLsizei , _fixedsamplelocations : GLboolean ) void ;
const glTexImage2DMultisample = fn ( _target : GLenum , _samples : GLsizei , _internalformat : GLenum , _width : GLsizei , _height : GLsizei , _fixedsamplelocations : GLboolean ) void ;
const glFramebufferTexture = fn ( _target : GLenum , _attachment : GLenum , _texture : GLuint , _level : GLint ) void ;
const glGetBufferParameteri64v = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint64 ) void ;
const glBlendFuncSeparate = fn ( _sfactorRGB : GLenum , _dfactorRGB : GLenum , _sfactorAlpha : GLenum , _dfactorAlpha : GLenum ) void ;
const glMultiDrawArrays = fn ( _mode : GLenum , _first : [ * c ] const GLint , _count : [ * c ] const GLsizei , _drawcount : GLsizei ) void ;
const glMultiDrawElements = fn ( _mode : GLenum , _count : [ * c ] const GLsizei , _type : GLenum , _indices : [ * c ] const ? * const anyopaque , _drawcount : GLsizei ) void ;
const glPointParameterf = fn ( _pname : GLenum , _param : GLfloat ) void ;
const glPointParameterfv = fn ( _pname : GLenum , _params : [ * c ] const GLfloat ) void ;
const glPointParameteri = fn ( _pname : GLenum , _param : GLint ) void ;
const glPointParameteriv = fn ( _pname : GLenum , _params : [ * c ] const GLint ) void ;
const glGetInteger64i_v = fn ( _target : GLenum , _index : GLuint , _data : [ * c ] GLint64 ) void ;
const glGetSynciv = fn ( _sync : GLsync , _pname : GLenum , _count : GLsizei , _length : [ * c ] GLsizei , _values : [ * c ] GLint ) void ;
const glGetInteger64v = fn ( _pname : GLenum , _data : [ * c ] GLint64 ) void ;
const glWaitSync = fn ( _sync : GLsync , _flags : GLbitfield , _timeout : GLuint64 ) void ;
const glClientWaitSync = fn ( _sync : GLsync , _flags : GLbitfield , _timeout : GLuint64 ) GLenum ;
const glDeleteSync = fn ( _sync : GLsync ) void ;
const glIsSync = fn ( _sync : GLsync ) GLboolean ;
const glFenceSync = fn ( _condition : GLenum , _flags : GLbitfield ) GLsync ;
const glBlendColor = fn ( _red : GLfloat , _green : GLfloat , _blue : GLfloat , _alpha : GLfloat ) void ;
const glBlendEquation = fn ( _mode : GLenum ) void ;
const glProvokingVertex = fn ( _mode : GLenum ) void ;
const glMultiDrawElementsBaseVertex = fn ( _mode : GLenum , _count : [ * c ] const GLsizei , _type : GLenum , _indices : [ * c ] const ? * const anyopaque , _drawcount : GLsizei , _basevertex : [ * c ] const GLint ) void ;
const glDrawElementsInstancedBaseVertex = fn ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _instancecount : GLsizei , _basevertex : GLint ) void ;
const glDrawRangeElementsBaseVertex = fn ( _mode : GLenum , _start : GLuint , _end : GLuint , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _basevertex : GLint ) void ;
const glDrawElementsBaseVertex = fn ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _basevertex : GLint ) void ;
const glGenQueries = fn ( _n : GLsizei , _ids : [ * c ] GLuint ) void ;
const glDeleteQueries = fn ( _n : GLsizei , _ids : [ * c ] const GLuint ) void ;
const glIsQuery = fn ( _id : GLuint ) GLboolean ;
const glBeginQuery = fn ( _target : GLenum , _id : GLuint ) void ;
const glEndQuery = fn ( _target : GLenum ) void ;
const glGetQueryiv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetQueryObjectiv = fn ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetQueryObjectuiv = fn ( _id : GLuint , _pname : GLenum , _params : [ * c ] GLuint ) void ;
const glBindBuffer = fn ( _target : GLenum , _buffer : GLuint ) void ;
const glDeleteBuffers = fn ( _n : GLsizei , _buffers : [ * c ] const GLuint ) void ;
const glGenBuffers = fn ( _n : GLsizei , _buffers : [ * c ] GLuint ) void ;
const glIsBuffer = fn ( _buffer : GLuint ) GLboolean ;
const glBufferData = fn ( _target : GLenum , _size : GLsizeiptr , _data : ? * const anyopaque , _usage : GLenum ) void ;
const glBufferSubData = fn ( _target : GLenum , _offset : GLintptr , _size : GLsizeiptr , _data : ? * const anyopaque ) void ;
const glGetBufferSubData = fn ( _target : GLenum , _offset : GLintptr , _size : GLsizeiptr , _data : ? * anyopaque ) void ;
const glMapBuffer = fn ( _target : GLenum , _access : GLenum ) ? * anyopaque ;
const glUnmapBuffer = fn ( _target : GLenum ) GLboolean ;
const glGetBufferParameteriv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetBufferPointerv = fn ( _target : GLenum , _pname : GLenum , _params : ? * ? * anyopaque ) void ;
const glBlendEquationSeparate = fn ( _modeRGB : GLenum , _modeAlpha : GLenum ) void ;
const glDrawBuffers = fn ( _n : GLsizei , _bufs : [ * c ] const GLenum ) void ;
const glStencilOpSeparate = fn ( _face : GLenum , _sfail : GLenum , _dpfail : GLenum , _dppass : GLenum ) void ;
const glStencilFuncSeparate = fn ( _face : GLenum , _func : GLenum , _ref : GLint , _mask : GLuint ) void ;
const glStencilMaskSeparate = fn ( _face : GLenum , _mask : GLuint ) void ;
const glAttachShader = fn ( _program : GLuint , _shader : GLuint ) void ;
const glBindAttribLocation = fn ( _program : GLuint , _index : GLuint , _name : [ * c ] const GLchar ) void ;
const glCompileShader = fn ( _shader : GLuint ) void ;
const glCreateProgram = fn ( ) GLuint ;
const glCreateShader = fn ( _type : GLenum ) GLuint ;
const glDeleteProgram = fn ( _program : GLuint ) void ;
const glDeleteShader = fn ( _shader : GLuint ) void ;
const glDetachShader = fn ( _program : GLuint , _shader : GLuint ) void ;
const glDisableVertexAttribArray = fn ( _index : GLuint ) void ;
const glEnableVertexAttribArray = fn ( _index : GLuint ) void ;
const glGetActiveAttrib = fn ( _program : GLuint , _index : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _size : [ * c ] GLint , _type : [ * c ] GLenum , _name : [ * c ] GLchar ) void ;
const glGetActiveUniform = fn ( _program : GLuint , _index : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _size : [ * c ] GLint , _type : [ * c ] GLenum , _name : [ * c ] GLchar ) void ;
const glGetAttachedShaders = fn ( _program : GLuint , _maxCount : GLsizei , _count : [ * c ] GLsizei , _shaders : [ * c ] GLuint ) void ;
const glGetAttribLocation = fn ( _program : GLuint , _name : [ * c ] const GLchar ) GLint ;
const glGetProgramiv = fn ( _program : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetProgramInfoLog = fn ( _program : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _infoLog : [ * c ] GLchar ) void ;
const glGetShaderiv = fn ( _shader : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetShaderInfoLog = fn ( _shader : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _infoLog : [ * c ] GLchar ) void ;
const glGetShaderSource = fn ( _shader : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _source : [ * c ] GLchar ) void ;
const glGetUniformLocation = fn ( _program : GLuint , _name : [ * c ] const GLchar ) GLint ;
const glGetUniformfv = fn ( _program : GLuint , _location : GLint , _params : [ * c ] GLfloat ) void ;
const glGetUniformiv = fn ( _program : GLuint , _location : GLint , _params : [ * c ] GLint ) void ;
const glGetVertexAttribdv = fn ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLdouble ) void ;
const glGetVertexAttribfv = fn ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLfloat ) void ;
const glGetVertexAttribiv = fn ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetVertexAttribPointerv = fn ( _index : GLuint , _pname : GLenum , _pointer : ? * ? * anyopaque ) void ;
const glIsProgram = fn ( _program : GLuint ) GLboolean ;
const glIsShader = fn ( _shader : GLuint ) GLboolean ;
const glLinkProgram = fn ( _program : GLuint ) void ;
const glShaderSource = fn ( _shader : GLuint , _count : GLsizei , _string : [ * c ] const [ * c ] const GLchar , _length : [ * c ] const GLint ) void ;
const glUseProgram = fn ( _program : GLuint ) void ;
const glUniform1f = fn ( _location : GLint , _v0 : GLfloat ) void ;
const glUniform2f = fn ( _location : GLint , _v0 : GLfloat , _v1 : GLfloat ) void ;
const glUniform3f = fn ( _location : GLint , _v0 : GLfloat , _v1 : GLfloat , _v2 : GLfloat ) void ;
const glUniform4f = fn ( _location : GLint , _v0 : GLfloat , _v1 : GLfloat , _v2 : GLfloat , _v3 : GLfloat ) void ;
const glUniform1i = fn ( _location : GLint , _v0 : GLint ) void ;
const glUniform2i = fn ( _location : GLint , _v0 : GLint , _v1 : GLint ) void ;
const glUniform3i = fn ( _location : GLint , _v0 : GLint , _v1 : GLint , _v2 : GLint ) void ;
const glUniform4i = fn ( _location : GLint , _v0 : GLint , _v1 : GLint , _v2 : GLint , _v3 : GLint ) void ;
const glUniform1fv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void ;
const glUniform2fv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void ;
const glUniform3fv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void ;
const glUniform4fv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLfloat ) void ;
const glUniform1iv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void ;
const glUniform2iv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void ;
const glUniform3iv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void ;
const glUniform4iv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLint ) void ;
const glUniformMatrix2fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix3fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix4fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glValidateProgram = fn ( _program : GLuint ) void ;
const glVertexAttrib1d = fn ( _index : GLuint , _x : GLdouble ) void ;
const glVertexAttrib1dv = fn ( _index : GLuint , _v : [ * c ] const GLdouble ) void ;
const glVertexAttrib1f = fn ( _index : GLuint , _x : GLfloat ) void ;
const glVertexAttrib1fv = fn ( _index : GLuint , _v : [ * c ] const GLfloat ) void ;
const glVertexAttrib1s = fn ( _index : GLuint , _x : GLshort ) void ;
const glVertexAttrib1sv = fn ( _index : GLuint , _v : [ * c ] const GLshort ) void ;
const glVertexAttrib2d = fn ( _index : GLuint , _x : GLdouble , _y : GLdouble ) void ;
const glVertexAttrib2dv = fn ( _index : GLuint , _v : [ * c ] const GLdouble ) void ;
const glVertexAttrib2f = fn ( _index : GLuint , _x : GLfloat , _y : GLfloat ) void ;
const glVertexAttrib2fv = fn ( _index : GLuint , _v : [ * c ] const GLfloat ) void ;
const glVertexAttrib2s = fn ( _index : GLuint , _x : GLshort , _y : GLshort ) void ;
const glVertexAttrib2sv = fn ( _index : GLuint , _v : [ * c ] const GLshort ) void ;
const glVertexAttrib3d = fn ( _index : GLuint , _x : GLdouble , _y : GLdouble , _z : GLdouble ) void ;
const glVertexAttrib3dv = fn ( _index : GLuint , _v : [ * c ] const GLdouble ) void ;
const glVertexAttrib3f = fn ( _index : GLuint , _x : GLfloat , _y : GLfloat , _z : GLfloat ) void ;
const glVertexAttrib3fv = fn ( _index : GLuint , _v : [ * c ] const GLfloat ) void ;
const glVertexAttrib3s = fn ( _index : GLuint , _x : GLshort , _y : GLshort , _z : GLshort ) void ;
const glVertexAttrib3sv = fn ( _index : GLuint , _v : [ * c ] const GLshort ) void ;
const glVertexAttrib4Nbv = fn ( _index : GLuint , _v : [ * c ] const GLbyte ) void ;
const glVertexAttrib4Niv = fn ( _index : GLuint , _v : [ * c ] const GLint ) void ;
const glVertexAttrib4Nsv = fn ( _index : GLuint , _v : [ * c ] const GLshort ) void ;
const glVertexAttrib4Nub = fn ( _index : GLuint , _x : GLubyte , _y : GLubyte , _z : GLubyte , _w : GLubyte ) void ;
const glVertexAttrib4Nubv = fn ( _index : GLuint , _v : ? [ * : 0 ] const GLubyte ) void ;
const glVertexAttrib4Nuiv = fn ( _index : GLuint , _v : [ * c ] const GLuint ) void ;
const glVertexAttrib4Nusv = fn ( _index : GLuint , _v : [ * c ] const GLushort ) void ;
const glVertexAttrib4bv = fn ( _index : GLuint , _v : [ * c ] const GLbyte ) void ;
const glVertexAttrib4d = fn ( _index : GLuint , _x : GLdouble , _y : GLdouble , _z : GLdouble , _w : GLdouble ) void ;
const glVertexAttrib4dv = fn ( _index : GLuint , _v : [ * c ] const GLdouble ) void ;
const glVertexAttrib4f = fn ( _index : GLuint , _x : GLfloat , _y : GLfloat , _z : GLfloat , _w : GLfloat ) void ;
const glVertexAttrib4fv = fn ( _index : GLuint , _v : [ * c ] const GLfloat ) void ;
const glVertexAttrib4iv = fn ( _index : GLuint , _v : [ * c ] const GLint ) void ;
const glVertexAttrib4s = fn ( _index : GLuint , _x : GLshort , _y : GLshort , _z : GLshort , _w : GLshort ) void ;
const glVertexAttrib4sv = fn ( _index : GLuint , _v : [ * c ] const GLshort ) void ;
const glVertexAttrib4ubv = fn ( _index : GLuint , _v : ? [ * : 0 ] const GLubyte ) void ;
const glVertexAttrib4uiv = fn ( _index : GLuint , _v : [ * c ] const GLuint ) void ;
const glVertexAttrib4usv = fn ( _index : GLuint , _v : [ * c ] const GLushort ) void ;
const glVertexAttribPointer = fn ( _index : GLuint , _size : GLint , _type : GLenum , _normalized : GLboolean , _stride : GLsizei , _pointer : ? * const anyopaque ) void ;
const glUniformMatrix2x3fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix3x2fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix2x4fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix4x2fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix3x4fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glUniformMatrix4x3fv = fn ( _location : GLint , _count : GLsizei , _transpose : GLboolean , _value : [ * c ] const GLfloat ) void ;
const glColorMaski = fn ( _index : GLuint , _r : GLboolean , _g : GLboolean , _b : GLboolean , _a : GLboolean ) void ;
const glGetBooleani_v = fn ( _target : GLenum , _index : GLuint , _data : [ * c ] GLboolean ) void ;
const glGetIntegeri_v = fn ( _target : GLenum , _index : GLuint , _data : [ * c ] GLint ) void ;
const glEnablei = fn ( _target : GLenum , _index : GLuint ) void ;
const glDisablei = fn ( _target : GLenum , _index : GLuint ) void ;
const glIsEnabledi = fn ( _target : GLenum , _index : GLuint ) GLboolean ;
const glBeginTransformFeedback = fn ( _primitiveMode : GLenum ) void ;
const glEndTransformFeedback = fn ( ) void ;
const glBindBufferRange = fn ( _target : GLenum , _index : GLuint , _buffer : GLuint , _offset : GLintptr , _size : GLsizeiptr ) void ;
const glBindBufferBase = fn ( _target : GLenum , _index : GLuint , _buffer : GLuint ) void ;
const glTransformFeedbackVaryings = fn ( _program : GLuint , _count : GLsizei , _varyings : [ * c ] const [ * c ] const GLchar , _bufferMode : GLenum ) void ;
const glGetTransformFeedbackVarying = fn ( _program : GLuint , _index : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _size : [ * c ] GLsizei , _type : [ * c ] GLenum , _name : [ * c ] GLchar ) void ;
const glClampColor = fn ( _target : GLenum , _clamp : GLenum ) void ;
const glBeginConditionalRender = fn ( _id : GLuint , _mode : GLenum ) void ;
const glEndConditionalRender = fn ( ) void ;
const glVertexAttribIPointer = fn ( _index : GLuint , _size : GLint , _type : GLenum , _stride : GLsizei , _pointer : ? * const anyopaque ) void ;
const glGetVertexAttribIiv = fn ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetVertexAttribIuiv = fn ( _index : GLuint , _pname : GLenum , _params : [ * c ] GLuint ) void ;
const glVertexAttribI1i = fn ( _index : GLuint , _x : GLint ) void ;
const glVertexAttribI2i = fn ( _index : GLuint , _x : GLint , _y : GLint ) void ;
const glVertexAttribI3i = fn ( _index : GLuint , _x : GLint , _y : GLint , _z : GLint ) void ;
const glVertexAttribI4i = fn ( _index : GLuint , _x : GLint , _y : GLint , _z : GLint , _w : GLint ) void ;
const glVertexAttribI1ui = fn ( _index : GLuint , _x : GLuint ) void ;
const glVertexAttribI2ui = fn ( _index : GLuint , _x : GLuint , _y : GLuint ) void ;
const glVertexAttribI3ui = fn ( _index : GLuint , _x : GLuint , _y : GLuint , _z : GLuint ) void ;
const glVertexAttribI4ui = fn ( _index : GLuint , _x : GLuint , _y : GLuint , _z : GLuint , _w : GLuint ) void ;
const glVertexAttribI1iv = fn ( _index : GLuint , _v : [ * c ] const GLint ) void ;
const glVertexAttribI2iv = fn ( _index : GLuint , _v : [ * c ] const GLint ) void ;
const glVertexAttribI3iv = fn ( _index : GLuint , _v : [ * c ] const GLint ) void ;
const glVertexAttribI4iv = fn ( _index : GLuint , _v : [ * c ] const GLint ) void ;
const glVertexAttribI1uiv = fn ( _index : GLuint , _v : [ * c ] const GLuint ) void ;
const glVertexAttribI2uiv = fn ( _index : GLuint , _v : [ * c ] const GLuint ) void ;
const glVertexAttribI3uiv = fn ( _index : GLuint , _v : [ * c ] const GLuint ) void ;
const glVertexAttribI4uiv = fn ( _index : GLuint , _v : [ * c ] const GLuint ) void ;
const glVertexAttribI4bv = fn ( _index : GLuint , _v : [ * c ] const GLbyte ) void ;
const glVertexAttribI4sv = fn ( _index : GLuint , _v : [ * c ] const GLshort ) void ;
const glVertexAttribI4ubv = fn ( _index : GLuint , _v : ? [ * : 0 ] const GLubyte ) void ;
const glVertexAttribI4usv = fn ( _index : GLuint , _v : [ * c ] const GLushort ) void ;
const glGetUniformuiv = fn ( _program : GLuint , _location : GLint , _params : [ * c ] GLuint ) void ;
const glBindFragDataLocation = fn ( _program : GLuint , _color : GLuint , _name : [ * c ] const GLchar ) void ;
const glGetFragDataLocation = fn ( _program : GLuint , _name : [ * c ] const GLchar ) GLint ;
const glUniform1ui = fn ( _location : GLint , _v0 : GLuint ) void ;
const glUniform2ui = fn ( _location : GLint , _v0 : GLuint , _v1 : GLuint ) void ;
const glUniform3ui = fn ( _location : GLint , _v0 : GLuint , _v1 : GLuint , _v2 : GLuint ) void ;
const glUniform4ui = fn ( _location : GLint , _v0 : GLuint , _v1 : GLuint , _v2 : GLuint , _v3 : GLuint ) void ;
const glUniform1uiv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void ;
const glUniform2uiv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void ;
const glUniform3uiv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void ;
const glUniform4uiv = fn ( _location : GLint , _count : GLsizei , _value : [ * c ] const GLuint ) void ;
const glTexParameterIiv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLint ) void ;
const glTexParameterIuiv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] const GLuint ) void ;
const glGetTexParameterIiv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetTexParameterIuiv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLuint ) void ;
const glClearBufferiv = fn ( _buffer : GLenum , _drawbuffer : GLint , _value : [ * c ] const GLint ) void ;
const glClearBufferuiv = fn ( _buffer : GLenum , _drawbuffer : GLint , _value : [ * c ] const GLuint ) void ;
const glClearBufferfv = fn ( _buffer : GLenum , _drawbuffer : GLint , _value : [ * c ] const GLfloat ) void ;
const glClearBufferfi = fn ( _buffer : GLenum , _drawbuffer : GLint , _depth : GLfloat , _stencil : GLint ) void ;
const glGetStringi = fn ( _name : GLenum , _index : GLuint ) ? [ * : 0 ] const GLubyte ;
const glIsRenderbuffer = fn ( _renderbuffer : GLuint ) GLboolean ;
const glBindRenderbuffer = fn ( _target : GLenum , _renderbuffer : GLuint ) void ;
const glDeleteRenderbuffers = fn ( _n : GLsizei , _renderbuffers : [ * c ] const GLuint ) void ;
const glGenRenderbuffers = fn ( _n : GLsizei , _renderbuffers : [ * c ] GLuint ) void ;
const glRenderbufferStorage = fn ( _target : GLenum , _internalformat : GLenum , _width : GLsizei , _height : GLsizei ) void ;
const glGetRenderbufferParameteriv = fn ( _target : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glIsFramebuffer = fn ( _framebuffer : GLuint ) GLboolean ;
const glBindFramebuffer = fn ( _target : GLenum , _framebuffer : GLuint ) void ;
const glDeleteFramebuffers = fn ( _n : GLsizei , _framebuffers : [ * c ] const GLuint ) void ;
const glGenFramebuffers = fn ( _n : GLsizei , _framebuffers : [ * c ] GLuint ) void ;
const glCheckFramebufferStatus = fn ( _target : GLenum ) GLenum ;
const glFramebufferTexture1D = fn ( _target : GLenum , _attachment : GLenum , _textarget : GLenum , _texture : GLuint , _level : GLint ) void ;
const glFramebufferTexture2D = fn ( _target : GLenum , _attachment : GLenum , _textarget : GLenum , _texture : GLuint , _level : GLint ) void ;
const glFramebufferTexture3D = fn ( _target : GLenum , _attachment : GLenum , _textarget : GLenum , _texture : GLuint , _level : GLint , _zoffset : GLint ) void ;
const glFramebufferRenderbuffer = fn ( _target : GLenum , _attachment : GLenum , _renderbuffertarget : GLenum , _renderbuffer : GLuint ) void ;
const glGetFramebufferAttachmentParameteriv = fn ( _target : GLenum , _attachment : GLenum , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGenerateMipmap = fn ( _target : GLenum ) void ;
const glBlitFramebuffer = fn ( _srcX0 : GLint , _srcY0 : GLint , _srcX1 : GLint , _srcY1 : GLint , _dstX0 : GLint , _dstY0 : GLint , _dstX1 : GLint , _dstY1 : GLint , _mask : GLbitfield , _filter : GLenum ) void ;
const glRenderbufferStorageMultisample = fn ( _target : GLenum , _samples : GLsizei , _internalformat : GLenum , _width : GLsizei , _height : GLsizei ) void ;
const glFramebufferTextureLayer = fn ( _target : GLenum , _attachment : GLenum , _texture : GLuint , _level : GLint , _layer : GLint ) void ;
const glMapBufferRange = fn ( _target : GLenum , _offset : GLintptr , _length : GLsizeiptr , _access : GLbitfield ) ? * anyopaque ;
const glFlushMappedBufferRange = fn ( _target : GLenum , _offset : GLintptr , _length : GLsizeiptr ) void ;
const glBindVertexArray = fn ( _array : GLuint ) void ;
const glDeleteVertexArrays = fn ( _n : GLsizei , _arrays : [ * c ] const GLuint ) void ;
const glGenVertexArrays = fn ( _n : GLsizei , _arrays : [ * c ] GLuint ) void ;
const glIsVertexArray = fn ( _array : GLuint ) GLboolean ;
const glDrawArraysInstanced = fn ( _mode : GLenum , _first : GLint , _count : GLsizei , _instancecount : GLsizei ) void ;
const glDrawElementsInstanced = fn ( _mode : GLenum , _count : GLsizei , _type : GLenum , _indices : ? * const anyopaque , _instancecount : GLsizei ) void ;
const glTexBuffer = fn ( _target : GLenum , _internalformat : GLenum , _buffer : GLuint ) void ;
const glPrimitiveRestartIndex = fn ( _index : GLuint ) void ;
const glCopyBufferSubData = fn ( _readTarget : GLenum , _writeTarget : GLenum , _readOffset : GLintptr , _writeOffset : GLintptr , _size : GLsizeiptr ) void ;
const glGetUniformIndices = fn ( _program : GLuint , _uniformCount : GLsizei , _uniformNames : [ * c ] const [ * c ] const GLchar , _uniformIndices : [ * c ] GLuint ) void ;
const glGetActiveUniformsiv = fn ( _program : GLuint , _uniformCount : GLsizei , _uniformIndices : [ * c ] const GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetActiveUniformName = fn ( _program : GLuint , _uniformIndex : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _uniformName : [ * c ] GLchar ) void ;
const glGetUniformBlockIndex = fn ( _program : GLuint , _uniformBlockName : [ * c ] const GLchar ) GLuint ;
const glGetActiveUniformBlockiv = fn ( _program : GLuint , _uniformBlockIndex : GLuint , _pname : GLenum , _params : [ * c ] GLint ) void ;
const glGetActiveUniformBlockName = fn ( _program : GLuint , _uniformBlockIndex : GLuint , _bufSize : GLsizei , _length : [ * c ] GLsizei , _uniformBlockName : [ * c ] GLchar ) void ;
const glUniformBlockBinding = fn ( _program : GLuint , _uniformBlockIndex : GLuint , _uniformBlockBinding : GLuint ) void ;
} ;
const function_pointers = struct {
var glCullFace : ? FnPtr ( function_signatures . glCullFace ) = null ;
var glFrontFace : ? FnPtr ( function_signatures . glFrontFace ) = null ;
var glHint : ? FnPtr ( function_signatures . glHint ) = null ;
var glLineWidth : ? FnPtr ( function_signatures . glLineWidth ) = null ;
var glPointSize : ? FnPtr ( function_signatures . glPointSize ) = null ;
var glPolygonMode : ? FnPtr ( function_signatures . glPolygonMode ) = null ;
var glScissor : ? FnPtr ( function_signatures . glScissor ) = null ;
var glTexParameterf : ? FnPtr ( function_signatures . glTexParameterf ) = null ;
var glTexParameterfv : ? FnPtr ( function_signatures . glTexParameterfv ) = null ;
var glTexParameteri : ? FnPtr ( function_signatures . glTexParameteri ) = null ;
var glTexParameteriv : ? FnPtr ( function_signatures . glTexParameteriv ) = null ;
var glTexImage1D : ? FnPtr ( function_signatures . glTexImage1D ) = null ;
var glTexImage2D : ? FnPtr ( function_signatures . glTexImage2D ) = null ;
var glDrawBuffer : ? FnPtr ( function_signatures . glDrawBuffer ) = null ;
var glClear : ? FnPtr ( function_signatures . glClear ) = null ;
var glClearColor : ? FnPtr ( function_signatures . glClearColor ) = null ;
var glClearStencil : ? FnPtr ( function_signatures . glClearStencil ) = null ;
var glClearDepth : ? FnPtr ( function_signatures . glClearDepth ) = null ;
var glStencilMask : ? FnPtr ( function_signatures . glStencilMask ) = null ;
var glColorMask : ? FnPtr ( function_signatures . glColorMask ) = null ;
var glDepthMask : ? FnPtr ( function_signatures . glDepthMask ) = null ;
var glDisable : ? FnPtr ( function_signatures . glDisable ) = null ;
var glEnable : ? FnPtr ( function_signatures . glEnable ) = null ;
var glFinish : ? FnPtr ( function_signatures . glFinish ) = null ;
var glFlush : ? FnPtr ( function_signatures . glFlush ) = null ;
var glBlendFunc : ? FnPtr ( function_signatures . glBlendFunc ) = null ;
var glLogicOp : ? FnPtr ( function_signatures . glLogicOp ) = null ;
var glStencilFunc : ? FnPtr ( function_signatures . glStencilFunc ) = null ;
var glStencilOp : ? FnPtr ( function_signatures . glStencilOp ) = null ;
var glDepthFunc : ? FnPtr ( function_signatures . glDepthFunc ) = null ;
var glPixelStoref : ? FnPtr ( function_signatures . glPixelStoref ) = null ;
var glPixelStorei : ? FnPtr ( function_signatures . glPixelStorei ) = null ;
var glReadBuffer : ? FnPtr ( function_signatures . glReadBuffer ) = null ;
var glReadPixels : ? FnPtr ( function_signatures . glReadPixels ) = null ;
var glGetBooleanv : ? FnPtr ( function_signatures . glGetBooleanv ) = null ;
var glGetDoublev : ? FnPtr ( function_signatures . glGetDoublev ) = null ;
var glGetError : ? FnPtr ( function_signatures . glGetError ) = null ;
var glGetFloatv : ? FnPtr ( function_signatures . glGetFloatv ) = null ;
var glGetIntegerv : ? FnPtr ( function_signatures . glGetIntegerv ) = null ;
var glGetString : ? FnPtr ( function_signatures . glGetString ) = null ;
var glGetTexImage : ? FnPtr ( function_signatures . glGetTexImage ) = null ;
var glGetTexParameterfv : ? FnPtr ( function_signatures . glGetTexParameterfv ) = null ;
var glGetTexParameteriv : ? FnPtr ( function_signatures . glGetTexParameteriv ) = null ;
var glGetTexLevelParameterfv : ? FnPtr ( function_signatures . glGetTexLevelParameterfv ) = null ;
var glGetTexLevelParameteriv : ? FnPtr ( function_signatures . glGetTexLevelParameteriv ) = null ;
var glIsEnabled : ? FnPtr ( function_signatures . glIsEnabled ) = null ;
var glDepthRange : ? FnPtr ( function_signatures . glDepthRange ) = null ;
var glViewport : ? FnPtr ( function_signatures . glViewport ) = null ;
var glDrawArrays : ? FnPtr ( function_signatures . glDrawArrays ) = null ;
var glDrawElements : ? FnPtr ( function_signatures . glDrawElements ) = null ;
var glPolygonOffset : ? FnPtr ( function_signatures . glPolygonOffset ) = null ;
var glCopyTexImage1D : ? FnPtr ( function_signatures . glCopyTexImage1D ) = null ;
var glCopyTexImage2D : ? FnPtr ( function_signatures . glCopyTexImage2D ) = null ;
var glCopyTexSubImage1D : ? FnPtr ( function_signatures . glCopyTexSubImage1D ) = null ;
var glCopyTexSubImage2D : ? FnPtr ( function_signatures . glCopyTexSubImage2D ) = null ;
var glTexSubImage1D : ? FnPtr ( function_signatures . glTexSubImage1D ) = null ;
var glTexSubImage2D : ? FnPtr ( function_signatures . glTexSubImage2D ) = null ;
var glBindTexture : ? FnPtr ( function_signatures . glBindTexture ) = null ;
var glDeleteTextures : ? FnPtr ( function_signatures . glDeleteTextures ) = null ;
var glGenTextures : ? FnPtr ( function_signatures . glGenTextures ) = null ;
var glIsTexture : ? FnPtr ( function_signatures . glIsTexture ) = null ;
var glDrawRangeElements : ? FnPtr ( function_signatures . glDrawRangeElements ) = null ;
var glTexImage3D : ? FnPtr ( function_signatures . glTexImage3D ) = null ;
var glTexSubImage3D : ? FnPtr ( function_signatures . glTexSubImage3D ) = null ;
var glCopyTexSubImage3D : ? FnPtr ( function_signatures . glCopyTexSubImage3D ) = null ;
var glActiveTexture : ? FnPtr ( function_signatures . glActiveTexture ) = null ;
var glSampleCoverage : ? FnPtr ( function_signatures . glSampleCoverage ) = null ;
var glCompressedTexImage3D : ? FnPtr ( function_signatures . glCompressedTexImage3D ) = null ;
var glCompressedTexImage2D : ? FnPtr ( function_signatures . glCompressedTexImage2D ) = null ;
var glCompressedTexImage1D : ? FnPtr ( function_signatures . glCompressedTexImage1D ) = null ;
var glCompressedTexSubImage3D : ? FnPtr ( function_signatures . glCompressedTexSubImage3D ) = null ;
var glCompressedTexSubImage2D : ? FnPtr ( function_signatures . glCompressedTexSubImage2D ) = null ;
var glCompressedTexSubImage1D : ? FnPtr ( function_signatures . glCompressedTexSubImage1D ) = null ;
var glGetCompressedTexImage : ? FnPtr ( function_signatures . glGetCompressedTexImage ) = null ;
var glVertexAttribP4uiv : ? FnPtr ( function_signatures . glVertexAttribP4uiv ) = null ;
var glVertexAttribP4ui : ? FnPtr ( function_signatures . glVertexAttribP4ui ) = null ;
var glVertexAttribP3uiv : ? FnPtr ( function_signatures . glVertexAttribP3uiv ) = null ;
var glVertexAttribP3ui : ? FnPtr ( function_signatures . glVertexAttribP3ui ) = null ;
var glVertexAttribP2uiv : ? FnPtr ( function_signatures . glVertexAttribP2uiv ) = null ;
var glVertexAttribP2ui : ? FnPtr ( function_signatures . glVertexAttribP2ui ) = null ;
var glVertexAttribP1uiv : ? FnPtr ( function_signatures . glVertexAttribP1uiv ) = null ;
var glVertexAttribP1ui : ? FnPtr ( function_signatures . glVertexAttribP1ui ) = null ;
var glVertexAttribDivisor : ? FnPtr ( function_signatures . glVertexAttribDivisor ) = null ;
var glGetQueryObjectui64v : ? FnPtr ( function_signatures . glGetQueryObjectui64v ) = null ;
var glGetQueryObjecti64v : ? FnPtr ( function_signatures . glGetQueryObjecti64v ) = null ;
var glQueryCounter : ? FnPtr ( function_signatures . glQueryCounter ) = null ;
var glGetSamplerParameterIuiv : ? FnPtr ( function_signatures . glGetSamplerParameterIuiv ) = null ;
var glGetSamplerParameterfv : ? FnPtr ( function_signatures . glGetSamplerParameterfv ) = null ;
var glGetSamplerParameterIiv : ? FnPtr ( function_signatures . glGetSamplerParameterIiv ) = null ;
var glGetSamplerParameteriv : ? FnPtr ( function_signatures . glGetSamplerParameteriv ) = null ;
var glSamplerParameterIuiv : ? FnPtr ( function_signatures . glSamplerParameterIuiv ) = null ;
var glSamplerParameterIiv : ? FnPtr ( function_signatures . glSamplerParameterIiv ) = null ;
var glSamplerParameterfv : ? FnPtr ( function_signatures . glSamplerParameterfv ) = null ;
var glSamplerParameterf : ? FnPtr ( function_signatures . glSamplerParameterf ) = null ;
var glSamplerParameteriv : ? FnPtr ( function_signatures . glSamplerParameteriv ) = null ;
var glSamplerParameteri : ? FnPtr ( function_signatures . glSamplerParameteri ) = null ;
var glBindSampler : ? FnPtr ( function_signatures . glBindSampler ) = null ;
var glIsSampler : ? FnPtr ( function_signatures . glIsSampler ) = null ;
var glDeleteSamplers : ? FnPtr ( function_signatures . glDeleteSamplers ) = null ;
var glGenSamplers : ? FnPtr ( function_signatures . glGenSamplers ) = null ;
var glGetFragDataIndex : ? FnPtr ( function_signatures . glGetFragDataIndex ) = null ;
var glBindFragDataLocationIndexed : ? FnPtr ( function_signatures . glBindFragDataLocationIndexed ) = null ;
var glSampleMaski : ? FnPtr ( function_signatures . glSampleMaski ) = null ;
var glGetMultisamplefv : ? FnPtr ( function_signatures . glGetMultisamplefv ) = null ;
var glTexImage3DMultisample : ? FnPtr ( function_signatures . glTexImage3DMultisample ) = null ;
var glTexImage2DMultisample : ? FnPtr ( function_signatures . glTexImage2DMultisample ) = null ;
var glFramebufferTexture : ? FnPtr ( function_signatures . glFramebufferTexture ) = null ;
var glGetBufferParameteri64v : ? FnPtr ( function_signatures . glGetBufferParameteri64v ) = null ;
var glBlendFuncSeparate : ? FnPtr ( function_signatures . glBlendFuncSeparate ) = null ;
var glMultiDrawArrays : ? FnPtr ( function_signatures . glMultiDrawArrays ) = null ;
var glMultiDrawElements : ? FnPtr ( function_signatures . glMultiDrawElements ) = null ;
var glPointParameterf : ? FnPtr ( function_signatures . glPointParameterf ) = null ;
var glPointParameterfv : ? FnPtr ( function_signatures . glPointParameterfv ) = null ;
var glPointParameteri : ? FnPtr ( function_signatures . glPointParameteri ) = null ;
var glPointParameteriv : ? FnPtr ( function_signatures . glPointParameteriv ) = null ;
var glGetInteger64i_v : ? FnPtr ( function_signatures . glGetInteger64i_v ) = null ;
var glGetSynciv : ? FnPtr ( function_signatures . glGetSynciv ) = null ;
var glGetInteger64v : ? FnPtr ( function_signatures . glGetInteger64v ) = null ;
var glWaitSync : ? FnPtr ( function_signatures . glWaitSync ) = null ;
var glClientWaitSync : ? FnPtr ( function_signatures . glClientWaitSync ) = null ;
var glDeleteSync : ? FnPtr ( function_signatures . glDeleteSync ) = null ;
var glIsSync : ? FnPtr ( function_signatures . glIsSync ) = null ;
var glFenceSync : ? FnPtr ( function_signatures . glFenceSync ) = null ;
var glBlendColor : ? FnPtr ( function_signatures . glBlendColor ) = null ;
var glBlendEquation : ? FnPtr ( function_signatures . glBlendEquation ) = null ;
var glProvokingVertex : ? FnPtr ( function_signatures . glProvokingVertex ) = null ;
var glMultiDrawElementsBaseVertex : ? FnPtr ( function_signatures . glMultiDrawElementsBaseVertex ) = null ;
var glDrawElementsInstancedBaseVertex : ? FnPtr ( function_signatures . glDrawElementsInstancedBaseVertex ) = null ;
var glDrawRangeElementsBaseVertex : ? FnPtr ( function_signatures . glDrawRangeElementsBaseVertex ) = null ;
var glDrawElementsBaseVertex : ? FnPtr ( function_signatures . glDrawElementsBaseVertex ) = null ;
var glGenQueries : ? FnPtr ( function_signatures . glGenQueries ) = null ;
var glDeleteQueries : ? FnPtr ( function_signatures . glDeleteQueries ) = null ;
var glIsQuery : ? FnPtr ( function_signatures . glIsQuery ) = null ;
var glBeginQuery : ? FnPtr ( function_signatures . glBeginQuery ) = null ;
var glEndQuery : ? FnPtr ( function_signatures . glEndQuery ) = null ;
var glGetQueryiv : ? FnPtr ( function_signatures . glGetQueryiv ) = null ;
var glGetQueryObjectiv : ? FnPtr ( function_signatures . glGetQueryObjectiv ) = null ;
var glGetQueryObjectuiv : ? FnPtr ( function_signatures . glGetQueryObjectuiv ) = null ;
var glBindBuffer : ? FnPtr ( function_signatures . glBindBuffer ) = null ;
var glDeleteBuffers : ? FnPtr ( function_signatures . glDeleteBuffers ) = null ;
var glGenBuffers : ? FnPtr ( function_signatures . glGenBuffers ) = null ;
var glIsBuffer : ? FnPtr ( function_signatures . glIsBuffer ) = null ;
var glBufferData : ? FnPtr ( function_signatures . glBufferData ) = null ;
var glBufferSubData : ? FnPtr ( function_signatures . glBufferSubData ) = null ;
var glGetBufferSubData : ? FnPtr ( function_signatures . glGetBufferSubData ) = null ;
var glMapBuffer : ? FnPtr ( function_signatures . glMapBuffer ) = null ;
var glUnmapBuffer : ? FnPtr ( function_signatures . glUnmapBuffer ) = null ;
var glGetBufferParameteriv : ? FnPtr ( function_signatures . glGetBufferParameteriv ) = null ;
var glGetBufferPointerv : ? FnPtr ( function_signatures . glGetBufferPointerv ) = null ;
var glBlendEquationSeparate : ? FnPtr ( function_signatures . glBlendEquationSeparate ) = null ;
var glDrawBuffers : ? FnPtr ( function_signatures . glDrawBuffers ) = null ;
var glStencilOpSeparate : ? FnPtr ( function_signatures . glStencilOpSeparate ) = null ;
var glStencilFuncSeparate : ? FnPtr ( function_signatures . glStencilFuncSeparate ) = null ;
var glStencilMaskSeparate : ? FnPtr ( function_signatures . glStencilMaskSeparate ) = null ;
var glAttachShader : ? FnPtr ( function_signatures . glAttachShader ) = null ;
var glBindAttribLocation : ? FnPtr ( function_signatures . glBindAttribLocation ) = null ;
var glCompileShader : ? FnPtr ( function_signatures . glCompileShader ) = null ;
var glCreateProgram : ? FnPtr ( function_signatures . glCreateProgram ) = null ;
var glCreateShader : ? FnPtr ( function_signatures . glCreateShader ) = null ;
var glDeleteProgram : ? FnPtr ( function_signatures . glDeleteProgram ) = null ;
var glDeleteShader : ? FnPtr ( function_signatures . glDeleteShader ) = null ;
var glDetachShader : ? FnPtr ( function_signatures . glDetachShader ) = null ;
var glDisableVertexAttribArray : ? FnPtr ( function_signatures . glDisableVertexAttribArray ) = null ;
var glEnableVertexAttribArray : ? FnPtr ( function_signatures . glEnableVertexAttribArray ) = null ;
var glGetActiveAttrib : ? FnPtr ( function_signatures . glGetActiveAttrib ) = null ;
var glGetActiveUniform : ? FnPtr ( function_signatures . glGetActiveUniform ) = null ;
var glGetAttachedShaders : ? FnPtr ( function_signatures . glGetAttachedShaders ) = null ;
var glGetAttribLocation : ? FnPtr ( function_signatures . glGetAttribLocation ) = null ;
var glGetProgramiv : ? FnPtr ( function_signatures . glGetProgramiv ) = null ;
var glGetProgramInfoLog : ? FnPtr ( function_signatures . glGetProgramInfoLog ) = null ;
var glGetShaderiv : ? FnPtr ( function_signatures . glGetShaderiv ) = null ;
var glGetShaderInfoLog : ? FnPtr ( function_signatures . glGetShaderInfoLog ) = null ;
var glGetShaderSource : ? FnPtr ( function_signatures . glGetShaderSource ) = null ;
var glGetUniformLocation : ? FnPtr ( function_signatures . glGetUniformLocation ) = null ;
var glGetUniformfv : ? FnPtr ( function_signatures . glGetUniformfv ) = null ;
var glGetUniformiv : ? FnPtr ( function_signatures . glGetUniformiv ) = null ;
var glGetVertexAttribdv : ? FnPtr ( function_signatures . glGetVertexAttribdv ) = null ;
var glGetVertexAttribfv : ? FnPtr ( function_signatures . glGetVertexAttribfv ) = null ;
var glGetVertexAttribiv : ? FnPtr ( function_signatures . glGetVertexAttribiv ) = null ;
var glGetVertexAttribPointerv : ? FnPtr ( function_signatures . glGetVertexAttribPointerv ) = null ;
var glIsProgram : ? FnPtr ( function_signatures . glIsProgram ) = null ;
var glIsShader : ? FnPtr ( function_signatures . glIsShader ) = null ;
var glLinkProgram : ? FnPtr ( function_signatures . glLinkProgram ) = null ;
var glShaderSource : ? FnPtr ( function_signatures . glShaderSource ) = null ;
var glUseProgram : ? FnPtr ( function_signatures . glUseProgram ) = null ;
var glUniform1f : ? FnPtr ( function_signatures . glUniform1f ) = null ;
var glUniform2f : ? FnPtr ( function_signatures . glUniform2f ) = null ;
var glUniform3f : ? FnPtr ( function_signatures . glUniform3f ) = null ;
var glUniform4f : ? FnPtr ( function_signatures . glUniform4f ) = null ;
var glUniform1i : ? FnPtr ( function_signatures . glUniform1i ) = null ;
var glUniform2i : ? FnPtr ( function_signatures . glUniform2i ) = null ;
var glUniform3i : ? FnPtr ( function_signatures . glUniform3i ) = null ;
var glUniform4i : ? FnPtr ( function_signatures . glUniform4i ) = null ;
var glUniform1fv : ? FnPtr ( function_signatures . glUniform1fv ) = null ;
var glUniform2fv : ? FnPtr ( function_signatures . glUniform2fv ) = null ;
var glUniform3fv : ? FnPtr ( function_signatures . glUniform3fv ) = null ;
var glUniform4fv : ? FnPtr ( function_signatures . glUniform4fv ) = null ;
var glUniform1iv : ? FnPtr ( function_signatures . glUniform1iv ) = null ;
var glUniform2iv : ? FnPtr ( function_signatures . glUniform2iv ) = null ;
var glUniform3iv : ? FnPtr ( function_signatures . glUniform3iv ) = null ;
var glUniform4iv : ? FnPtr ( function_signatures . glUniform4iv ) = null ;
var glUniformMatrix2fv : ? FnPtr ( function_signatures . glUniformMatrix2fv ) = null ;
var glUniformMatrix3fv : ? FnPtr ( function_signatures . glUniformMatrix3fv ) = null ;
var glUniformMatrix4fv : ? FnPtr ( function_signatures . glUniformMatrix4fv ) = null ;
var glValidateProgram : ? FnPtr ( function_signatures . glValidateProgram ) = null ;
var glVertexAttrib1d : ? FnPtr ( function_signatures . glVertexAttrib1d ) = null ;
var glVertexAttrib1dv : ? FnPtr ( function_signatures . glVertexAttrib1dv ) = null ;
var glVertexAttrib1f : ? FnPtr ( function_signatures . glVertexAttrib1f ) = null ;
var glVertexAttrib1fv : ? FnPtr ( function_signatures . glVertexAttrib1fv ) = null ;
var glVertexAttrib1s : ? FnPtr ( function_signatures . glVertexAttrib1s ) = null ;
var glVertexAttrib1sv : ? FnPtr ( function_signatures . glVertexAttrib1sv ) = null ;
var glVertexAttrib2d : ? FnPtr ( function_signatures . glVertexAttrib2d ) = null ;
var glVertexAttrib2dv : ? FnPtr ( function_signatures . glVertexAttrib2dv ) = null ;
var glVertexAttrib2f : ? FnPtr ( function_signatures . glVertexAttrib2f ) = null ;
var glVertexAttrib2fv : ? FnPtr ( function_signatures . glVertexAttrib2fv ) = null ;
var glVertexAttrib2s : ? FnPtr ( function_signatures . glVertexAttrib2s ) = null ;
var glVertexAttrib2sv : ? FnPtr ( function_signatures . glVertexAttrib2sv ) = null ;
var glVertexAttrib3d : ? FnPtr ( function_signatures . glVertexAttrib3d ) = null ;
var glVertexAttrib3dv : ? FnPtr ( function_signatures . glVertexAttrib3dv ) = null ;
var glVertexAttrib3f : ? FnPtr ( function_signatures . glVertexAttrib3f ) = null ;
var glVertexAttrib3fv : ? FnPtr ( function_signatures . glVertexAttrib3fv ) = null ;
var glVertexAttrib3s : ? FnPtr ( function_signatures . glVertexAttrib3s ) = null ;
var glVertexAttrib3sv : ? FnPtr ( function_signatures . glVertexAttrib3sv ) = null ;
var glVertexAttrib4Nbv : ? FnPtr ( function_signatures . glVertexAttrib4Nbv ) = null ;
var glVertexAttrib4Niv : ? FnPtr ( function_signatures . glVertexAttrib4Niv ) = null ;
var glVertexAttrib4Nsv : ? FnPtr ( function_signatures . glVertexAttrib4Nsv ) = null ;
var glVertexAttrib4Nub : ? FnPtr ( function_signatures . glVertexAttrib4Nub ) = null ;
var glVertexAttrib4Nubv : ? FnPtr ( function_signatures . glVertexAttrib4Nubv ) = null ;
var glVertexAttrib4Nuiv : ? FnPtr ( function_signatures . glVertexAttrib4Nuiv ) = null ;
var glVertexAttrib4Nusv : ? FnPtr ( function_signatures . glVertexAttrib4Nusv ) = null ;
var glVertexAttrib4bv : ? FnPtr ( function_signatures . glVertexAttrib4bv ) = null ;
var glVertexAttrib4d : ? FnPtr ( function_signatures . glVertexAttrib4d ) = null ;
var glVertexAttrib4dv : ? FnPtr ( function_signatures . glVertexAttrib4dv ) = null ;
var glVertexAttrib4f : ? FnPtr ( function_signatures . glVertexAttrib4f ) = null ;
var glVertexAttrib4fv : ? FnPtr ( function_signatures . glVertexAttrib4fv ) = null ;
var glVertexAttrib4iv : ? FnPtr ( function_signatures . glVertexAttrib4iv ) = null ;
var glVertexAttrib4s : ? FnPtr ( function_signatures . glVertexAttrib4s ) = null ;
var glVertexAttrib4sv : ? FnPtr ( function_signatures . glVertexAttrib4sv ) = null ;
var glVertexAttrib4ubv : ? FnPtr ( function_signatures . glVertexAttrib4ubv ) = null ;
var glVertexAttrib4uiv : ? FnPtr ( function_signatures . glVertexAttrib4uiv ) = null ;
var glVertexAttrib4usv : ? FnPtr ( function_signatures . glVertexAttrib4usv ) = null ;
var glVertexAttribPointer : ? FnPtr ( function_signatures . glVertexAttribPointer ) = null ;
var glUniformMatrix2x3fv : ? FnPtr ( function_signatures . glUniformMatrix2x3fv ) = null ;
var glUniformMatrix3x2fv : ? FnPtr ( function_signatures . glUniformMatrix3x2fv ) = null ;
var glUniformMatrix2x4fv : ? FnPtr ( function_signatures . glUniformMatrix2x4fv ) = null ;
var glUniformMatrix4x2fv : ? FnPtr ( function_signatures . glUniformMatrix4x2fv ) = null ;
var glUniformMatrix3x4fv : ? FnPtr ( function_signatures . glUniformMatrix3x4fv ) = null ;
var glUniformMatrix4x3fv : ? FnPtr ( function_signatures . glUniformMatrix4x3fv ) = null ;
var glColorMaski : ? FnPtr ( function_signatures . glColorMaski ) = null ;
var glGetBooleani_v : ? FnPtr ( function_signatures . glGetBooleani_v ) = null ;
var glGetIntegeri_v : ? FnPtr ( function_signatures . glGetIntegeri_v ) = null ;
var glEnablei : ? FnPtr ( function_signatures . glEnablei ) = null ;
var glDisablei : ? FnPtr ( function_signatures . glDisablei ) = null ;
var glIsEnabledi : ? FnPtr ( function_signatures . glIsEnabledi ) = null ;
var glBeginTransformFeedback : ? FnPtr ( function_signatures . glBeginTransformFeedback ) = null ;
var glEndTransformFeedback : ? FnPtr ( function_signatures . glEndTransformFeedback ) = null ;
var glBindBufferRange : ? FnPtr ( function_signatures . glBindBufferRange ) = null ;
var glBindBufferBase : ? FnPtr ( function_signatures . glBindBufferBase ) = null ;
var glTransformFeedbackVaryings : ? FnPtr ( function_signatures . glTransformFeedbackVaryings ) = null ;
var glGetTransformFeedbackVarying : ? FnPtr ( function_signatures . glGetTransformFeedbackVarying ) = null ;
var glClampColor : ? FnPtr ( function_signatures . glClampColor ) = null ;
var glBeginConditionalRender : ? FnPtr ( function_signatures . glBeginConditionalRender ) = null ;
var glEndConditionalRender : ? FnPtr ( function_signatures . glEndConditionalRender ) = null ;
var glVertexAttribIPointer : ? FnPtr ( function_signatures . glVertexAttribIPointer ) = null ;
var glGetVertexAttribIiv : ? FnPtr ( function_signatures . glGetVertexAttribIiv ) = null ;
var glGetVertexAttribIuiv : ? FnPtr ( function_signatures . glGetVertexAttribIuiv ) = null ;
var glVertexAttribI1i : ? FnPtr ( function_signatures . glVertexAttribI1i ) = null ;
var glVertexAttribI2i : ? FnPtr ( function_signatures . glVertexAttribI2i ) = null ;
var glVertexAttribI3i : ? FnPtr ( function_signatures . glVertexAttribI3i ) = null ;
var glVertexAttribI4i : ? FnPtr ( function_signatures . glVertexAttribI4i ) = null ;
var glVertexAttribI1ui : ? FnPtr ( function_signatures . glVertexAttribI1ui ) = null ;
var glVertexAttribI2ui : ? FnPtr ( function_signatures . glVertexAttribI2ui ) = null ;
var glVertexAttribI3ui : ? FnPtr ( function_signatures . glVertexAttribI3ui ) = null ;
var glVertexAttribI4ui : ? FnPtr ( function_signatures . glVertexAttribI4ui ) = null ;
var glVertexAttribI1iv : ? FnPtr ( function_signatures . glVertexAttribI1iv ) = null ;
var glVertexAttribI2iv : ? FnPtr ( function_signatures . glVertexAttribI2iv ) = null ;
var glVertexAttribI3iv : ? FnPtr ( function_signatures . glVertexAttribI3iv ) = null ;
var glVertexAttribI4iv : ? FnPtr ( function_signatures . glVertexAttribI4iv ) = null ;
var glVertexAttribI1uiv : ? FnPtr ( function_signatures . glVertexAttribI1uiv ) = null ;
var glVertexAttribI2uiv : ? FnPtr ( function_signatures . glVertexAttribI2uiv ) = null ;
var glVertexAttribI3uiv : ? FnPtr ( function_signatures . glVertexAttribI3uiv ) = null ;
var glVertexAttribI4uiv : ? FnPtr ( function_signatures . glVertexAttribI4uiv ) = null ;
var glVertexAttribI4bv : ? FnPtr ( function_signatures . glVertexAttribI4bv ) = null ;
var glVertexAttribI4sv : ? FnPtr ( function_signatures . glVertexAttribI4sv ) = null ;
var glVertexAttribI4ubv : ? FnPtr ( function_signatures . glVertexAttribI4ubv ) = null ;
var glVertexAttribI4usv : ? FnPtr ( function_signatures . glVertexAttribI4usv ) = null ;
var glGetUniformuiv : ? FnPtr ( function_signatures . glGetUniformuiv ) = null ;
var glBindFragDataLocation : ? FnPtr ( function_signatures . glBindFragDataLocation ) = null ;
var glGetFragDataLocation : ? FnPtr ( function_signatures . glGetFragDataLocation ) = null ;
var glUniform1ui : ? FnPtr ( function_signatures . glUniform1ui ) = null ;
var glUniform2ui : ? FnPtr ( function_signatures . glUniform2ui ) = null ;
var glUniform3ui : ? FnPtr ( function_signatures . glUniform3ui ) = null ;
var glUniform4ui : ? FnPtr ( function_signatures . glUniform4ui ) = null ;
var glUniform1uiv : ? FnPtr ( function_signatures . glUniform1uiv ) = null ;
var glUniform2uiv : ? FnPtr ( function_signatures . glUniform2uiv ) = null ;
var glUniform3uiv : ? FnPtr ( function_signatures . glUniform3uiv ) = null ;
var glUniform4uiv : ? FnPtr ( function_signatures . glUniform4uiv ) = null ;
var glTexParameterIiv : ? FnPtr ( function_signatures . glTexParameterIiv ) = null ;
var glTexParameterIuiv : ? FnPtr ( function_signatures . glTexParameterIuiv ) = null ;
var glGetTexParameterIiv : ? FnPtr ( function_signatures . glGetTexParameterIiv ) = null ;
var glGetTexParameterIuiv : ? FnPtr ( function_signatures . glGetTexParameterIuiv ) = null ;
var glClearBufferiv : ? FnPtr ( function_signatures . glClearBufferiv ) = null ;
var glClearBufferuiv : ? FnPtr ( function_signatures . glClearBufferuiv ) = null ;
var glClearBufferfv : ? FnPtr ( function_signatures . glClearBufferfv ) = null ;
var glClearBufferfi : ? FnPtr ( function_signatures . glClearBufferfi ) = null ;
var glGetStringi : ? FnPtr ( function_signatures . glGetStringi ) = null ;
var glIsRenderbuffer : ? FnPtr ( function_signatures . glIsRenderbuffer ) = null ;
var glBindRenderbuffer : ? FnPtr ( function_signatures . glBindRenderbuffer ) = null ;
var glDeleteRenderbuffers : ? FnPtr ( function_signatures . glDeleteRenderbuffers ) = null ;
var glGenRenderbuffers : ? FnPtr ( function_signatures . glGenRenderbuffers ) = null ;
var glRenderbufferStorage : ? FnPtr ( function_signatures . glRenderbufferStorage ) = null ;
var glGetRenderbufferParameteriv : ? FnPtr ( function_signatures . glGetRenderbufferParameteriv ) = null ;
var glIsFramebuffer : ? FnPtr ( function_signatures . glIsFramebuffer ) = null ;
var glBindFramebuffer : ? FnPtr ( function_signatures . glBindFramebuffer ) = null ;
var glDeleteFramebuffers : ? FnPtr ( function_signatures . glDeleteFramebuffers ) = null ;
var glGenFramebuffers : ? FnPtr ( function_signatures . glGenFramebuffers ) = null ;
var glCheckFramebufferStatus : ? FnPtr ( function_signatures . glCheckFramebufferStatus ) = null ;
var glFramebufferTexture1D : ? FnPtr ( function_signatures . glFramebufferTexture1D ) = null ;
var glFramebufferTexture2D : ? FnPtr ( function_signatures . glFramebufferTexture2D ) = null ;
var glFramebufferTexture3D : ? FnPtr ( function_signatures . glFramebufferTexture3D ) = null ;
var glFramebufferRenderbuffer : ? FnPtr ( function_signatures . glFramebufferRenderbuffer ) = null ;
var glGetFramebufferAttachmentParameteriv : ? FnPtr ( function_signatures . glGetFramebufferAttachmentParameteriv ) = null ;
var glGenerateMipmap : ? FnPtr ( function_signatures . glGenerateMipmap ) = null ;
var glBlitFramebuffer : ? FnPtr ( function_signatures . glBlitFramebuffer ) = null ;
var glRenderbufferStorageMultisample : ? FnPtr ( function_signatures . glRenderbufferStorageMultisample ) = null ;
var glFramebufferTextureLayer : ? FnPtr ( function_signatures . glFramebufferTextureLayer ) = null ;
var glMapBufferRange : ? FnPtr ( function_signatures . glMapBufferRange ) = null ;
var glFlushMappedBufferRange : ? FnPtr ( function_signatures . glFlushMappedBufferRange ) = null ;
var glBindVertexArray : ? FnPtr ( function_signatures . glBindVertexArray ) = null ;
var glDeleteVertexArrays : ? FnPtr ( function_signatures . glDeleteVertexArrays ) = null ;
var glGenVertexArrays : ? FnPtr ( function_signatures . glGenVertexArrays ) = null ;
var glIsVertexArray : ? FnPtr ( function_signatures . glIsVertexArray ) = null ;
var glDrawArraysInstanced : ? FnPtr ( function_signatures . glDrawArraysInstanced ) = null ;
var glDrawElementsInstanced : ? FnPtr ( function_signatures . glDrawElementsInstanced ) = null ;
var glTexBuffer : ? FnPtr ( function_signatures . glTexBuffer ) = null ;
var glPrimitiveRestartIndex : ? FnPtr ( function_signatures . glPrimitiveRestartIndex ) = null ;
var glCopyBufferSubData : ? FnPtr ( function_signatures . glCopyBufferSubData ) = null ;
var glGetUniformIndices : ? FnPtr ( function_signatures . glGetUniformIndices ) = null ;
var glGetActiveUniformsiv : ? FnPtr ( function_signatures . glGetActiveUniformsiv ) = null ;
var glGetActiveUniformName : ? FnPtr ( function_signatures . glGetActiveUniformName ) = null ;
var glGetUniformBlockIndex : ? FnPtr ( function_signatures . glGetUniformBlockIndex ) = null ;
var glGetActiveUniformBlockiv : ? FnPtr ( function_signatures . glGetActiveUniformBlockiv ) = null ;
var glGetActiveUniformBlockName : ? FnPtr ( function_signatures . glGetActiveUniformBlockName ) = null ;
var glUniformBlockBinding : ? FnPtr ( function_signatures . glUniformBlockBinding ) = null ;
} ;
test {
_ = load ;
@setEvalBranchQuota ( 100_000 ) ; // Yes, this is necessary. OpenGL gets quite large!
std . testing . refAllDecls ( @This ( ) ) ;
}